Privacy policy

Last updated 2026-10-13

Ho-Hum is provided by Abraham Richards Burnett (Mythgate). This policy says what leaves your phone, what our server keeps and for how long, and what you can do about it.

What leaves the phone

When you ask for a story from your day, the app sends our server: your diary lines; your first name, only when “Put me in my stories” is on; the tone chip and pace dial settings; a list of bodies you have already heard, so the server avoids repeats; your time-zone offset, which the server ignores; and the install identifier on every request.

Who receives what

Our server sends your diary, name, tone, and pace to the writer (Requesty, serving Z.ai’s GLM model, which processes it in Singapore). If the main writer fails, the same fields go to the fallback writer (Inception Mercury) for that story only. Cartesia, or ElevenLabs for Lily’s voice, receives only the generated story text, to voice it. The content check (Llama Guard on Cloudflare) receives only the generated text.

Purchases go through Apple and Adapty. Adapty receives the random install identifier (a lowercase UUID), purchase records, and events from the subscription screen, such as views and purchase attempts. It also receives technical information needed to present the screen and validate purchases, including app and SDK versions, device and operating-system information, and locale. Adapty also receives device identifiers, IP address, install and app-launch information for subscription and acquisition analytics. We disable advertising-identifier collection. Your name, diary lines, story contents and reading recap are not sent to Adapty; any personalized subscription-screen text is resolved on your phone.

Resend receives only aggregate voice-usage counts for owner alerts, never your lines, stories, or install identifier. All traffic between the app and our server passes through Cloudflare.

If you message us from the app (“Message Abe”) or open the chat on hohum.app, the conversation runs on Crisp. Crisp receives what you type. From the app it also receives the app name, version and build, whether it is a test build, the iOS version, your chosen voice, whether you are on the free story, a trial or a subscription, and the first eight characters of the install identifier, so we can help. It never receives your diary, your stories or your name unless you type them in the chat.

What our server keeps

The story text and audio made from your day are deleted as soon as your phone confirms it has the whole story, or within 24 hours by the hourly sweep if it never does. A storage-expiry rule backs up the sweep and removes anything it missed within about two days.

D1 is our database; R2 is our object storage. Both run on Cloudflare. Sweeps run hourly.

DataWhere it livesTied to installHow long it is kept
challenge: install, purpose, keyId, challenge, expiresAtD1YesUntil expiry (5 minutes), swept hourly
attest_key: keyId, install, pubkey, counterD1YesKept until you ask us to delete it
ip_rate: IP, minute, countD1No (IP, not install)1 hour, swept hourly
install: install, createdAtD1YesKept until you ask us to delete it
free_story: install, spentAtD1YesKept until you ask us to delete it
entitlement_cache: install, hasAccess, fetchedAt, recheckedAtD1YesKept until you ask us to delete it
access_refresh: install, refreshedAt, stale (limits subscription re-checks)D1Yes1 day, swept hourly
spend_budget: day, reserved, spent, capD1No (global daily)Kept until you ask us to delete it
spend_reservation: storyKey, day, micro, createdAtD1Via story2 days, swept hourly (released earlier when the story ends)
story: install, createdAt, state, requestId, title, variant, bodyId, usedFreeD1YesTitle: deleted at ack or within 24 hours by the hourly sweep; row: 30 days
story_section: storyId, status, durations, attempts, fail codesD1Via story30 days with the story
catalog_item: id, title, durations, isNew, voice, bodyId, bodyFingerprintD1No (shared)Kept until you ask us to delete it
generation_lock: install, startedAt, requestId, storyIdD1Yes10 minutes, swept hourly (released when generation ends)
writer_budget: day, spent, capD1No (global)Kept until you ask us to delete it
allowance_event: key, install, kind, startedAtD1Yes48 hours, swept hourly
body: id, title, mood, handoff, anchors, sections, voice, playCountD1No (shared library)Kept until you ask us to delete it
voice_meter: month, app, chars, alert flagsD1No (global monthly)Kept until you ask us to delete it
alert_claim: kind, sentAtD1No (global)Kept until you ask us to delete it
stories/ (one folder per story): contract, match, lead and rest text and audioR2Via storyDeleted at ack or within 24 hours by the hourly sweep (storage expiry backstop about 1 to 2 days)
library/bodies/ (one folder per body): recorded sections text and audio, manifestR2No (shared)Kept until you ask us to delete it
library/pause-1800ms.mp3 (shared silence)R2No (shared)Kept until you ask us to delete it
catalog/ (one folder per topic): story text and audioR2No (shared)Kept until you ask us to delete it

Deleting the app removes its on-phone data (settings, the body cache, local notes). It does not delete your iCloud stories, which stay in your own private database until you delete them, and it does not delete the server records listed above as kept until you ask us to delete them.

The install identifier survives a reinstall (it lives in the keychain), so the server’s records re-link to it. To ask for deletion, write to privacy@hohum.app.

Shared stories

Topic stories and library stories are shared recordings, not personal. A topic story from our menu contains nothing about you and is served to everyone who picks it; deleting one removes it from your library, not from the catalog.

Your stories on your phone and in iCloud

Your stories are kept on your phone and backed up to your own private iCloud database, which we cannot read. Deleting a story in the app removes its text and personal audio from the phone and from iCloud. The shared body audio in the phone’s cache is removed too, unless another story you kept uses the same body.

Analytics and no account

Ho-Hum has no account and does not display ads. Adapty handles purchase, subscription-screen and acquisition analytics, including installs, trial starts, subscriptions, renewals, cancellations and paywall interactions. These records use a random install identifier, not your name or email. They do not include your stories or what you write. The app creates the install identifier and keeps it in the keychain.

The website

hohum.app has no analytics, no advertising and no tracking cookies. If you join the waitlist, we keep your email address, the page you signed up from and the time, on Cloudflare, only to email you when Ho-Hum is out. We send that email through Loops, so Loops receives your address too, and every email has an unsubscribe link. To have your address removed sooner, write to privacy@hohum.app. To stop abuse, the site counts sign-ups per network address for about a minute, using only a one-way hash of the address. The chat loads only when you open it; until then, the site makes no request to Crisp.

Notifications

Notifications are only the optional bedtime reminder, scheduled on the phone. The app uses no push notifications.

Content check and the care card

Every generated opening runs through an automated content check (Llama Guard on Cloudflare) before it is voiced or returned. If your diary suggests you might harm yourself or someone else, the app shows a care card with helpline options instead of a story from your day. We never store the lines. The phone keeps the kind of night and its date for 14 days, so the morning note can show the helpline line. Like every story attempt, it is counted on the server against your install identifier for 48 hours, to limit attempts; nothing about the care card is recorded there. The lines went to the writer, which made the call.

Children

Ho-Hum is for adults and is not directed to children under 13.

Your choices

Delete stories in the app; turn off “Put me in my stories” to stop sending your name; or use topic stories instead of day stories.

Ask about your data

To ask about your data, write to privacy@hohum.app. We answer within 30 days.

Changes to this policy

We may update this policy; the date above shows the latest version.

This policy is governed by the laws of the State of Utah, USA.