JARVOS is a local-first application. By default your most sensitive data — email content, credentials, contacts — never leaves your machine; a few opt-in features send data out only when you turn them on, and chat questions that need a web search go to a search engine. This page describes the security measures applied to data that does cross a boundary.
IMAP and SMTP passwords are encrypted with AES-256-GCM before being written to your local database. The encryption key is stored in your OS keychain (Windows Credential Manager / macOS Keychain / libsecret on Linux).
Your email, WhatsApp messages, and contacts are stored in a SQLite database on your machine. By default nothing is transmitted to JARVOS servers, and JARVOS has no copy of your data. Two opt-in features can send data out when you enable them: remote e-signature (below), where an end-to-end-encrypted copy we cannot read transits our relay for an external signer; and the Claude Cowork connector, which sends whatever Claude requests — your recent mail, contacts, or pipeline — to Anthropic's cloud. Separately, chat questions that need current information are sent to a web search engine (see the Privacy Policy, §3a).
Sessions are authenticated with JWTs signed with a server-side secret, and every signed-in API endpoint verifies the signature on each request. In the desktop app, credentials are held in your OS keychain. The web account portal stores its session token in your browser's local storage so you stay signed in between visits.
Once you choose how backups are kept (Settings → Security), JARVOS makes a nightly copy of your local database — encrypted with your recovery code, unless you chose unencrypted backups — and records its SHA-256 hash. A weekly check re-hashes the latest backup.
All incoming webhooks (Stripe, Meta Cloud API, QuickBooks, Xero) are verified using HMAC-SHA256 signatures with timing-safe comparison to prevent forgery. Stripe webhooks are also time-stamped against replay.
JARVOS sends no usage analytics. Crash reporting is off unless you turn it on in Settings → Security.
Remote e-signature is off by default. When you enable it, a document sent for signature is AES-256-GCM encrypted on your machine before upload; the decryption key travels only in the signer's link and never reaches our servers, so JARVOS cannot read the document. The encrypted copy is deleted after signing, and within 48 hours regardless.
If you discover a security vulnerability in JARVOS, please report it privately before public disclosure. We will acknowledge receipt within 48 hours and aim to resolve confirmed issues within 14 days.
security@jarvos.site — please encrypt sensitive reports with our PGP key (available on request).
We do not currently offer a bug bounty program. We do publicly acknowledge researchers who report valid issues, with their permission.