Security
You’re handing us your passport. We treat it that way.
NeverMiss holds documents people would not want anyone else to see. Here is exactly what we do about that.
Private files, always
Uploads go to private storage. There is no public URL for your documents — a file is only ever served through a signed link that expires in minutes and is issued to your session alone.
Separated at the database
Every row carries its owner. Row-level security in the database enforces that boundary on every single query, so one account physically cannot read another account’s data.
Keys stay on the server
Payment, email and document-reading keys live only in server environment variables. Nothing sensitive is shipped to the browser.
Payments handled by Stripe
Card numbers, CVV codes and wallet tokens never touch our database. Checkout and the billing portal run on Stripe’s own pages, and subscription state is only ever trusted from signed Stripe webhooks.
Checked on the way in
Every upload is checked for type and size. Every form is validated again on the server. Sensitive actions are rate-limited and written to an audit log.
Deletion means deletion
Delete a document and the file leaves storage. Delete your account and your profile, items, reminders and files are permanently removed.
Found a problem?
Write to security@nevermiss.app with what you found and how to reproduce it. We answer every report, and we will not take legal action against good-faith research.