VaultAI Privacy Policy
Processing Location
All document summarization runs entirely on-device using Chrome's built-in Prompt API (Gemini Nano). No document content is transmitted to external servers under any circumstance. This is a foundational design constraint of the extension.
What We Store Locally
VaultAI stores the following data in your browser's local storage (chrome.storage.local). None of this data leaves your device:
| Data | Purpose | Persistence |
|---|---|---|
| Summary history (last 50 items) — sensitive fields encrypted at rest (AES-GCM) | View and revisit past summaries | Persists until cleared or extension is uninstalled |
deviceEncryptionKey |
Local device key used to encrypt/decrypt history on this device only (removed if passphrase protection is enabled) | Persists until storage is cleared (or passphrase is enabled) |
Passphrase metadata (passphraseModeEnabled, wrappedDeviceKey, keyWrapIv, passphraseSalt, keyWrapVersion) |
Optional key-wrapping credentials for passphrase protection | Persists until passphrase protection is disabled or storage is cleared |
themePreference |
Remember your light/dark theme choice | Persists until changed |
historyRetention |
Remember your history retention preference (Off / 24h / 7d / 30d / Forever) | Persists until changed |
analysisDepth |
Remember Fast/Balanced/Thorough analysis depth preference | Persists until changed |
hasSeenWelcome, hasSeenMultiUserWarning |
Track onboarding and dismissed warnings | Persists once set |
pendingText (session storage) |
Temporarily hold selected text during right-click handoff | Cleared immediately after consumption |
auditLog |
Local-only, metadata-only audit log (capped at 5,000 entries, FIFO) for compliance/debug review | Persists until cleared or extension is uninstalled |
Local-Only Audit Log
VaultAI keeps a small metadata-only audit log in chrome.storage.local under auditLog. Its purpose is to let you (or a compliance reviewer) confirm that an action happened on this device, without recording what the document said.
Each entry records only these fields:
timestamp— ISO timestamp of the eventevent— one of:summarize_start,summarize_success,summarize_cancel,summarize_timeout,summarize_error,history_clear,history_export,retention_change,history_off,history_on,pdf_load,qa_query,history_metadata_update,docx_exportdocument_length— character count of the input text (a number, never the text itself)document_type— short 2–3-word document type label produced by the on-device model (e.g. "Legal Contract")success— boolean outcome flagduration_ms— how long the operation tookresult_source—structured,chunked-structured, orlegacy-fallback(chunked-structured indicates a map-reduce run where multiple on-device segments were synthesized locally)
The qa_query event is recorded when a follow-up question is submitted against an active on-device session. It records only success, duration_ms, and (if available) document_type. The question text and the answer text are never written to the audit log.
The history_metadata_update event is recorded when you save workspace metadata (matter, tags, notes, verified flag) on a summary. It records only success and (if available) document_type. The matter value, tag values, note text, and verified state are never written to the audit log.
The docx_export event is recorded when you export a summary to a local Microsoft Word (.docx) document. It records only success and (if available) document_type. The exported summary text, key entities, notes, and metadata are never written to the audit log.
Strict Audit Log Exclusions
The audit log never contains:
- Selected text, document text, or prompt text
- Summary text
- Extracted entity values (key parties, key dates, key facts)
- Q&A question text or Q&A answer text
- Workspace matter, tag, note, or verified values
- Clipboard text
- Encrypted ciphertext contents
- The device encryption key
The audit log is capped at 5,000 entries with FIFO rotation. The "Export audit log" button writes a JSON file to your downloads folder using a local Blob URL — no network upload is involved. The audit log never leaves this device.
Encryption at Rest & Passphrase Opt-In Protection
The sensitive contents of each history entry — the summary, key parties, key dates, key facts, your private notes, and the verified flag — are encrypted on this device using the Web Crypto API (AES-GCM, 256-bit, fresh 12-byte IV per entry) before being written to chrome.storage.local.
Workspace matter/folder labels and tags are stored as plaintext local metadata to support fast filtering and search of saved summaries. They never leave the device.
By default, a device-local convenience key is generated on first use and stored locally in this Chrome profile. Anyone with physical or file-system access to this Chrome profile can read the key and decrypt your history.
To address this exposure, VaultAI provides a premium Passphrase Opt-In Encryption mode:
- Key-Wrapping Architecture: When enabled, the device key is encrypted (wrapped) using a key derived from your passphrase (using standard PBKDF2 with SHA-256, a 16-byte random salt, and 200,000 iterations).
- Plaintext Key Removal: The raw
deviceEncryptionKeyis completely and permanently deleted from local storage. - Zero-Trust Passphrase Model: Your passphrase and the derived key are never stored on disk or sent over any network. They exist only in-memory during an active side panel session.
- Auto-Lock Session Protection: When the side panel is minimized, hidden, closed, or the browser reloaded, the in-memory keys are immediately cleared and the history is re-locked. You must re-enter your passphrase to unlock your history next time.
- Recovery Warning: Because VaultAI is fully local and privacy-first, there are no cloud backups, password resets, or recovery keys. If you lose or forget your passphrase, all your saved history is permanently lost and cannot be recovered.
Export & Clipboard Boundary Warning
Passphrase protection only protects your local saved history inside this browser profile. Exported Microsoft Word (.docx) files and text copied to your clipboard are outside VaultAI's local encrypted storage once downloaded/copied. You are responsible for securing files downloaded to your disk.
Source Preview (Citation Overlay)
When you summarize a document, VaultAI keeps the cleaned source text in memory only for the currently displayed result so you can inspect highlights. The source text:
- Is held in memory for the active result only.
- Is not written to local storage, history database, audit logs, or exports.
- Is not sent over the network.
- Is cleared when you start a new summarization, click New, open another summary, or close the side panel.
A result opened from history does not carry source text in memory; clicking the source control on a history-loaded entry shows "Source location unavailable."
Local Word Export
VaultAI allows you to export generated summaries, metadata, and notes to a Microsoft Word (.docx) file. This export is generated entirely in-memory using local browser APIs and delivered as a local Blob download. No document content, summaries, or metadata are sent to external servers or uploaded during the export process.
What We Do NOT Collect
VaultAI does not collect, transmit, or store:
- Analytics or telemetry of any kind
- Crash reports or error logs to remote servers
- Personal identification information
- Browsing history or navigation data
- Keystrokes or input outside of explicit paste/selection
- Third-party SDK data (no third-party SDKs are used)
User Rights
- Clear History: The "Clear" button in the History view immediately removes all stored summary history database records.
- Uninstall: Uninstalling the extension removes all local storage data per the standard Chrome extension lifecycle.
- No Account Required: VaultAI has no accounts, no sign-in, and no cloud backend. There is no user data stored on our side to request deletion for.
Permissions Disclosure
VaultAI requests the absolute minimum Chrome permissions required to run:
activeTab— Allows the extension to identify the active tab's ID to open the side panel UI. No DOM or browsing activity access is granted.contextMenus— Registers the "Summarize with VaultAI" item on right-click selections. Safe character selection passing only.sidePanel— Enables opening the split-screen side panel layout.storage— Safe database storage space for extension settings, logs, and encrypted summary history.
VaultAI does not request host permissions (e.g. https://*/*) or inject remote content scripts. The extension does not use permissions to transfer or exfiltrate document text.
Network Usage
During summarization, VaultAI makes zero network requests. All AI inference uses the locally downloaded Gemini Nano model via the Chrome Prompt API.
Chrome may, independently and as part of its own infrastructure, download or update Gemini Nano model weights from Google's servers. This is a browser-managed download, not triggered or controlled by VaultAI, and is subject to Google's privacy practices.
Contact & Feedback
For privacy inquiries or technical feedback, you may open an issue in the public repository at: https://github.com/egecolpan/vaultai/issues