Security

What we actually do to protect your documents.

This page describes what's real today — not aspirational marketing copy. If a security-minded family member is deciding whether to trust us with a will or a medical directive, they deserve a straight answer.

Argon2id password hashing

Passwords are never stored in a reversible form. Login also gives no hint whether the email or the password was wrong, so an attacker can't use ManagedFamily to check which emails have accounts.

Malware scanning on every upload

Every file is streamed to a ClamAV scanner. Infected files are quarantined immediately — download is blocked — while everything else keeps working normally.

Encryption at rest

Documents are encrypted (AES-256-GCM) before they're written to storage — the storage layer never sees a plain file. See below for exactly what this protects against, and what it doesn't.

Per-document access control

Every document has a visibility setting — family, private, or admins-only — enforced on every single read, not just in the UI. A member who isn't allowed to see a document gets a plain "not found," not a permission error that confirms it exists.

Full audit trail

Logins, uploads, downloads, deletions, membership and role changes are all recorded in an append-only log, written in the same transaction as the action itself.

Brute-force protection

Rate limits on login, registration, and invitations, plus a per-account lockout with an escalating cool-off after repeated failed logins — checked before any password hashing happens, so it can't be used to burn server resources.

Rotating, revocable sessions

Every token refresh rotates your session token and retires the old one. If a stolen token is ever replayed after rotation, the whole session chain is revoked automatically. You can see every active session and sign out of any of them — or all of them — at any time.

What "encrypted at rest" actually protects against

Documents are protected in transit by TLS, and at rest by AES-256-GCM before they're written to storage. This protects your documents if someone gets access to the storage layer alone — a stolen backup, a storage-only breach — without also compromising ManagedFamily's own application.

What it is not: a zero-knowledge architecture. ManagedFamily's servers hold the decryption key, because they need it to show you your own documents — we are not cryptographically prevented from accessing what's stored, the same way most hosted services aren't. If that distinction matters for something you're about to upload, that's a reasonable thing to weigh, and it's true of virtually any service like this one, not just us.

One deliberate exception: document titles, descriptions, and extracted text stay unencrypted in the database, because search needs to read them. Encrypting a field and keeping it searchable are in tension — we chose search.

Questions about how something works?

We'd rather answer directly than leave you guessing.

Back to ManagedFamily