← StoryLoom

Privacy Policy

Last updated 2026-10-04

1. Who We Are

Charleston Apps LLC, a Kentucky limited liability company ("Charleston Apps," "we," "us," or "our"), operates StoryLoom — a website, web app, and iOS/Android apps that generate personalized interactive audio stories (the "Service"). This Privacy Policy explains what personal information we collect, why, and what choices you have. It's part of our Terms of Service. For users in the European Union, European Economic Area, United Kingdom, and Switzerland, Charleston Apps is the "controller" of your personal information, and our EU and UK representatives are listed in Section 11. This policy is written in English; any translation is for convenience, and the English version controls.

2. Information We Collect

(a) Account information. Email address and any display name you choose to add. We also collect your date of birth — before you first use the Service, not necessarily at the moment you create your account — and record it on your account once one exists; the date of birth is collected solely to confirm you meet the age requirement described in Section 5 below and in our Terms of Service, Section 2.

You sign in without a password, in one of three ways: a six-digit code emailed to you, Sign in with Apple, or Sign in with Google. There is no password to store, on the web or in the apps, and there never has been. If you sign in with Apple, we receive Apple's identifier for you (specific to our developer account), your email address — which may be an Apple "Hide My Email" relay address that forwards to your real one rather than the address itself — and your name, the first time you sign in only, and only if you choose to share it. If you sign in with Google, we receive Google's identifier for you, your email address, whether Google has verified it, and your name. Signing in with Apple or Google using an email address that already has a StoryLoom account opens that same account, rather than creating a new one, when Apple or Google has verified the address; we record which provider you used.

If you sign in with Apple, we also keep, encrypted, the Apple refresh token Apple gives us for that sign-in. We use it for one purpose: when you close your account, we send it to Apple to revoke StoryLoom's Sign in with Apple authorization, as Apple requires, and delete it once that's done. We keep no equivalent token for Google.

(b) Payment information — email only, not card data. We do not store your full card number. On the web, payments are processed by Stripe; we receive and store your email address and a Stripe customer/transaction reference, not your card details. On iOS and Android, purchases go through Apple's or Google's in-app purchase system; we receive a purchase receipt or transaction identifier from Apple/Google to grant your entitlement, not your card details. See Stripe's and Apple's/Google's own privacy policies for how they handle payment data directly.

(c) Story content. The prompts you write, the choices you make, and the story text, audio, and cover image ("Output") generated for you — including stories you choose to save or share. Prompts and choices can contain whatever you choose to write. Please do not include sensitive information about yourself (for example, health, religion, or sexual orientation) or personal information about other people; we do not ask for it, and anything you include is processed as story content by us and by the AI vendors in Section 4.

(d) Cookies and similar technologies (web). We use a first-party session cookie that keeps signed-in users signed in. Reading a story shared with you through a link requires a free account, the same as creating one. Once you're signed in, we link your browser to your account so that a shared story's audio and cover image can load without a separate sign-in check on every request. That link is renewed each time you visit while you're signed in, and ends 31 days after your last visit on that browser, when you sign out, or immediately if your account is deleted or suspended. Our Cookie Policy has the details.

(e) Device data (iOS/Android apps). Your phone model, and the operating system and app version you're running. We do not collect any device identifier — no advertising ID, no vendor ID. Apple and Google collect their own crash and performance diagnostics about the app through their standard platform frameworks, shared with us only if you've allowed it in your device settings; that's separate from the app's own crash and error reports, described in Section 2(k). If we add push notifications, we will collect a device push token and update this policy.

(f) Usage and log data. IP address, timestamps, and how you interact with the Service (e.g., which features you use), for security and product-improvement purposes.

(g) Approximate location. We derive your approximate location from your IP address — currently your country, and we may in the future also derive region (city-level at most) — never precise, device-level location, and never your exact address. This lookup runs locally on our own servers against a licensed geolocation database file; your IP address is not sent to, or processed by, any third party for this purpose. We collect this so we can understand and report on usage by country/region (for example, deciding which languages or regions to prioritize). We do not request or use device GPS location, and the web app does not use your browser's location permission.

(h) Content reports. If you report a shared story, we collect the reason you select, any additional details you provide, and — depending on whether you're signed in when you file it — either your account or a browser identifier, so we can process the report, prevent abuse of the reporting feature itself, and follow up if needed. See the Acceptable Use Policy, Section 5, for how reports are handled.

