Legal · last updated July 8, 2026

Privacy Policy

TL;DR

We hold what we need to run the service — your Keycloak identifier and the tracks and metadata you save or publish — and nothing for ad-tech or third-party profiling. Generation requests go straight from your browser to ACE Music’s API; your ACE Music API key lives only in your browser’s localStorage and never touches our servers. Chat with Majik runs in your browser via WebGPU, and custom LLM provider settings (e.g. your OpenAI key) also stay in localStorage. The only analytics is our own product analytics (PostHog — see below): usage events, no session recording, never your content. No ads, no selling data.

What we collect

  • Account — your Keycloak ID, email, preferred username, and realm roles. Sourced from Unicorn Commander SSO.
  • Your Library — tracks you save to the server-side Library: audio files, cover art, lyrics, prompts and generation parameters attached to those tracks (BPM, key, style, engine).
  • Publishing events — target platform, timestamp, and track id, for your publishing history and platform-side rules.
  • Play counts on public track pages — an aggregate tally only, not per-listener identity.
  • Operational logs — server-side error traces (for debugging) and load metrics. Retained 30 days.

What stays in your browser

  • Your ACE Music API key — stored in localStorage, sent by your browser directly to api.acemusic.ai with each generation request. It never reaches our servers. Generation prompts you submit go to ACE Music under ACE Music’s privacy policy; if you save the result to your Library, the prompt/parameters are stored with the track as metadata.
  • Chat with Majik — runs locally in your browser via WebGPU. Those prompts never reach our servers.
  • Custom LLM provider settings — OpenAI / OpenRouter / local-model API keys live in localStorage only.
  • Offline app data — Majiks Music is an installable PWA; cached audio and app assets live on your device.

Product analytics

We use PostHog (hosted in PostHog’s US cloud) as first-party product analytics, to understand which features get used — pages opened, a generation started or finished, a track saved or published — so we can improve the studio. Session recording is disabled, and events never include your prompts, lyrics, track titles, or API keys. When you’re signed in, events are tied to your SSO account id so we can see the product journey — never to ad-tech identifiers, and never shared or sold. Deployments without an analytics key configured load no analytics at all.

What we do not collect

  • Third-party ad identifiers. We don’t run ads.
  • Cross-site ad or data-broker tracking. The only analytics on this site is the first-party product analytics described above.
  • Your payment details — Majiks Music charges nothing.

How we use it

To operate the service: store your Library, serve your public track pages, publish to platforms you choose, and respond to support requests. We do not sell your data and we do not train models on your work.

Where it lives

Audio files and the database run on Magic Unicorn infrastructure we operate directly (Charleston, SC, USA). Sign-in identity is issued by Keycloak at auth.unicorncommander.ai. Cloudflare proxies majiks.music traffic for TLS and DDoS defense. Generation traffic goes browser-to-ACE-Music and is governed by ACE Music’s terms and privacy policy.

Your rights (GDPR / CCPA)

Email [email protected] to export your data, correct inaccurate records, or delete your account. Account deletion removes your tracks, artist profile, publishing history, and any cached data within 30 days. We honor GDPR and CCPA requests. Tracks already published to majiks.online are governed by the majiks.online privacy policy and terms.

Cookies

We use a session cookie for NextAuth sign-in, and — when product analytics is enabled — a first-party PostHog identifier (cookie / localStorage) so repeat visits count as one person. No third-party ad or cross-site tracking cookies, no fingerprinting.

Children

The service is not directed to children under 13 and we do not knowingly collect their data. If you believe a child under 13 has an account, contact us and we will delete it.

Changes

If we change what we collect or how we use it, we update this page and the date at the top.