Security & Privacy

Your data is encrypted before it leaves your device

Venova uses zero-knowledge encryption so your financial data stays private. In advanced mode, even we cannot read it. No compromises.

Built on Three Promises

Every architecture decision in Venova starts with a simple question: does this protect the user's data?

Zero-Knowledge Encryption

Your data is encrypted on your device before it ever reaches our servers. In advanced mode, even we cannot decrypt it. Your keys, your data.

Local-First Architecture

On the Free plan your records stay on your own device, and no account is needed. They reach the cloud only when you choose a paid plan and sign in. You control where your data lives.

No Ads. No Data Selling.

Revenue comes from subscriptions, not your data. No tracking pixels, no behavioural profiling, no third-party data sharing. Ever.


How Encryption Works

Every document is compressed and encrypted on your device before it is transmitted. Here is the cryptographic stack.

Key derivation PBKDF2-SHA256 with 600,000 iterations
Data encryption AES-256-GCM per document
Key exchange ECDH P-256 with HKDF-SHA256
Transport TLS for all network traffic

Choose Your Protection Level

Venova offers two encryption modes so you can balance convenience with maximum privacy.

Recommended for most users

Default (Recoverable)

Your data encryption key is also wrapped under a server-side recovery key. If you forget your password, you can reset it and recover your data. The server uses that key to restore your access, which means it is technically capable of decrypting your data. It does nothing else with it.

Maximum privacy

Advanced (Zero-Knowledge)

The server-side recovery wrap is removed. Only your password (or your recovery code) can decrypt your data. We cannot access it under any circumstances, including password resets. It covers all of your records, including anything you import from a bank. The one exception is the copy of your bank data that Plaid sends to our servers on Premium, explained below.


Two-Step Sign-In

Turn it on in Venova's Settings, and signing in asks for a 6-digit code from an authenticator app on your phone as well as your password. A stolen password alone cannot open your account.

  • Works with the authenticator app you already use: Google Authenticator, Microsoft Authenticator, 1Password, Authy, or Passwords on iPhone
  • Optional for every account, and required to connect a bank. Each bank connection asks for a fresh code
  • Enforced by our database, not only the sign-in screen. Once it is on, your records refuse any session that has not passed a code, even one with your correct password
  • Turning it on signs you out on your other devices. Each one asks for a code the next time you sign in
  • Lost your phone? Contact Performant support. We confirm the request by email before removing your authenticator, and your password still unlocks your encrypted data

App Lock

Turn it on in Venova's Settings, under Security & privacy, and Venova asks for the check you unlock your device with before it shows anything: Touch ID or your password on a Mac, your fingerprint, face or screen lock on Android.

  • It asks every time the app opens, and when you come back after Venova has been away for the time you choose: at once, 1, 5 or 15 minutes. Away means the window was minimized or hidden on a Mac, or the app was in the background on Android
  • On a Mac, with the lock on, a minimized or hidden Venova shows only its icon in the Dock and Mission Control, never your numbers
  • On Android, your balances never show in the recent apps screen, whether or not the lock is on
  • It also locks after 15 minutes without use, whatever you chose. The page stays where it was behind frosted glass, with every amount hidden, until you unlock it
  • Turning it off, or choosing a longer wait, asks for the check first
  • The check happens on your device. Venova is told only whether it passed, never your fingerprint, your face or your password, and the setting stays on your device
  • It locks the app, and is separate from the encryption described above

What Each Plan Sends Us

What leaves your device depends on your plan and whether you sign in, not on which device you use. The desktop, web and Android apps all follow the same rules.

01

Free, without an account

  • Your records stay in a local database on your device. There is no account and nothing to sync
  • The desktop app checks for a newer version when it launches, sending only its version number, operating system and processor type
  • Backups are files you export and keep yourself
02

Free, signed in

  • We hold your email address, and a security log of your sign-ins with the IP address each came from. Each entry is deleted after 90 days
  • We hold your household's encryption keys, locked under your password, but none of the records they protect. Your records stay on your device
  • While you are signed in, the app checks your plan, so sync can start as soon as you subscribe
03

Base

  • Everything above, plus your records, synced between your devices and the web app
  • Records are compressed and encrypted on your device before they are sent, and we store only the ciphertext
  • Around that ciphertext we can see your email address, your plan, which household you belong to, when you last saved and how large the record is
  • Sync starts when you sign in and keeps your devices current on its own
04

Premium

  • Everything in Base, plus the banks and brokerages you connect through Plaid, a separate company with its own privacy policy
  • The one exception to the encryption: the balances, transactions and holdings Plaid sends us are held on our servers in readable form, for your devices to pick up and match against what you have entered. Advanced protection does not cover this copy
  • What your device imports from it into your records is encrypted like everything else you enter
  • The copy on our servers is deleted once it is safely in your encrypted records (35 days at the earliest), 3 days after you skip a transaction, or once a transaction nobody reviewed is 25 months old. Disconnecting the bank deletes all of it, and anything you already imported stays in your encrypted records
  • Connecting a bank requires two-step sign-in

On every plan: no analytics, no usage tracking and no advertising. The app sends a diagnostic report only when you choose to send one.


Common Questions

It depends on your plan, not on your device. On Free without an account, your records stay on your device, and the desktop app sends us only a check for updates when it launches. With a free account we also hold your email address, a log of your sign-ins, and your household's encryption keys, but none of your records. Base syncs your records to the cloud as ciphertext. Premium adds the bank data Plaid sends us, which we hold in readable form only until it is safely in your encrypted records, you skip it, or it goes 25 months without review, and never after you disconnect the bank. What you import from it into your records is encrypted. We never use any of it for analytics or marketing.

Your password is run through PBKDF2-SHA256 with 600,000 iterations to derive a key encryption key (KEK). That KEK wraps your ECDH private key, which in turn unwraps the data encryption key (DEK) via a key exchange protocol. Your data is encrypted with AES-256-GCM before it ever leaves your device. In advanced mode, the server has no copy of your keys and cannot decrypt your data.

In recoverable mode (the default), your data encryption key is also wrapped under a server-side recovery key, so we can help you regain access if you forget your password. In zero-knowledge mode, that server wrap is removed entirely: only your password or your recovery code can decrypt your data. We recommend starting with recoverable mode and switching to zero-knowledge once you have your recovery code safely stored.

At any time. You can export all your data as JSON, or your transactions as CSV, from the settings page. Closing your account removes your cloud-stored data; a few records outlive it, and the privacy policy lists them.

Never. We do not sell, rent, or share your financial data with anyone. Four providers support the service: Supabase stores your account and your encrypted records, Cloudflare hosts and delivers the app, Stripe handles subscription billing, and Resend delivers account emails. None of them can read your encrypted records. On Premium, Plaid connects your banks under its own privacy policy.

The desktop app stores everything in a local database, so it works without a connection. On Base or Premium it syncs on its own once you are back online: changes are compressed and encrypted before leaving your device and merged with your cloud account. Where the same record changed in two places, the most recent change wins.

If you are on Base or Premium and have synced at least once, your data is safely stored in our encrypted cloud. You can sign in on any device and pick up where you left off. On Free your records live only on that device, so keep regular exports as backups. In zero-knowledge mode, your password still unlocks your data on a new device. You need your recovery code only if you have also forgotten your password. If you turned on the app lock, Venova asks for Touch ID or your Mac's password on a Mac, or your fingerprint, face or screen lock on Android, before it opens. It locks the app, and does not encrypt the data stored on your device.

Performant logo Performant

Personal finance that stays yours. Your figures are encrypted on your device before they ever reach us, and you can lock us out entirely whenever you want.

Legal

SLA published at launch.

Connect

© 2026 Performant. All rights reserved.

Cloudflare® is a registered trademark of Cloudflare, Inc. Supabase is a trademark of Supabase, Inc. Performant is not affiliated with, endorsed by, or sponsored by Cloudflare or Supabase; these names and marks are used only to identify the third-party services on which Performant runs.