Privacy Policy - MYO Magic
Effective November 8, 2026
MYO Magic is a personal project built and maintained by me, Carissa Allen. This Privacy Policy explains how your information is handled when you use the MYO Magic app at yotomyomagic.com. I want to be transparent about what data is collected, how it's used, and how it's protected.
1. Information I Collect
Account Information: When you log in through Yoto, I receive your Yoto user ID to associate your session with your playlists. I never see or store your Yoto password. During login, MYO Magic requests only the Yoto API permissions it needs to provide its features:
user:content:manage— Create, edit, and delete MYO playlists; upload audio files and cover imagesuser:icons:manage— Browse the icon library and upload custom icons for your playlist tracksfamily:library:manage— Organize your cards into groups (create, rename, and delete groups)family:devices:view— Display your connected Yoto playersfamily:device-status:view— Show player details like battery level and online statusoffline_access— Keep your session active so you don't have to log in again for each visit
So the app can remember you between visits, I keep a small account record: your Yoto user ID, the name and email on your Yoto account, and when you last signed in. I also keep an activity log (entries like "imported a podcast" or "export failed", with the playlist or podcast name and any error code) so I can help you troubleshoot when something goes wrong.
Google Account Information: If you choose to connect your Google Drive, I receive your Google email address and OAuth tokens (access and refresh tokens) through Google's standard OAuth 2.0 flow. Tokens are encrypted with an application-held key (AES-256-GCM) before they are stored in your server-side session, in a database that is itself encrypted at rest, and they are never shared with anyone. For Drive imports and exports that run in the background, a separately encrypted copy of your token travels with the job and is deleted with the job record within 24 hours of the job finishing.
Google Drive Data: The Drive integration works in two directions, and each direction asks only for the access it needs:
- Importing (read-only): the app lists the folders you navigate to and downloads only the audio files and ZIP archives you explicitly select. It does not scan, index, or access the rest of your Drive.
- Exporting (write): with the
drive.filepermission, the app creates a "MYO Magic Exports" folder (or uses a folder you choose) and uploads your playlist ZIPs into it. This permission only lets the app see files and folders it created itself. - Choosing an export folder: browsing your folder list to pick a destination uses the same read-only permission as importing; you'll be asked to grant it the first time you choose a folder.
Before uploading an export, the app checks your available Drive storage so it can tell you up front instead of failing midway. Exports only ever write new files — they never read your existing ones. Files you select for import are temporarily streamed through the server, held in temporary cloud storage while the import runs, and then deleted on the schedule described in Data Retention below.
Membership and Payments: MYO Magic memberships are billed through Stripe's hosted checkout, so your card number never touches my servers. I keep what's needed to run your membership: your subscription status and plan, Stripe customer and subscription references, your billing email, whether your free trial has been used, and Stripe's event notifications (which can include the name and billing details you entered at checkout) for billing history and troubleshooting.
Podcast Subscriptions: If you follow a podcast for automatic imports, I store the feed address, which episodes have already been imported, and a history of recent import runs. Private feed URLs, which can contain access tokens, are stored encrypted, with only a redacted form kept for display. Removing a feed from your subscriptions deletes its record.
Uploaded Files: Audio files you upload or import (directly, from Google Drive, or from podcast feeds) are held in temporary cloud storage (Cloudflare R2, hosted in the EU) while your import or export is processed, then cleaned up automatically on the schedule in Data Retention below.
AI Features: Some features use OpenAI to understand your audio. Track Content and the Audio Workshop send short excerpts (up to about 90 seconds per track) for transcription; Magic Enhance and Auto Organize send playlist and track titles to suggest artwork, icons, and organization. Results are cached so repeat runs don't resend your audio. Under OpenAI's API terms, this data is not used to train their models.
Artwork and Search Lookups: To find cover art and icons, the app sends the relevant playlist or track titles to book and icon databases (ISBNdb, Open Library, yotoicons.com), translating non-English search terms with Google Translate. Podcast search sends your search terms to Podcast Index and Apple's iTunes Search. These services receive titles and search terms only — never your audio, email, or tokens.
Device Data: If you turn on battery alerts, I store the player's device ID and name, its recent battery readings, and when it was last seen online, so I can email you when a battery runs low. Without battery alerts, device status is fetched live and not stored.
Contact Form: If you reach out through the contact form on this site, I receive the name, email, and message you provide. This is delivered to me as an email through Brevo (my email provider — the same service that sends battery alerts and subscription notices) and is not stored in a database.
2. How Your Information Is Used
- To provide the app's core features: importing, editing, and exporting audio, creating and managing MYO playlists, and following podcasts
- To authenticate your session with Yoto and (optionally) Google Drive
- To run your membership and billing
- To troubleshoot problems — the activity log and failed-import diagnostics exist so I can figure out what went wrong when you report an issue
- To respond to your messages through the contact form
Your data is never used for advertising, and it is never sold.
3. Google Drive Integration
MYO Magic's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Specifically:
- MYO Magic requests two Drive permissions, each tied to a feature: drive.readonly covers browsing and importing files you select (and browsing folders when you pick an export destination), and drive.file covers exporting, and can only see and manage files the app itself created
- Only the files and folders you explicitly select or navigate to are accessed
- Your Google Drive data is never used for advertising, market research, or any purpose unrelated to providing the app
- Your Google Drive data is never shared with third parties
- Your Google OAuth tokens are encrypted with an application key before being stored in your server-side session; for background Drive imports and exports, a separately encrypted copy is stored with the job only for its lifetime (at most 24 hours after it finishes), then deleted
- You can disconnect your Google Drive at any time from within the app, which immediately removes your tokens from your session
4. Data Sharing
I do not sell, rent, or share your personal information for anyone else's purposes. A small set of service providers process data on my behalf so the app can work, each receiving only what its job requires:
- Yoto: MYO Magic interacts with the Yoto API on your behalf to manage your MYO cards and playlists, using the credentials you provide
- Stripe: processes membership payments; your card details go directly to Stripe
- OpenAI: receives short audio excerpts and titles for the AI features described above
- Google: OAuth sign-in and the Drive API, Google Translate for icon search terms, and some Google Cloud infrastructure
- Cloudflare: hosts temporary file storage and serves the app's static assets
- Neon: hosts the app's database (encrypted at rest)
- Hetzner: runs the worker servers (in the EU) that process imports and exports
- Brevo: delivers contact-form messages, battery alerts, and subscription notices by email
- Content lookups: ISBNdb, Open Library, yotoicons.com, Podcast Index, and Apple's iTunes Search receive only titles or search terms, as described above
Each provider handles data under its own privacy policy.
5. Data Retention
- Sessions: your session (including OAuth tokens) expires after 30 days of inactivity
- Temporary files: cleanup is automatic and time-based — download bundles last 1 hour (24 hours for Drive exports), import staging files are swept within about 48 hours, Audio Workshop files last 7 days, and a storage-wide rule deletes anything remaining after 7 days
- Import and export job records: deleted within about 24 hours of finishing
- Failed-import diagnostics (file names, audio format details, and error output): kept 90 days, then deleted
- AI transcripts and matching results: cached up to 90 days so repeat runs don't resend your audio
- Podcast subscription data: kept until you remove the feed
- Account, activity, and billing records: kept while I operate the service, so your membership works and I can support you — email me to receive a copy of your records or have them deleted
6. Data Security
I use industry-standard security measures to protect your data, including:
- HTTPS encryption for all data in transit
- Application-level encryption (AES-256-GCM) of session contents and of the OAuth tokens that travel with background jobs; session identifiers are stored only as hashes
- Security headers (CSP, HSTS, X-Frame-Options) on all responses
- Encryption at rest from the database and storage providers
- An annual independent CASA security assessment, required by Google for Drive access
7. Your Rights and Choices
- You can disconnect your Google Drive at any time from within the app
- You can revoke MYO Magic's access to your Google account at any time through your Google Account permissions
- You can cancel your membership at any time from the billing page; you keep access through the end of the period you've paid for
- You can email me to receive a copy of the records held about you, or to have them deleted
- You can stop using the app at any time
8. Children's Privacy
MYO Magic is intended for parents, teachers, and other adults who own a Yoto player. I do not knowingly collect personal information from children under 13. If you believe a child has provided personal information, please get in touch.
9. Changes to This Policy
I may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date. Your continued use of MYO Magic after changes constitutes acceptance of the updated policy.
10. Contact
If you have questions about this Privacy Policy or how your data is handled, please reach out through the Contact page or email me at carissa@yotomyomagic.com.