Security & Encryption
Monk Portfolio uses modern, well-vetted cryptography to make sure your portfolio data is readable by you and nobody else — not by us, not by a compromised server, not by a future employee, not by anyone who intercepts network traffic.
What gets encrypted
When encryption is enabled, every meaningful unit of data you create in the app is encrypted individually before it is written to device storage or sent over the network:
- Your portfolios and the assets inside them
- Your saved views (columns, sort order, chart period, targets)
If the wrong key is ever presented, decryption fails with a clear error — you never get silently corrupted or garbage data.
The primitives we use
We stick to standards shipped by every major browser and OS — no bespoke crypto, no hand-rolled ciphers.
AES-256-GCMWhere the key comes from
The hardest part of any encryption system is making sure the right person — and only the right person — can produce the key. Passwords are easy to phish and forget. Server-held keys defeat the point. So we use a passkey: a credential that lives inside your device's secure hardware and can only be unlocked by your biometrics.
What the server can and can't do
- Store your encrypted blob, versioned by time
- Verify that a passkey registered for that blob is present
- Return the blob to any device that authenticates
- Log anonymous events like “sync push succeeded”
- Read the blob — it has no key and no way to derive one
- Link the blob to any identity, name, or email
- Perform a password reset (there is no password)
- Recover your data if you lose every device and your backup
Turning encryption off
You can disable sync & encryption at any time from Settings — see Your Data for exactly what happens to your local and server copies.