Privacy policy
In plain words
- Your journal is encrypted on your phone before it is synced. We cannot read it, and neither can the companies that host our servers.
- To run your account we keep your email address, a record of your devices, and the encrypted data you sync. Section 4 lists everything our server can see.
- Smriti has no ads and no analytics or crash-reporting tools, and we do not sell your data.
- You can use Smriti without an account. Your journal then stays on your phone.
- You can export everything and delete your account at any time.
1. Who we are
Smriti is made by Abhishek Singh, an individual based in Varanasi, Uttar Pradesh, India (“Smriti”, “we”, “us”). We decide how the personal data described here is used, so under India’s Digital Personal Data Protection Act, 2023 we are the Data Fiduciary (under the GDPR, the controller).
For any question about privacy, write to privacy@smritijournal.com.
2. Using Smriti without an account
You can start writing without signing in. Your journal then lives only on your phone, in an encrypted database, and nothing you write is sent to our server. If you lose the phone or reset the app, those entries are gone, because no other copy exists.
When it starts, the app asks our server which sign-in options are available. That request carries no account details and nothing from your journal. A few phone features also use the internet; they are described in section 6.
3. What is end-to-end encrypted
When you sign in to back up and sync, Smriti encrypts your journal on your phone before anything is sent. Only your devices hold the keys. Our server stores encrypted items it cannot open. It cannot see:
- entry text, titles, dates, tags, moods, places, weather
- journal names, colours and settings
- media (your photos, videos and voice notes)
- handwritten pages: strokes, recognised text, paper and backgrounds; PDF contents (v1.1)
- templates used, search queries, reminders
- your keys
Search runs on your phone. Your keys are backed up in two ways that only you can open: your recovery key, a code you save; and, where your phone supports it, Android’s end-to-end encrypted backup in your Google account (see section 8). Our server holds copies of your keys only in encrypted (wrapped) form.
4. What our server can see
To sync your journal between phones, our server needs some facts about your account and your encrypted items. The app shows the same list under You → Privacy & security → Privacy, plainly. Our server can see:
- account email and sign-in provider
- device type (Android) and last-seen times; the names of your devices are encrypted
- IDs of journals, entries, media and handwritten pages
- when each entry, journal and file was created (it’s part of its ID)
- that an entry has handwritten pages (and, from v1.1, PDFs), how many, and their revision counts
- which entry each photo, video or voice note belongs to, and their kinds and sizes
- revision numbers
- which of your devices saved each version
- sizes and upload times of encrypted items
- approximate storage used
- when your account was created, and when you signed in on each device
- IP addresses (transiently, for security)
Email address
We use your email address to sign you in and to send sign-in codes and account notices: a code to confirm your address, reset your password or delete your account; a notice if someone tries to create an account with your address; and a confirmation when your account is deleted. We do not send newsletters or marketing email.
Google sign-in
If you choose Continue with Google, Google sends us a signed sign-in token containing your email address, your Google account ID, and the name and profile photo link on your Google account. We keep only your email address and Google account ID, and use them to sign you in. We don’t keep the name, the profile photo link or the token itself.
Password
If you set a password, we store only a one-way hash of it (scrypt). Your password protects your account. It is not the key to your journal.
IP addresses
Like any server on the internet, ours sees your phone’s IP address when it connects. We use it briefly, in memory, to limit repeated sign-in attempts and other abuse. We do not write IP addresses to our logs or store them with your sign-in sessions.
Sizes and times
Entries, photos, videos and voice notes are not padded, so the size of each encrypted item is close to the size of its contents. The server can therefore tell roughly how long an entry is and when it was saved, but not what it says. Settings and similar account documents are padded to blocks of 1 KB.
Logs
Our server writes one short line per request: the kind of request, the result and how long it took. It also records counts from routine maintenance jobs and the type of any error. Log lines never contain an IP address, an email address or anything from your journal.
Not end-to-end encrypted
Exports you create (they are files you control), your email address, and the sizes and times of your encrypted items.
5. What we don’t do
- We don’t show ads, and there are no advertising or tracking tools in Smriti.
- We don’t sell, rent or trade your personal data.
- We don’t use analytics or crash-reporting tools that follow what you do in the app. If we ever add usage counts, they will be off unless you turn them on, will never include your content, and will be described here first.
- We don’t read your journal. We can’t: it is encrypted with keys we don’t have.
- We don’t use your journal to train AI, and there is no AI in the app that sends your entries anywhere.
- We don’t send push notifications through Google’s servers. Reminders are scheduled on your phone.
6. Features that reach outside your phone
These features use the internet. Each sends as little as it can.
Linking a new phone
To link a new phone, Smriti scans a QR code with Google’s ML Kit, which runs on your phone. ML Kit sends Google basic usage statistics about the device, the app and how the scanner performed. It does not send the camera image or anything from your journal. The secret inside the QR code travels only from screen to camera; our server never sees it. Your keys then pass to the new phone through our server, encrypted, so the server cannot read them.
Handwriting recognition (when it arrives)
Handwriting recognition will also use Google’s ML Kit on your phone. It downloads a handwriting model from Google once, and sends Google usage statistics: your phone model, Android version, app version, the language and how long recognition took. It never sends your handwriting or the recognised text. The app asks before it downloads anything.
Place names
When you add a place to an entry, the place name comes from your phone’s geocoder. On most Android phones that service asks Google, which receives the location being looked up. The place you save is encrypted in your entry.
Map
If your version of Smriti includes the Map, your phone downloads map tiles from maps.smritijournal.com, which is served by Cloudflare. Like any website, it sees your IP address and which map areas are loaded, which can hint at where your entries’ places are. Your pins and entries are never sent; they are drawn on your phone. We don’t turn on request logs for the map; Cloudflare handles these requests under its own privacy policy.
Weather (when available)
If you ask Smriti to suggest the weather, your phone sends our server your location rounded to about 1 km. Our server asks the weather service Open-Meteo about that rounded point, so Open-Meteo never sees your IP address. The answer is kept in memory for 30 minutes and the location is never logged. The weather you save is encrypted in your entry. This needs an account.
Voice notes and voice to text
Voice-to-text runs on your phone, on Android 13 and later where the phone supports it. Recordings are encrypted like photos.
7. Permissions on your phone
Smriti asks for a permission only when you use the feature that needs it. You can refuse, or turn it off later in your phone’s settings; the rest of the app keeps working.
| Permission | Used for |
|---|---|
| Camera | Taking photos and videos in the app, and scanning the QR code when you link a new phone. |
| Microphone | Recording voice notes. A recording continues if the screen turns off, and Android shows a notification while it does. |
| Location | Adding a place or the weather to an entry, only while you are using the app. Smriti never uses your location in the background. |
| Notifications | Reminders you set. They are scheduled again after your phone restarts. |
| Fingerprint | Unlocking the app with your fingerprint, if you turn on App lock and choose to. |
8. Companies that help us
We use a few service providers to run Smriti. They act for us, under contract, and may use data only to provide their service to us. Because your journal is encrypted on your phone, none of them can read it.
| Provider | What for | What it receives |
|---|---|---|
| Fly.io | Runs our server, in Mumbai, India | Encrypted data passing through; your IP address as you connect |
| Neon | Our database, in Singapore (AWS ap-southeast-1) | What our server can see (section 4) and your encrypted entries |
| Cloudflare | Stores encrypted photos, videos and voice notes, and encrypted database backups (R2, Asia-Pacific); serves map tiles; runs DNS and this website | Encrypted files only. For the map and this website: your IP address and which pages or map areas are loaded |
| Resend | Sends sign-in codes and account emails | Your email address and the email itself (a code or a notice, never journal content). Resend keeps its own delivery record for a limited time |
| Open-Meteo | Weather, when you ask for it | A location rounded to about 1 km, sent by our server. Never your IP address or anything that identifies you |
| Google: sign-in | Only if you choose Continue with Google | Google confirms who you are and sends us the token described in section 4 |
| Google: Block Store | Backs up your journal key in your Google account backup, so a new phone can open your journal | The key, end-to-end encrypted by Android with your screen lock. We can’t read it. Used only where your phone supports this |
| Google: ML Kit | QR scanning now; handwriting recognition later | Device and app information and usage statistics (section 6). Never images, handwriting or journal content |
| Google Play | Distributes the app and its updates | What Google Play collects under Google’s own privacy policy. If you allow your phone to share usage and diagnostics with Google, we see crash reports through Google Play, without your content |
Some of these providers process data outside India; for example, Cloudflare and Google operate worldwide, and Resend sends our email from its Tokyo region, and our database is hosted by Neon in Singapore. We use only providers that protect data at least as well as this policy describes. We share data with authorities only when Indian law requires it, and even then we can provide only what our server can see. Your journal stays encrypted.
9. How long we keep things
| Data | How long |
|---|---|
| Your encrypted journal, media and settings | Until you delete them, or delete your account |
| Earlier versions of an entry or handwritten page (encrypted) | Every version from the last 90 days, plus the last 50 versions of each, so you can go back |
| Deleted entries | 30 days in Trash on your phones, so you can restore them. The entry is then deleted from our server, and its earlier encrypted versions and its encrypted photos, videos and voice notes within a further 30 days |
| Your email, sign-in details and devices | Until you delete your account. A signed-in phone you don’t use for 90 days is signed out |
| An account whose email was never confirmed | Deleted after 24 hours |
| Server logs (no IP addresses, no email addresses, no content) | Up to 180 days |
| Database backups (encrypted) | 14 days (see section 10) |
| Weather lookups (rounded location) | 30 minutes, in memory only |
10. Backups
Once a night we back up our database so that we can recover from a failure. Each backup is encrypted with the open-source tool age before it leaves the server, using a key that is held offline by Abhishek Singh. The server can write backups but cannot read them. We keep the last 14, so a backup is deleted after 14 days, and a separate safety rule deletes any backup older than 20 days in case a clean-up is missed. Your entries inside a backup remain end-to-end encrypted.
11. Deleting your data
- An entry: delete it in the app. It stays in Trash for 30 days, then it is deleted as described in section 9.
- Your account: in the app, go to You → Account → Delete account. Without the app, follow the steps at smritijournal.com/delete-account. This deletes everything Smriti keeps about you on our servers, and cannot be undone. Encrypted copies in our database backups are deleted as those backups expire, within 14 days (20 at most).
- Before you go: you can export everything from You → Data → Export.
12. Security
- Your journal is encrypted on your phone with well-established, standard methods: XChaCha20-Poly1305 from the libsodium library.
- On your phone, Smriti’s database is encrypted too, with a key kept in Android’s secure key store.
- All connections use TLS (HTTPS).
- Sign-in attempts are rate-limited, and sign-in codes expire after 10 minutes.
- Our encryption has had an internal review. It has not yet had an independent audit, and we will not say it has until it does.
If you lose your keys. We cannot reset your keys or read your journal. If you lose every phone and your recovery key, your entries cannot be recovered. Please save your recovery key.
If a data breach affects your personal data, we will tell you, and the Data Protection Board of India and CERT-In, as the law requires.
13. Children
Smriti accounts are for people 18 and over. The app asks before an account is created, and we don’t knowingly collect personal data from anyone under 18. Without an account, Smriti works only on the phone and sends us nothing you write. If you believe someone under 18 has an account, write to privacy@smritijournal.com and we will delete it.
14. Your rights in India
We process your personal data on the basis of the consent you give when you create an account, and only to run Smriti for you. Optional features (location for weather or places, the microphone, the camera) ask for your permission separately, and you can turn them off at any time in the app or in your phone’s settings. Under the Digital Personal Data Protection Act, 2023, you have the right to:
- Access: ask for a summary of the personal data we hold about you and how we use it. Your journal itself you can export at any time.
- Correction and erasure: ask us to correct, complete, update or delete your data.
- Withdraw consent: stop syncing, or delete your account, as easily as you started. This does not affect what we did before you withdrew it.
- Grievance redressal: complain to us and receive an answer.
- Nominate: name someone who can exercise these rights for you if you die or become unable to act.
To exercise any of these rights, write to our Grievance Officer (section 18) from the email address of your account. We reply within 30 days. If you are not satisfied with our answer, you can complain to the Data Protection Board of India.
15. If you live outside India
Smriti is run from India. If data protection laws such as the EU or UK GDPR apply to you:
- Why we use your data: to provide the service you asked for (your account and sync); for our legitimate interest in keeping Smriti secure (rate limits and minimal logs); and with your consent, for optional features.
- Your rights: you can ask to access, correct, delete or export your data, to restrict or object to how we use it, and to withdraw consent at any time. You can also complain to your local data protection authority.
- Transfers: your data is processed in India and by the providers listed in section 8, some of them in other countries. Where data is transferred, we rely on the safeguards in each provider’s data processing terms, such as the Standard Contractual Clauses.
16. This website
smritijournal.com sets no cookies and runs no analytics and no scripts. Its fonts and images are served from the site itself. Cloudflare, which hosts it, sees your IP address when you visit, as any web host does.
17. Changes to this policy
If we change this policy, we will post the new version here with a new date. If a change is significant, for example a new kind of data or a new company that receives it, we will tell you in the app or by email before it takes effect.
18. Contact and Grievance Officer
Grievance Officer: Abhishek Singh
Email: privacy@smritijournal.com
Location: Varanasi, Uttar Pradesh, India
This policy is meant to be read. If anything in it is unclear, write to us and we will explain.