What we store,
and what we don't.
Aura is a music-discovery app that lives on your phone. There is no Aura server. Almost nothing leaves your device, and the few things that do leave do so anonymously.
Contents
The short version
Aura is built local-first. The app:
- Has no Aura-owned server and no user accounts at our end.
- Stores your readings, mood history, taste profile, liked tracks, marginalia notes, and your display name only on your device, in encrypted local storage.
- Sends anonymous catalogue queries to MusicBrainz, Last.fm, and ListenBrainz so it can find and recommend songs.
- Talks to Google (YouTube) and Spotify on your behalf only when you choose to connect those accounts.
- Shows you a system share sheet when you send a postcard. Aura never sees where you send it.
If you uninstall the app, every byte of your data goes with it.
Data that never leaves your phone
The following data lives only on your device and is never transmitted to any server, including ours:
- Your readings (playlists Aura has generated for you).
- Your mood history (the moods you've selected and when).
- Your taste profile (inferred top artists, genres, languages, and adventurousness).
- Marginalia notes (the private notes you long-press to write on individual tracks).
- Your name (the display name you provide during onboarding).
- Camera frames from the face-scan feature: captured and analysed entirely on-device by the Android ML Kit face detector. No image or biometric data is uploaded.
- The text you type into a reading (mood phrases, sound-like queries).
- Liked tracks and disliked tracks.
- OAuth refresh tokens for Google and Spotify (only if you connect those accounts).
Anonymous data that does leave your phone
To recommend music, Aura sends anonymous catalogue queries to the following public music databases. None of these requests include any user identifier. The third parties below cannot connect the requests to you personally.
- MusicBrainz (musicbrainz.org): for artist and recording lookups. We send the user-agent "Aura/1.0 (https://github.com/vmcniket/aura)" per MB's policy, which identifies the app, not the user.
- Last.fm (last.fm): for similar-artist graphs and track tags.
- ListenBrainz (listenbrainz.org): for session-based similar-artist signal.
- YouTube Data API: for music-category search results. Anonymous unless you've connected Google.
- YouTube InnerTube: a public YouTube endpoint used as a fallback resolver.
Data sent only when you connect an account
You may optionally connect a Google account (for YouTube) and/or a Spotify account. These connections are opt-in. You can use Aura entirely without them. When you choose to connect:
YouTube / Google
If you tap "Connect to YouTube" in onboarding or in Settings → Connections, Aura uses Google's standard OAuth 2.0 flow (with PKCE) to obtain:
- Your email address and display name (to show "connected as" in the app).
- Read-only access to your YouTube liked videos and channel subscriptions, used once at connect-time to seed the on-device taste profile.
- Write access to create YouTube playlists, used only when you tap "Send to YouTube Music" or "Send to YouTube" on a reading.
The scopes requested are: youtube.readonly, youtube, userinfo.email, userinfo.profile. The access and refresh tokens are stored in encrypted local storage and never leave your device except in calls to Google's own APIs.
Spotify
If you tap "Connect to Spotify," Aura uses Spotify's OAuth 2.0 flow (with PKCE) to:
- Read your top tracks, recently played tracks, saved tracks, and playlists. Used to enrich the on-device taste profile.
- Create playlists on your behalf when you tap "Send to Spotify" on a reading.
You can disconnect either account at any time from Settings → Connections. Disconnecting wipes the local tokens and (for Google) issues a best-effort token revocation at Google's servers.
Sharing, only when you choose
Aura includes a Postcard feature: turning a song into a stamped, signed image you can share. When you tap Send:
- Aura renders the postcard image entirely on your device.
- The image is handed to your phone's system share sheet (Instagram, WhatsApp, Messages, etc.).
- You choose where it goes. Aura never sees the destination, and the image is never sent to or stored on any Aura-controlled service.
Crash reports
If Aura crashes or hits an unhandled error, an anonymized crash report may be sent to Sentry (sentry.io), a third-party error-tracking service we use to fix bugs. Crash reports include:
- The error message and JavaScript stack trace.
- App version, device model, OS version.
- A randomly-generated session ID (not linked to your identity).
Crash reports do not include your name, email, OAuth tokens, taste profile, marginalia notes, or any other personal data we hold on-device. Sentry retains crash data for 90 days.
How your data is stored
Everything on-device is stored in MMKV, a fast key-value store, with AES encryption. The encryption key is generated on first launch with a cryptographic random number generator and stored in the iOS Keychain / Android Keystore, which are protected by your device's secure-element hardware (Secure Enclave on iOS, StrongBox / TEE on Android).
Even with physical access to your phone, the data is unreadable without your device's unlock credentials.
Your rights and controls
From Settings → Privacy, you can at any time:
- Download your data. Exports every byte of on-device data (taste profile, readings, mood history, interactions, marginalia) as a JSON file, then hands it to your system share sheet.
- Delete account. Wipes every persisted store, issues a best-effort revoke of your Google OAuth grant at Google's servers, and returns you to onboarding with a clean slate.
Uninstalling the app also wipes all on-device data. There's nothing else to clean up.
If you've connected Spotify, you can revoke Aura's access at any time from spotify.com/account/apps. If you've connected Google, you can revoke at myaccount.google.com → Security → Third-party apps.
EU residents (GDPR)
Aura is designed so that the developer (the data controller in EU terms) holds no user data on any server. The "right to access," "right to erasure," and "right to data portability" are exercised directly in the app via the Download / Delete buttons described above. We do not need to receive a request. Your data is already entirely in your hands.
California residents (CCPA/CPRA)
Aura does not sell or share personal information for cross-context behavioural advertising. We do not collect personal information at any Aura-owned server. The "right to know" and "right to delete" are exercised in-app.
India residents (DPDP Act)
Aura processes your personal data lawfully under your consent (given by completing onboarding and connecting any optional accounts). You can withdraw consent at any time by disconnecting accounts or deleting the app.
Children's privacy
Aura is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you believe a child has connected an account through Aura, please contact us and we will assist you in revoking that account's grant.
Changes to this policy
This privacy policy may be updated to reflect changes in Aura's features or in applicable law. When we make material changes, we will update the "Effective" date at the top and surface a brief notice in-app on next launch.
Contact
If you have any questions about this privacy policy or your data, write to:
vmcniket@gmail.com
We aim to respond within 7 days.