Legal
Website Privacy Policy
Last updated August 2026
This policy covers proppal.double-r.studio — the PropPal website and web app, operated by Ryan Roark — including the web version of Sound Studio and live Bluetooth prop control in supported browsers. It's a separate document from the iOS app's privacy policy, since the two run on different infrastructure (Stripe instead of StoreKit, a browser instead of a device Keychain, and so on).
Information We Collect
The web app is designed to need as little as possible. Most of what it stores lives entirely in your browser; only a few things are kept on our servers, described below.
- Anonymous browser identifier — a random identifier generated the first time you use the web app, stored in this browser's local storage. It identifies a browser, not a person, and is used to track your premium voice credit balance and, if you haven't created an account, to identify this browser to our servers.
- Email address (optional) — only if you use "Restore Credits" in My Account, create an account, or buy credits through Stripe Checkout. Used to link your credit balance and/or account to that email — see Account Creation and Email-Based Credit Restore below.
- Synced content (only if you create an account) — generated audio clips, scripts, custom character profiles, and saved prop pairings are stored on our servers so they can sync to your other signed-in devices, including the iOS app. If you don't create an account, all of this stays in this browser only, exactly as before.
- Device list (only if you create an account) — a list of devices signed into your account — platform (web browser or iPhone/iPad), a name you can set, and when it was last active — so you can see and revoke access from devices you no longer use.
- Voice scripts (premium voices only) — if you generate a premium voice clip, the script text you type is sent to our backend, which forwards it to ElevenLabs to generate audio.
- Story descriptions (AI script writing only) — if you use the AI story-writing tool in Sound Studio, the short description you type is sent to our backend, which forwards it to Anthropic to generate a script.
- Locally stored audio clips — clips you generate, record, import, or apply effects to in the web Sound Studio are stored in this browser (IndexedDB), and additionally on our servers if you've created an account.
- Payment information — handled entirely by Stripe during checkout. We never see or store your card details — only a reference to the completed Checkout session, used to credit your account.
Account Creation (Optional)
You don't need to sign up, create a password, or provide any personal information to use the web app — every feature works fully anonymously by default, identified only by the browser identifier above. If you want your clips, scripts, character profiles, and saved props to follow you to another browser or the iOS app, you can create an account by verifying an email address with a one-time code in My Account. You can sign out, rename, or revoke access for any device from My Account → Devices at any time, including all devices at once.
Email-Based Credit Restore
Separately from account creation, "Restore Credits" in My Account lets you recover just your credit balance without syncing anything else: requesting a code sends a one-time 6-digit code to your email (via Resend, our transactional email provider), valid for 10 minutes and usable once. Entering it correctly links your credit balance to that email going forward, without creating an account or enabling sync. If you buy credits through Stripe Checkout, the email you paid with is automatically linked the same way.
Devices & Sessions
If you create an account, signing in sets a secure, httpOnly session cookie in this browser that keeps you signed in until you sign out — it can't be read by page scripts. You can view every device signed into your account, rename them, revoke access for one device, or sign out of all of them at once from My Account → Devices. Signing out or revoking a device signs it out immediately and clears its locally synced clips, scripts, character profiles, and saved props — it needs to sign in again to sync.
Data Storage
In your browser (always): your anonymous identifier (local storage) and, unless you've created an account, any clips you generate, record, or import (IndexedDB). Clearing your browser's site data removes all of it.
On our servers: your credit balance, keyed by the anonymous identifier and optionally your linked email. If you create an account, additionally: your account identity, device list, and synced clips, scripts, character profiles, and saved props, described above.
Microphone
If your browser supports it, Sound Studio can record audio through your microphone when you tap Record. Recordings are only made when you explicitly start one, are processed and stored entirely in your browser, and are never transmitted anywhere unless you choose to send the resulting clip to a connected prop.
Web Bluetooth
Connecting to a prop uses your browser's Web Bluetooth API — a direct radio connection between your browser and the prop's hardware. Our servers are never involved in, and never see, that connection or anything sent over it.
Purchases (Web)
Premium voice credits are sold as one-time purchases through Stripe Checkout. All payment information is handled by Stripe and subject to Stripe's own privacy policy. We only receive confirmation that a purchase completed, which price was bought, and (if provided) the email used to pay.
Analytics & Advertising
The website uses Vercel Web Analytics, a privacy-focused analytics tool that reports aggregate page-view data without cookies or cross-site tracking, and can't be used to identify you individually. We don't use any other analytics SDKs, crash reporting services, or advertising networks, and the site carries no advertisements.
Third-Party Services
The website and web app use the following third-party services:
ElevenLabs
Generates premium voice audio from script text you submit. Not stored by our backend beyond what's needed to complete the request.
Anthropic
Generates short spoken-word scripts from the description you type in the AI story-writing tool. Not stored by our backend beyond what's needed to complete the request.
Stripe
Processes web credit purchases. All payment information is handled entirely by Stripe — see Purchases (Web) above.
Resend
Delivers the one-time 6-digit code used by account creation and the email-based credit restore flow.
Vercel
Hosts the website and web app, and provides the cookieless Web Analytics described above.
Neon (database) & Cloudflare R2 (file storage)
If you create an account, your account identity, device list, and synced scripts and character profiles are stored in a Postgres database hosted by Neon, and your synced audio clips are stored as files in Cloudflare R2. Neither service is used unless you create an account.
Children's Privacy
The website and web app do not knowingly collect personal information from children under 13. No account creation or personal information is required to use them. If you believe a child under 13 has submitted information through the site, please contact us so we can address it.
Data Deletion
Clearing this browser's site data removes your locally stored clips and anonymous identifier immediately. Signing out (My Account) stops this browser from syncing, but does not delete your account or its content, since the same account may still be in use on another device. To request deletion of your account and all associated data — including synced clips, scripts, character profiles, saved props, credit balance, and any linked email — contact us below.
Changes to This Policy
We may update this privacy policy from time to time. Any changes will be reflected on this page with an updated date. Continued use of the website or web app after changes constitutes acceptance of the updated policy.
Contact
If you have any questions about this privacy policy or how the website handles your data, please reach out: