Varven

Security

What is protected, how, and — just as usefully — what is not yet.

Where your data lives

Your notes are Markdown files on your own disk. That is the primary copy and it never depends on us.

If you enable the cloud replica, a copy is stored on Cloudflare infrastructure: Markdown in object storage, metadata in a per-tenant database, and embeddings in a vector index. All three are namespaced per tenant and every query is filtered by tenant at the storage layer, not just in application code.

Encryption

LayerProtection
In transitTLS 1.3 between your machine, our service, and AI clients
At restEncrypted by the storage provider, keys held by us
PasswordsPBKDF2-SHA256, 200,000 iterations, per-user salt
TokensOnly SHA-256 hashes are stored; raw tokens are shown once

We hold the keys, so our systems can technically read your replica. We say this plainly rather than implying otherwise. It is the direct cost of the feature you are paying for: for memory to be searchable while your computer is off, a server has to be able to compute over it. End-to-end encryption and server-side semantic search are not compatible with today's technology.

If that trade is not for you, the free tier is local-only and permanent.

Access to the service

AI clients authenticate with OAuth 2.1 — authorisation code with PKCE, S256 only, no implicit grant, no plaintext challenge. Authorisation codes are single-use and burn on first exchange. Access tokens expire after 30 days. You can revoke a client at any time and the token stops working immediately.

The desktop sync agent uses a separate device token, scoped to writing your own vault. It cannot read another tenant's data and cannot act as an AI client.

What we do not do

What we have not built yet

Being honest about this is more useful to you than a badge wall.

Reporting a vulnerability

Email security@varven.net. Please include enough detail to reproduce it.

There is no paid bounty programme yet. Machine-readable contact details are at /.well-known/security.txt.

Incidents

If a breach affects your data we will tell you without undue delay, and notify supervisory authorities within 72 hours where the GDPR requires it. We will say what happened, what we know, and what we are doing — before we know everything.