VULCAN VEIL Analyst's AI workbench

Security

What runs in your browser

Your saved chats and library are encrypted by JavaScript in your browser, and PII removal and connected-service tokens are handled there too: the server keeps your vault only as ciphertext and never sees your vault passphrase or a connector's token. (Scheduled tasks are the exception: they are stored as text so they can run while you are away.) But a website's JavaScript comes from its server each time you open a page, so a changed server could send changed code. The desktop app is the stronger option: its code is fixed when you install the signed app.

To check what your browser ran, compare a script's SHA-256 with this list for the version you used, for example curl -s https://vulcanveil.com/static/chat/vault.js | sha256sum. The list changes when a new version is deployed.

Page scripts in this version

FileSHA-256Bytes
/static/chat/chat.js01928a0596bf47368334199dc8ab76d1c358bd713fda5f19d525c1495dc3704e118,462
/static/chat/files.js35b27c32f216380c779a239185b8cc981c5cc9654d4464c4dc50d72c0b562c0b15,570
/static/chat/maps.jse442ebfd47353744604271339937c6bfaae7a0c400615012ef272f1fcaef9a562,767
/static/chat/markdown.js2d162ebd2d75350a5688e8f6468a37fa6389ff5db0804ba170a2c3be4300cbc616,207
/static/chat/panels.js4c54314d4ed380f5aa69814c61c6769124c18f3123299d3be93bf6c6e0baf0fd21,772
/static/chat/python.jsde80136ffffbec995be894989881af78c73a69c276d5a687a5158502c4aaa6a03,229
/static/chat/sites.js79b5271393e4295bf73a202d9edc9d5e6965e5acfbeed42b8cbacfc708d93b086,526
/static/chat/vault.jse8225b0c1ec8c9f576cec3db1dd857c79d996841d9b7cf8dea8922c190c610d710,905
/static/library/convert.jsa3e5d1a798be0b020a079710289add12d12a2c344eecae3539f0362974f514da31,730
/static/library/core.js6437ad5407f30524e7cc434d61bae39f72cde0a4af0ccbae11bd33d71209ce4412,838
/static/library/main.jsed1c44ca1411d1d0d7a269d4bd239390deaa2bfc70b1acfc920f9630c05d90e66,792
/static/library/store.js49df1decebde23b26ab5d117fef650192c8ce4424f57bf1e97200fe9633a1a3e33,085
/static/library/view.jsdcb0a4786b350f77e2fe2c820422ba784efdb13d6c835e19a404c4ba8c99adda32,143
/static/library/viewer.js9dff19e94fb3245b43765ef75c470a5a57aefe192624a75ecc8cafbb9477a2c210,919
/static/library/zip.js8b13ccd945be070bb97fcf1c5daf122fb25cad6adc117218e6317b343849a0524,865
/static/pii/pii.js02f7e86d85a1048e88dc290ded7b6338bbca592f652500fe150754cb581bff4f28,401
/static/pii/rules.jsfe876c6221b3d704bb542393fa1380a6c529bc5f071f1dcd67f8fd349526e67d8,389
/static/pii/tokenizer.jscd2869bcb696fd66116e514f289c0ff3e3747d5de17122ad42558fb7d0ae10395,059
/static/pii/ui.jsef8b895630fe290d98db1476fc76acd329f2c1351990f3ad13f1c5b085283a692,909
/static/pii/worker.jsd5254e8bd77ad57a03479a651deadecf1914449d36b8cb3a7c560b30719f856010,592
/static/connectors/connectors.jsc1e385383e46b5dd8b4e733d39e8b33427d1968558dd00b0c406e8bc6b1159935,526
/static/connectors/github.js1162568cfeeda94b54276a45e4f23c7c3cc5ddeeaffac7ea3e7c62ad95a5df258,695
/static/connectors/panel.js7638d2f3bdecf251808cde7a6d60d931c46cc2c918c4de13afb7595d905d754910,106
/static/sandbox/frame.jsfcb0cdebdacd912f33c3cbe76ca6d4059e452272d19b304c399e136c338323b517,271
/static/sandbox/map-page.js5357e33a140ece16124d75de8e59fefc4c812e22c74cf8a7f1a8d3ed87eae7559,079
/static/sandbox/map.jscfc547f3573c12e1e50ac2e405adf0816853ee00c2ed8b506cf013fe9d0e27ea4,505
/static/tasks/tasks.jsb80f15c109db36b15563e4c8b9392e675aa084d19bc5caf90cd9e43a99c352c36,186

Third-party code and the PII model

Served from this site, never from elsewhere, at pinned versions: pdf.js 6.3.289, Pyodide 0.27.7, folium 0.20.0, onnxruntime-web 1.30.0.

The PII model is gravitee-io/bert-small-pii-detection (Apache-2.0, revision f8c27a85c51c), quantized to int8 when the site is built from the publisher's file (SHA-256 5fc1642b7400e18ee6014571dc6ae88a7bd155389334b9fa76fbc368d2c7c493). The quantized file is 6823668ae77026167efc212e3abf8d1f9bc302ae6a09a7b27a9830febaee0b62; your browser checks it against this before using it.