(i) Reported-account evidence. If your account is reported — by another reader or by our automatic content filter — we may retain the IP address and device information (your browser or app's user agent) associated with the reported activity, together with the date and time. We do not retain this information about any account that has not been reported, and we do not retain a reporter's own IP address; a reporter's identity is never disclosed to the account they report.

(j) Appeals. If you appeal a story's takedown or your account's suspension, we store the message you submit, tied to your account, so we can review and respond to it. We do not collect this from anyone who does not file an appeal.

(k) App diagnostics (iOS/Android apps). The apps report their own crashes and errors directly to us: a phone model, its operating system and app version, and a short trail of the app's last few dozen events (for example, "chapter 3 requested" or "narration playing"), tied to your account -- never story text, and nothing about you beyond the account. This is separate from the crash/performance diagnostics Apple and Google collect themselves under Section 2(e).

(l) Voice input (iOS/Android apps only). If you allow microphone access, the apps let you choose your next step, or dictate your own action, by voice; the microphone listens only while a story is asking you to choose. Speech recognition runs on your device where your device supports it; where it doesn't, iOS or Android sends the audio to Apple's or Google's own speech-recognition service to convert it to text -- we never receive that audio, only the resulting text. A dictated choice is read back to you to confirm before it's sent, and once sent is treated the same as a typed choice (Section 2(c)). The web app has no voice feature and never requests microphone access.

3. How We Use Information

We do not sell your personal information. Anthropic, our AI text-generation provider, is contractually prohibited from using your prompts or the story text and audio we send them to train their models. Our text-to-speech provider, Inworld AI, receives only the AI-generated story text to narrate — never your original prompt — and, absent a specific agreement to the contrary, may use that story text to train or improve its speech-generation models, consistent with its general privacy policy.

Automated decisions. We do not make decisions about you that have legal or similarly significant effects using only automated means. Our content filter may automatically decline a prompt or block Output; a person decides whether to suspend or terminate an account, and you can ask us to reconsider as described in the Acceptable Use Policy.

Legal bases (EU, EEA, UK, and Swiss users). Where the GDPR, UK GDPR, or Swiss law applies, we rely on: our contract with you, to provide the Service, generate your stories, manage your account, and process payments; our legitimate interests, to keep the Service secure, prevent abuse, fix problems, protect children from sexual exploitation and report it as described in Section 2(i) and Section 3, understand usage by country and region, send you transactional messages, and defend legal claims, in each case only where those interests are not outweighed by your rights; your consent, for marketing email, any non-essential cookies, and any tracking across other companies' apps, which you can withdraw at any time; and our legal obligations, for example tax and accounting records and responding to lawful requests. You have the right to object to processing based on our legitimate interests.

4. Who We Share Information With

We share information with the following categories of service providers, each acting on our behalf and under contractual confidentiality/data-use restrictions. Where we name a current provider, it's to be concrete about what happens today, not a promise to use that specific provider forever — see the note below the table.

CategoryCurrentlyWhat it's forWhat it receives
AI text-generation providerAnthropicGenerates story text from your prompts/choicesPrompt and story context — not your account email or payment info
Text-to-speech providerInworld AINarration audioStory text to be narrated
AI image-generation providerRecraftGenerates cover art for completed storiesA one-paragraph image description, screened to remove quoted text, email addresses, phone numbers, and other digits before it's sent — not your account email, payment info, or original prompt
Cloud storage providerCloudflare (R2)Stores generated audioGenerated audio files
Web payment processorStripeWeb payment processingYour email and payment details (held by the processor, not us)
Sign-in providersApple / GoogleLets you sign in without a password, only if you choose to use them; tells us who you areMostly a source, not a recipient — your identifier with them, your email, and your name if you share it, come from them to us. The one thing we send back: your stored Apple refresh token, when you close your account, so Apple can revoke StoryLoom's access
App store platformsApple / GoogleIn-app purchases, app distribution, crash/performance diagnosticsPurchase/transaction data; device diagnostics
Speech recognition (iOS/Android apps)Apple / GoogleConverts a spoken or dictated choice to text when your device's own recognizer can't do it, off-device onlyVoice audio, only while the app is listening for a choice — we never receive the audio itself
Application hosting providerRailwayRuns the ServiceAll data needed to run the Service
Transactional email providerPostmarkSends account and transactional emailYour email address and email content we send you
EU/UK GDPR representativeEuverify Ltd (Ireland/UK)Receives and routes GDPR/UK GDPR Article 27 inquiries from EU and UK data subjects, as described in Section 11Whatever contact information and request content you submit through Euverify's portal

Approximate location is not looked up through any provider above, and no provider or other third party ever receives your IP address for this purpose. We derive it ourselves, on our own servers, from a licensed geolocation database file — see Section 2(g).

Swapping the named provider within the same category — for example, using a different AI text-generation or text-to-speech vendor — is not treated as a material change to this policy, because the category, purpose, and data received stay the same. We'll keep the "Currently" column up to date, but won't republish this policy or send a new notice solely because we changed a vendor within a category. Adding a new category of recipient, or using a provider for a materially different purpose than what's listed here, is a material change — see Section 10.

We may also disclose information if required by law, to protect our rights or the safety of users, or in connection with a merger, acquisition, or sale of assets (subject to this policy or a successor policy). This includes reporting apparent child sexual abuse material or certain other illegal content involving a minor to the National Center for Missing & Exploited Children ("NCMEC"), together with the reported-account information described in Section 2(i); NCMEC may in turn provide what we report to law enforcement. Our service providers are located in, or process information in, the United States; Section 9 explains the safeguards we use for users outside the United States.

5. Children's Privacy

The Service requires all users to be 18 or older, or the age of legal majority in their jurisdiction if higher, with no parental-consent pathway for anyone under that age — see Section 2 of our Terms of Service. We verify this through the date of birth collected when you create an account (Section 2(a)); both creating a story and reading one shared with you through a link require an account. As a backstop, we do not knowingly collect personal information from anyone under 13, and if we learn that we have, we will delete it, consistent with the U.S. Children's Online Privacy Protection Act (COPPA).

6. Data Retention

7. Your Choices and Rights

8. Security

We use industry-standard safeguards, including encryption in transit (HTTPS/TLS), to protect your information. No method of transmission or storage is 100% secure, and we cannot guarantee absolute security. If a security incident affects your personal information, we will notify you and any regulator as the law requires.

9. International Users

The Service is operated from the United States, and your information is processed and stored in the United States, where privacy laws may differ from those in your country. By using the Service from outside the United States, you understand that your information will be transferred to and processed in the United States by us and by the service providers in Section 4.

EU, EEA, UK, and Swiss users. When we transfer your information to service providers outside your region, we rely on the European Commission's Standard Contractual Clauses (with the UK International Data Transfer Addendum where UK law applies), or on the provider's certification under the EU-U.S. Data Privacy Framework, its UK Extension, or the Swiss-U.S. Data Privacy Framework, whichever applies to that provider. You can ask us for a copy of the safeguards we rely on by emailing support@charlestonapps.com. Where no such safeguard is available for a particular transfer, we rely on the transfer being necessary to perform our contract with you.

Country and region data. The approximate location described in Section 2(g) — currently your country, and potentially region in the future — is derived from your IP address wherever you are, through a lookup we run ourselves against a licensed database file, not through any third-party service. We use it to understand where the Service is used and to decide which languages and regions to prioritize; we do not use it to restrict access to the Service.

10. Changes to This Policy

We may update this policy from time to time. Material changes — including adding a new category of service provider, or a new purpose for sharing information — will be noted by updating the "Last updated" date above and, where required by law, by additional notice. Swapping a named provider for another one within the same category, as described in Section 4, is not itself a material change. Where the law requires your consent for a change (for example, a new use of your information that needs consent in the EU or UK), we will ask for it before the change applies to you.

11. Contact Us

Charleston Apps LLC

212 N. 2nd St. Ste 100

Richmond, KY 40475

support@charlestonapps.com

EU representative (GDPR Article 27): Euverify Ltd (Ireland), Unit 3D, North Point House, North Point Business Park, New Mallow Road, Cork, T23 AT2P, Ireland — gdpr@euverify.com

UK representative (UK GDPR Article 27): Euverify Ltd (UK), 3rd Floor, 86–90 Paul Street, London EC2A 4NE, United Kingdom — gdpr@euverify.com

To submit a Data Subject Access Request, a data-deletion request, or any other GDPR-related inquiry directly to our representatives, you can also use their secure portal: https://gdpr.euverify.com/verify/02f9adab-f1b1-4a71-bcb8-cc8bf8cfe99a. This link also lets you verify our appointed representatives.