Your music.
Your choice.

Updated October 12, 2026 · Current beta policy

iANDY Deck is made by iANDY Studio, operated by Andy Li. Local audio, drawings and motion input stay on your device. Apple Music access, online lyric matching and AI selection are separate choices. We do not add advertising or cross-app tracking.

Your local recordings stay local.

Local analysis and the manual DJ library’s on-device style ranking do not upload audio. Media access, online lyrics and any separate cloud suggestions are distinct choices.

Apple Music

Listen’s SOUND picker offers Follow Apple Music, Local audio and the included dian! demo. Follow uses iOS media-library permission. The existing application-controlled Apple Music library and playback functions, where available, use MusicKit authorization and subscription checks separately; these are not Listen’s default song-picker interface. A playlist is added to your library only after you choose to save it. You can revoke music access in iOS Settings.

In Listen → Follow Apple Music, Deck uses public Media Player APIs to observe the system Music player’s current song, playback state and position while Deck is in the foreground. The observer does not issue play, pause, queue or seek commands to that external player. The follow preference is saved locally; reopening Deck can resume foreground observation when you have already granted media access. Following does not provide audio samples, an audio spectrum or guaranteed background tracking. This source currently follows Apple Music only; Deck does not connect to other music services in this release.

Deck does not receive your Apple password or send MusicKit user tokens to our recommendation server. Music streams remain under Apple's control. Apple Music artwork is displayed through supported APIs; the release does not upload artwork to AI, export protected music, or save artwork into the shared Widget container.

Apple processes music requests under its privacy policy. Subscription, region and catalog availability can affect playback.

Local analysis and optional AI song suggestions

Deck analyzes locally playable recordings on the device for waveform, tempo and supported musical-key estimates, with confidence and unavailable states. Deterministic local matching uses measured features and available metadata to help choose tracks for Side A and Side B. On compatible devices, Apple’s on-device Foundation Models can refine style ranking using real embedded metadata. This does not hear the recording or invent a tempo, key or genre. If the model or metadata is unavailable, Deck shows measured local matches. The manual performance interface does not offer Auto transitions or Beat Sync; a suggestion does not load or start another record without your choice. The browser demo plays its included recordings and does not claim access to your library or live library-based AI suggestions.

The current manual DJ library’s analysis, imported metadata and optional on-device style ranking stay on the device. They do not use the OpenAI cloud recommendation service.

Separate legacy cloud suggestions

Where a separate legacy cloud-suggestion function is available and you explicitly enable it, its selection request sends the current song and a bounded set of playable candidates’ IDs, displayed titles, artists, genres and durations, the requested direction, and excluded song IDs to our Cloudflare-hosted service. The service sends this bounded metadata to OpenAI to rank candidates. No bulk library export is performed; only current song details and a bounded set of playable candidates are sent. Playlist names, recent listening history, audio, lyrics, artwork, drawings, motion readings, Apple credentials and private file paths are not sent. A displayed title can come from the filename when a local file has no title metadata.

OpenAI is asked not to store a response (store: false). This is not a guarantee of zero retention: its default abuse-monitoring logs may retain API data for up to 30 days, subject to exceptions described in OpenAI's API data controls. OpenAI's API data is not used to train models by default.

A random installation identifier is created only when you enable AI. It is not a hardware identifier or an account login. Our server stores daily request counts under day-specific hashes of that identifier and the network address, plus a global count. This separates users on shared Wi-Fi while keeping network and overall abuse limits. These hashes are pseudonymous, not guaranteed anonymous. Raw song requests and recommendation responses are not persisted in our database or included in our application logs.

Quota records dated more than seven days ago are removed in bounded batches when later requests run; records can remain longer when the service is inactive. Cloudflare processes requests and ordinary security/service logs under its privacy policy.

Use Style → Privacy & About → AI suggestions to withdraw consent. This cancels pending app requests and removes the installation identifier; already transmitted requests may already have been processed. To request help with retained service data, contact us. When AI is unavailable or limited, any local metadata matches are identified as local matches, rather than AI results.

Your lyrics and system surfaces

Text or LRC files you choose to import are parsed on the device and are not sent to OpenAI or our recommendation server. You are responsible for having permission to use the text. Public availability of a lyric service does not establish commercial display or synchronization rights; observed-position timing is a technical capability, not a content-license grant.

Beginning with beta 0.2(17), optional LRCLIB matching sends the current song’s title, artist and duration directly to LRCLIB over HTTPS after your separate in-app permission. The service receives the network address and request details needed to process that lookup. Audio, your Apple account, Apple Music user tokens and your complete library are not sent. Manual lookup and automatic matching use this same consent. Results may be missing or belong to a different recording; timestamps are not guaranteed.

Online results and lookup caches remain in memory for the current app session rather than becoming saved lyric files. For an imported local recording, matched or imported timestamps can follow Deck’s actual local playback clock. In foreground Follow Apple Music, matched timestamps can use the external player’s actually observed position; when identity or clock is unavailable, Deck falls back to artwork and metadata. Apple Music tracks played by Deck’s ApplicationMusicPlayer path display plain text with manual line selection. The original included dian! recording has its own artist-provided timed lyrics.

You can turn online matching off in Style → Privacy & About. This cancels pending app lookups, stops new requests and clears the in-memory online lyric cache. A request already sent may already have been processed by LRCLIB; changing the setting does not delete information the service has already received. Imported or explicitly saved user text is separate local data.

Widgets and Live Activities may show current song metadata, a current lyric line, saved display preferences or an original drawing thumbnail. A small observed snapshot is kept in Deck’s private App Group shared by the app and its extension. The original artist-provided dian! lyrics have a separate bounded local timeline cache; online third-party lyrics are not copied into that future timeline. The extension does not make lyric or AI network requests, and protected Apple Music artwork is not exported to it. iOS controls background refresh, pre-rendering and surface availability; continuous or exact per-line updates are not promised. You can disable Live Activities and remove widgets.

Earlier beta builds used a different online-proxy path and cover thumbnails for system surfaces. The legacy protected-artwork export and proxy remain disabled. Beta 0.2(17) introduces the separate, opt-in direct LRCLIB flow described above; it does not restore the old automatic proxy behavior.

Local audio, DJ files, drawings and motion

When you choose an audio file through iOS Files, including compatible USB storage or a cloud provider already connected there, Deck copies it into private app storage, derives a local content hash, and reads available title, artist, duration and cover metadata on the device. Deck does not create an independent connection to Drive, Dropbox or another cloud account; the system file provider manages access. The most recent successful selection is remembered locally. Local playback uses decoded audio for sound-responsive visuals and the real player clock for position. It does not borrow the included dian! recording’s lyrics or cover. The import itself sends no audio or file metadata to a server; separate online lyric matching can send the selected title, artist and duration only after consent. Local audio can continue in background while it actually plays; iOS controls execution and system-surface presentation.

Forms and Ink are original visual tools, with Tilt and Remix controls. For external Apple Music Follow, these tools use observed playback state and user input rather than audio samples or a claimed external spectrum. Drawings and visual preferences stay local; the shared Widget snapshot can include an original drawing thumbnail as described above.

Imported audio, downloads, waveform/tempo analysis, cue points, playback settings and drawings are processed locally. A download request connects to the displayed music source (for example Wikimedia Commons or Internet Archive), which can receive the network address and requested file. Deck displays source and license information. It does not bypass streaming protection or send these files to AI.

Downloaded tracks can be removed from the Music library with a confirmation. A track actively loaded into a deck must be unloaded before deletion. Deleting an imported copy does not delete its original outside Deck. User settings and cue points remain local. Tilt readings are transient, used only after Tilt is enabled, and are never uploaded. Taptic feedback needs no microphone access.

To remove all installation data, use Delete App, rather than Offload App. App Group data may remain while a related app or extension is still installed. Deleting a file or withdrawing consent does not undo data already processed by an external service.

Website, beta applications and diagnostics

The website's beta form collects your email and an optional name only when you submit it, for invitations and testing communication. It is separate from native app AI consent. To remove an application, email us. We do not require a beta application or an account to use local app features.

Apple may collect TestFlight feedback and diagnostics under its own controls. We do not add an analytics SDK or advertising identifier. Necessary hosting/security logs can include IP addresses, browser or client details, request paths and error status. Our application error logging excludes song metadata, credentials and provider response bodies.

Music

iANDY Deck demonstration — music credits

DJ / COMPLETE STEREO RECORDINGS
No excerpts, downmixing, retiming or new audio encoding. BPM and key are unknown.

"Hip Hop Instrumental 1" — Ketsa
Hip Hop Instrumental 1 by Ketsa — Music by ketsa.uk; artist CC BY grant; full original album MP3, no audio edits.
Source: https://ketsamusic.com/ketsa/
License: CC BY (artist explicit new grant) — https://creativecommons.org/licenses/by/4.0/
SHA-256: 473ddbc7d83fdfdd06edab5ba48d022f48855705d3e8b1f2da693934fbe25ad1
No artist endorsement is implied.

"Club Translyvania" — Computer Music All-stars
Club Translyvania by Computer Music All-stars, CC BY 4.0; MP3 transcoded by Wikimedia Commons.
Source: https://commons.wikimedia.org/wiki/File:Computer_Music_All-stars_-_Club_Translyvania.ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0
SHA-256: 8bfb9b6845f6e90e0b9a2ed83babd2e0d63ba58cb6c405b4c933d5be812348be
No artist endorsement is implied.

"Workdaze" — Nctrnm
Workdaze by Nctrnm, CC BY 4.0; MP3 transcoded by Wikimedia Commons.
Source: https://commons.wikimedia.org/wiki/File:Nctrnm_-_01_-_Workdaze.ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0
SHA-256: c9d38e49e934f6397517d4e7de3fd45a8ce0392d202aa8965b125e9fd96d95da
No artist endorsement is implied.

"Distilled" — Nctrnm
Distilled by Nctrnm, CC BY 4.0; MP3 transcoded by Wikimedia Commons.
Source: https://commons.wikimedia.org/wiki/File:Nctrnm_-_01_-_Distilled.ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0
SHA-256: 43b65d2a861f7f3b5dedf38de761d5c4288b93136bea957bedb1dcece1c26ce5
No artist endorsement is implied.

"Tranceverse" — Sascha Ende
Tranceverse by Sascha Ende, CC BY 4.0; MP3 transcoded by Wikimedia Commons.
Source: https://commons.wikimedia.org/wiki/File:Tranceverse_by_Sascha_Ende.ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0
SHA-256: cbaab1fc6b68cd71dd6130e124e9794151c466083acd45377fc97ce4592dc5d3
No artist endorsement is implied.

"I Feel It (Instrumental)" — Sascha Ende
I Feel It (Instrumental) by Sascha Ende, CC BY 4.0; MP3 transcoded by Wikimedia Commons.
Source: https://commons.wikimedia.org/wiki/File:Sascha_Ende_-_I_Feel_It_(instrumental)_(cc-by)_(filmmusic).ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0
SHA-256: c7220ec53473f4bd894324733365e975265cd2a192f8c1826fb8d22293a1d5c9
No artist endorsement is implied.

"Queue" — Nctrnm
Queue by Nctrnm, CC BY 4.0; MP3 transcoded by Wikimedia Commons.
Source: https://commons.wikimedia.org/wiki/File:Nctrnm_-_Queue.ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0
SHA-256: d1abd3726fe4bb06a63ceb8cd3958cb5918218887f0ebf7a5dea887e4f2e3718
No artist endorsement is implied.

LISTEN
"Kiss Me in Low-Res" — dian!
Original recording and bilingual lyrics provided by the artist for inclusion
in iANDY Deck. All rights retained by dian! This is not a CC-licensed track.
Complete recording, AAC conversion and loudness normalization.
Lyrics: original line timings from the artist-provided subtitle track.
No word-level or phonetic timing is claimed.

Demo cover is original artwork created for dian!'s recording.
Home Screen, Lock Screen, Dynamic Island and car previews are browser
layouts following the same Listen clock; they are not installed system
surfaces. Device and background updates depend on iOS.
Riser and Impact sounds are synthesized without third-party samples.
The demonstration does not expose music download controls.