Period Vault
Menstrual cycle tracking that never leaves your phone. Fully offline, zero telemetry, and every backup encrypted with AES-256-GCM — there is no server to send one to. iOS and Android.
Menstrual cycle tracking that never leaves your phone. Fully offline, zero telemetry, and every backup encrypted with AES-256-GCM — there is no server to send one to.
iOS and Android.
Join the test
- iOS — TestFlight: Join the TestFlight beta
- Android — Google Play open testing: Join the open test
Why this app in particular
Period tracking is the case where “we don’t collect your data” stops being a preference and starts being a safety property. A cycle log is a record of whether someone is pregnant, trying to be, or has stopped being — and mainstream trackers have historically monetised exactly that.
So Period Vault collects absolutely nothing:
- No accounts and no authentication
- No app-managed cloud storage or account sync
- No analytics, no telemetry, no crash reporting
- No advertising or tracking SDKs
- No network calls of its own for tracking, storage or crypto
The honest footnote: if you save an encrypted backup into a cloud-backed file provider, or rely on iCloud or Android device backup, the operating system may move that encrypted file off your device. That is the OS doing it, not the app, and the file is encrypted before it leaves.
What it does
| Feature | What you can do |
|---|---|
| Period tracking | Add, edit and delete entries, with overlap and date validation, and support for an ongoing period |
| Prediction and statistics | See the next predicted period and cycle statistics once there is enough history |
| Calendar and day detail | Browse a month view marked with period, symptom and flow, and tap any day for detail |
| Flow intensity | Log spotting, light, medium or heavy per day |
| Symptoms | Log symptoms with severity and notes, filter the history, edit or delete entries |
| Medication | Add medications and toggle taken or not-taken for today |
| CSV import | Import existing data with a preview, validation and conflict handling |
| Encrypted backup and restore | Create a passphrase-protected backup and restore from it |
| Discreet app icon | Choose an alternate launcher icon that does not announce what the app is |
| Settings | Theme, date format, first day of the week, and data actions |
Local reminders and notifications are not in yet — they are tracked as open work rather than quietly implied.
How it is built
Kotlin Multiplatform, native UI on both platforms, MIT licensed. Storage is
SQLDelight over SQLite. On Android the database sits behind SQLCipher with the
key wrapped by the Android Keystore, and allowBackup is deliberately disabled
so the live database is never swept up by Google device backup.