Privacy Policy

Last updated: 2026-09-23

Who we are

StoryVault — listed on the App Store as StoryVault: AI Adventures — is an iOS app published by HyperSage AI Labs LLC. Contact: support@hypersage.ai.

The short version

What this app collects

1. Story content you create

Version 1.3.1 and later: the separate AI permission controls below are part of this update. Earlier versions do not have these controls and can prepare cloud narration while reading. Until you install the update, avoid using the earlier app if you do not want AI processing.

Your permission comes first. Before an AI feature sends content, StoryVault asks you to choose Allow AI data sharing or Continue without AI. The screen names Anthropic and OpenAI and explains the information and purposes below. Installing the app, completing onboarding, subscribing, signing in, or acknowledging an earlier informational notice does not grant permission. Existing users are asked when they next use an AI feature. Your versioned decision is saved on this device.

You can decline and still read the 80 bundled offline classics, saved stories and your local library. At Profile → Settings → AI data sharing, you can review the disclosure, allow sharing, or turn it off. Turning it off prevents new AI requests, cancels pending requests where possible, and clears prefetched narration on this device. It does not erase saved stories, unpublish a story, or recall content already received by our servers or providers.

For story generation, planning and continuation, the content can include your prompts, choices, title, genre, premise, characters and their descriptions, story brief and outline, prior turns, previous chapter content or summaries, and answers to chapter questions. For illustrations, OpenAI receives scene text, title, genre and character descriptions. For narration and voice previews, OpenAI receives the text to speak, selected voice and narration directions. The app does not record or send microphone audio.

When you start an AI Adventure, submit a choice, write a custom premise, open a chapter of a book you've written, or tap Listen, your input (the text and the prior turns of that adventure) is transmitted to our backend at storyvault-api.fly.dev. With AI sharing allowed, the app may request narration of a passage before you tap Listen to reduce playback delay. When sharing is off or you have not decided, reading alone does not send a narration request or open an AI permission screen. Our backend forwards your input to an AI provider — Anthropic or OpenAI, either of which may serve a given request — to generate the next narrative segment, to OpenAI to generate an accompanying illustration, and to OpenAI's text-to-speech to produce narration audio. Anthropic and OpenAI exclude ordinary API content from model training by default, subject to explicit opt-in and feedback exceptions; we do not train our own models on it. Provider retention can include safety, legal, model/feature and separately agreed exceptions. Read Anthropic's commercial terms, its retention policy, and OpenAI's API data controls. We do not maintain a private cloud library of your unshared story input. Operational error logs may include excerpts when generation or parsing fails. Other retention includes: a size-limited cache of the narration audio we generate, which is deleted automatically as it fills; any story you explicitly publish (see §4); and anything you report, which is kept so we can review it.

2. Account (optional)

