SCRIPTURE ATLAS
Privacy
Scripture Atlas is a personal project run by one person, David Williams. It is not a company, it sells nothing, and it has no advertising, no analytics and no tracking of any kind. This page describes what it actually does with your data — including the parts that are not reassuring.
Last updated: 23 August 2026
If you never sign in
Nothing about you is sent to this site’s database, and no cookies are set at all. Your reading position, highlights, notes, notebook and settings are written only to your own browser’s storage. Clearing your browser data removes them, and nobody else can see them, including me.
If you create an account
An account exists so your study follows you between devices. It stores:
- Your email address. No name, no profile, nothing else. It is not verified, and it is used only to identify the account and sign you in.
- Your password, hashed. PBKDF2-HMAC-SHA256 at 600,000 iterations with a random salt per account. The password itself is never stored and cannot be recovered from what is.
- Your reading progress — which chapters you have visited and where you last stopped, per book.
- Your highlights, chapter notes and notebook entries. Notes and notebook entries are free text and are stored as you typed them, unencrypted, in the database.
- Your reading-plan progress.
- Sign-in sessions — a hash of each session token, when it was created and when it expires.
Cookies
One, and only after you sign in: sa_session. It is HttpOnly, SameSite=Lax, Secure over https, and lasts 30 days. It exists solely to keep you signed in. There are no analytics, advertising or preference cookies anywhere on this site, which is why you have never seen a consent banner here.
Who else sees anything
A short list, and two of them only if you use a specific feature.
- CARTO serves the map tiles. When a map is on screen your browser requests tiles directly from them, so they receive your IP address, your browser’s user-agent, and which part of the biblical world you are looking at. They do not receive which chapter you are reading.
- Vercel hosts the site and Neon hosts the database. Vercel’s access logs record the IP address and path of every request. Some of those paths name the passage you are reading.
- Your browser’s speech service, if you use Read Aloud. Reading aloud is done by the browser, not by this site — and on some browsers the better voices are network voices, which means the verse text is sent to that browser vendor to be spoken. This site cannot see or prevent that. If it matters to you, choose an offline voice in the reading settings, or do not use Read Aloud.
- Resend delivers the password-reset email, and only then. They receive your address so they can deliver the message.
Nothing is sold, shared for advertising, or sent anywhere else. There is no third-party script of any kind on this site.
What I can see
The admin screen I use shows only account email addresses, when each account was created, when it last synced, and how many books it has progress in. It does not display anyone’s notes.
But you should assume I can read everything. I hold the database credentials, and the backups I take to keep the project recoverable contain every email address, every highlight and the full text of every note and notebook entry, stored unencrypted on my own machine. Passwords are the one thing deliberately excluded from those backups. If you would not want a note read by another person, do not put it here.
How long things are kept
- Deleted notes and highlights stop being visible immediately and are removed from the record after 90 days. The delay is what lets the deletion reach your other devices instead of being undone by them.
- Sign-in sessions are marked revoked when you sign out and stop working when they expire, but the rows themselves are currently never deleted.
- Failed sign-in attempts are recorded as a hash of the email address or IP address, to slow down guessing. Hashing is not anonymising — anyone with the database and a guess at your address can confirm a match. These are pruned opportunistically rather than on a schedule, so a row can outlive its 24-hour purpose.
- Problem reports are kept until they are dealt with, then deleted. A report carries the passage you were on, which view was open, and which build you were running — nothing else about you, and no account is needed to send one.
- Backups are kept until I delete them, and deleting your account does not reach into a backup already taken.
Getting your data, and getting rid of it
Download. Reading settings → Download my study gives you a single file containing your progress, highlights, notes, notebook and reading plan. It is yours, it needs no account, and it can be restored into this app on any device.
Deletion. Sign in, open the account menu in the top bar, and choose “Delete my account”. It offers you the download first, asks for your password, and asks you to type a word — then removes the account and everything on it from every device. It cannot be undone and I cannot recover it for you.
Two things a deletion cannot reach, said plainly. It does not reach into a backup already taken, though those are deleted on their own schedule. And if you have reported a problem, the report survives so the fault can still be fixed — but the text you wrote is erased with the account, leaving only the fact that a chapter was flagged.
Forgotten password. Use “Forgot your password?” on the sign-in panel and a reset link is emailed to you. The link works once and expires in 30 minutes, and using it signs out every device. Sending that email is the one time this site contacts a third party on your behalf — the mail service (Resend) receives your address in order to deliver it.
Children
This is a Bible study tool with no social features, no messaging and no public content. It is not directed at children and collects nothing beyond an email address from anyone.
Changes
If this page changes in a way that affects what is stored or who sees it, the date at the top changes with it.
Contact
For deletion, questions, or anything that looks wrong: david.williams@fmigroup.ca.