Privacy Policy
Last updated: August 8, 2026
Nightshelf ("the app", "we", "us") is a bedtime-story app for iOS. It is built to know as little about you as possible. There is no account, no sign-in, no analytics SDK, no third-party tracker, and no advertising. This policy explains the little that's left.
What stays on your device
- Your shelf and progress — which stories you've opened, your place in each one, and your bedtime settings (voice, speed, sleep timer, ambient sound). These live on your device and, via Apple's private iCloud key-value storage, sync between your own devices. Nightshelf keeps no copy of them on any server.
- On-device narration — the built-in iOS voice synthesizes every word locally. Nothing leaves your phone, and it never needs a connection.
What leaves your device, and why
Two features send your words off your phone. Both ask permission the first time you use them, and neither runs if you say no — not then, and not later. A third, smaller thing goes out without asking, and it gets its own bullet below rather than a footnote.
- Cloud narrators — if you pick one of the six cloud narrators (Nova, Alloy, Fable, Onyx, Echo, Shimmer), the paragraph being read is sent away to be turned into audio, and so is the paragraph after it, fetched early so the reading doesn't pause. This is just as true of a book from the built-in shelf as it is of a story you asked for — whatever is on the page is what gets sent.
- Tonight's Story — writing a custom bedtime story sends the picks you made from the lists — setting, tone, weather, time of night and length — plus the optional detail you typed. If a cover picture is painted for it, the story's title is sent to be drawn. Please don't include personal details you wouldn't want sent.
- Auditioning a narrator — the one thing we don't ask about. Tapping ▶ beside a narrator's name sends a single fixed sample sentence, the same one for every listener, written into the app itself. It travels the same road as everything else and carries the anonymous device ID described below. We don't put it behind the permission because it cannot carry anything of yours — not the page you were reading, not a word you typed, not even which book you were in. It happens only when you tap ▶, and it is the only thing that can leave your phone after you have said no.
Where it goes: three stops, not two
Everything travels the same road.
- Nightshelf's own server first —
storyvault-api.fly.dev, which we run and which is hosted for us by Fly.io in the United States. Your words reach us and our host before they reach anyone else.
- OpenAI — turns text into audio for the cloud narrators, and paints story covers.
- Anthropic — its Claude model writes a Tonight's Story.
What OpenAI and Anthropic do with text once it reaches them is governed by their own terms, not ours. Nightshelf holds no zero-retention agreement with either company, so we will not promise on their behalf that your words are discarded. What we can tell you is what we do, below.
What our server keeps
- A device ID, deliberately. Nightshelf never asks for a name or an email, so there is none to send. Each phone does generate a random ID for itself on first launch and sends it with every request. It exists so the nightly limits can be counted per device rather than per network — otherwise everyone behind one router would share a single allowance. Counting requires keeping it: our server stores a scrambled (SHA-256) copy of that ID alongside the date, which feature was used, and a running number. No book title, no story, and none of your words are in that row. Rows more than 35 days old are deleted when the clean-up runs — but nothing runs it on a timer. It piggybacks on other traffic reaching the same server, so a row can sit there longer than 35 days, and we would rather say that than imply a schedule we haven't built.
- Audio, for a while. Narration we have already produced is kept in a shared cache, filed under a fingerprint of the paragraph rather than under any device — so the second listener to reach the first page of a book gets it without it being made again. The cache holds audio, is tied to no one, and is wiped whenever the server is updated.
- Ordinary logs. Narration records which narrator read and how many characters were spoken. A Tonight's Story records the setting, tone and length — and, on some requests, the weather and time of night — plus whether you typed a detail at all, never the detail itself, and how many chapters came back. When the model returns something we cannot use, the failure line records the shape of what came back — which kinds of block, which fields were present — and none of its text. They do not record the words: not a page of a book, not what you typed, not a line of the story written for you, and not its title.
- Your IP address, scrambled. Reaching our server shows it your IP, the way visiting a website does. We never store it as written: it is hashed the same way before being used to keep guests inside the free allowance. If a cloud narrator is selected, the app also pings the server once at launch to check it is awake; that ping carries no text.
Purchases
Nightshelf Pro is bought through Apple. Apple handles the transaction and shares only the receipt with the app, so it knows you're a subscriber. You can manage the subscription anytime in Settings → Apple ID → Subscriptions.
Premium system voices
If you download Apple's Enhanced or Premium voices from iOS Settings → Accessibility → Spoken Content → Voices, that download and those voices are handled by iOS, not by Nightshelf.
Data sharing
We do not sell data and we do not share anything with advertisers. Nothing described above is used to build a profile of you or to advertise to you.
Children's privacy
Nightshelf is made for adults who read themselves to sleep, and it is rated 13+. It is not directed to children and is not part of Apple's Kids Category. The shelf is adult literary fiction — alongside the fairy tales there is a Mystery & Gothic shelf holding Dracula, Jekyll & Hyde, Poe and Lovecraft — so parents should treat it the way they would a bookshelf, not a children's app.
Nightshelf collects no personal information from anyone, of any age. There is no account, no sign-in and no analytics, so there is nothing to collect from a child in the first place. We do not knowingly collect personal information from children under 13; if you believe a child has sent us something through the story form, email us and we will delete it.
Contact
Questions about this policy? Email support@hypersage.ai.
← Back to Nightshelf