You can browse, read, and play anonymously — the app works on first launch. The free tier includes 10 AI Adventure turns as a one-time welcome, counted in the app on your device rather than on your account; a Pro subscription raises the allowance, and signing in does not change it. If you choose to Sign in with Apple or Sign in with Google (needed to publish to Tales, like or report stories, block authors, and keep your author profile), we receive and store: the opaque user identifier from Apple or Google, and which of the two you used; your email address if the provider sends a verified one (Apple's Hide My Email is supported), which we also use to recognise you if you later sign in with the other provider; the author display name and optional bio you set, both shown publicly on your author profile; and, if you subscribe, your Pro status and its expiry date. The sign-in token Google issues can also carry your Google profile name and photo; we don't keep them. Our backend issues a session token tied to that account.

Signing in is entirely optional. Signing out removes your sign-in from this device but keeps your account and what you've published; to remove those, use Delete Account (see Your rights).

3. Purchase information

When you purchase StoryVault Pro, StoreKit gives the app a transaction signed by Apple (JWS). The app sends it to our backend to verify when a purchase, renewal or restore comes through, and once more after you sign in so it can be attached to your account. The app also creates a random purchase token on your device, and while you have an active subscription it sends the signed transaction and that token with each story, chapter, illustration and narration request. If you are signed in, we store your Pro status and its expiry date on your account. If you are not, we keep daily usage counts tied to a one-way hash of that token, removed after about 35 days (see the note on clean-up in §4). The App Store handles billing, refunds, and your Apple ID — we never see your payment method.

4. Stories you publish (opt-in)

If you choose to publish a story to Tales, the community shelf, the story's title, genre, premise, chapters and cover illustration are stored on our backend, linked to your account and shown with your author display name. Before a story is published, its chapter text is sent to Anthropic or OpenAI for an automated safety check, after your AI-sharing permission: stories that pass are shown publicly to other users, borderline ones are held back from public view, and the rest are rejected. This is entirely opt-in — nothing you write is made public unless you publish it. You can request removal of a published story at any time.

When you are signed in, the stories you like, the authors you block, and the stories you report (with any note you add) are stored with your account, so the app can show your likes and your list of blocked authors, and so we can act on reports. Searches you run on Tales are sent to our server to find matching stories; they are not stored with your account, but they appear in our server logs (see §6).

To enforce plan limits, our server counts the AI requests, illustrations and narration you use: per account if you're signed in (monthly counts kept about 13 months, daily narration counts about 35 days), per purchase token if you subscribe without signing in, and otherwise per day against an unsalted hash of your network's IP address (about 35 days). Requests from the Write-Your-Own premise builder are always counted against that IP hash, even when you're signed in, and so are a few other story-setup requests when you aren't signed in. These periods are enforced by a clean-up that runs while people use AI Adventure rather than on a schedule, so a record can last past its period until the next clean-up runs.

5. On-device storage

Your saved books, reading progress, adventure runs, custom premises, and unlocked achievements are stored locally on your device using Apple's SwiftData framework. iCloud Backup, if you have it enabled, includes them per your iOS device settings.

6. Server logs

Like most web services, our server keeps request logs for a limited time to operate and secure the service. They record the IP address of each request and the address requested — which includes the words of a Tales search — and, when you're signed in, your account ID on narration requests. If you report an illustration from the image viewer, the report is logged with the illustration's prompt, your IP address and, if you're signed in, your account ID.

Analytics and diagnostics

StoryVault ships with no third-party analytics or tracking SDK, and we do not track you across other companies' apps or websites. The only third-party code in the app is Google's sign-in library and three open-source libraries it depends on (AppAuth, GTMAppAuth and GTMSessionFetcher). Those three declare no data collection; what Google declares for its sign-in library, including analytics purposes, is listed in the label section below.

We do collect a small amount of diagnostic data, sent to our own backend and to nobody else. When the app crashes, hangs, launches unusually slowly, or exceeds an iOS CPU or disk-write limit, Apple's MetricKit gives the app a diagnostic report on a later launch; the app then uploads that report as Apple produced it — including the stack trace and termination reason, your app and iOS versions, and device details such as model, CPU architecture, region format and whether Low Power Mode was on — to storyvault-api.fly.dev/v1/diagnostics/report. It is not linked to your account, and it contains no story text and no reading history. Reports are sent at most five per launch, kept on your device until delivered (a report over 256 KB is discarded instead), and removed from our server by the same clean-up (see §4) once they are older than 90 days. Day-to-day performance metrics stay on your device and are never uploaded.

This is what the App Store privacy details list as Crash Data and Performance Data, marked "not linked to you" and "not used for tracking"; we use them only to find and fix crashes and slowdowns.

How this matches the App Store privacy label

What this app does not collect

Third parties

Same or equal protection. Anthropic and OpenAI receive only the data they need to answer your requests, under commercial API terms that limit their use of it to providing that service to us (and to abuse monitoring and legal compliance) and that require confidentiality and security. We confirm that they protect your data to the same or an equal standard as this policy describes and as Apple’s App Store Review Guidelines require. None of them may sell it or use it for advertising. Fly.io hosts our servers under terms that let it use hosted data only to provide and improve its hosting service; it has no right to sell that data or use it for advertising.

Children

StoryVault is rated 13+. The bundled library is classic literature first published in 1925 or earlier, and the AI Adventure system prompt explicitly excludes explicit sexual content and any content that sexualizes minors. We do not knowingly collect data from children under 13. If you believe we have, please contact us at support@hypersage.ai.

Your rights

Deleting the app removes your library, reading progress, adventure runs and achievements from the device. Your sign-in credentials, display name and bio are kept in the iOS Keychain and can remain after the app is deleted, so sign out (or delete your account) in the app first to remove them. If you have an account, you can delete it at any time in the app: Profile → Account & Privacy → Delete Account. That permanently deletes your account, every story you published to Tales, your likes, blocks and story reports, and the usage counts tied to your account. Our server logs (which include your account ID on narration requests and illustration reports you make while signed in), and usage counts tied to a purchase token or an IP hash, aren't deleted with your account; they expire on their own. You can also email support@hypersage.ai to request deletion, or to have a single published story removed. You can cancel your Pro subscription in iOS Settings → [your name] → Subscriptions.

If you are in the EU/UK (GDPR) or California (CCPA), you have rights to access, correct, delete, and port your data. We do not sell your personal information. Contact us at support@hypersage.ai with any specific request.

This website

These pages at hypersage.ai/storyvault/ are covered by the HyperSage AI Labs website privacy policy: no cookies and no identifiers, only anonymous daily totals of page views and App Store button taps. Nothing the website counts is connected to the app.

Changes

If we change this policy, we will update the "Last updated" date and post the new version at this page. Material changes will be announced via the App Store update notes.

Contact

Questions: support@hypersage.ai