TachTables · PRIVACY
Last updated 20 September 2026
The app collects nothing of its own
TachTables works offline. Playback, analysis and the library all run on the device it is installed on and need no connection. Its own code collects no personal data, builds no profile of you or your music, and sends nothing anywhere.
There is no analytics, no advertising and no crash or error reporting. The only third-party libraries that could send anything anywhere are Google Play's own, linked for what only the store can do for the app: tell it a newer build is on Play and install it, and handle a purchase, when the app offers any. What Google Play collects in doing so is covered by Google's privacy policy, linked below. The open-source libraries the app also includes, listed beside Google's on its licences screen, run entirely on the device and make no network call.
The permissions it holds
The deck's own, each of which exists to make it work. None of them moves anything off the device.
- Music and audio, to list and play the audio already on your device. Tracks are read through Android's own media index, and are never copied, altered or uploaded.
- Modify audio settings, to claim the low-latency output the engine needs and to hand it back afterwards. A preference left pinned would steer every later sound on the device.
- Record audio, which Android shows as the microphone. The app asks for it once, on Android 11 and later, the first time you connect a USB audio interface that has inputs, because Android offers to always open an app for such an interface only if the app may record. The app only uses an input when you turn on a feature that needs one. Declining it, or revoking it later in Android's settings, changes nothing but that Android asks each time the interface is connected.
- Foreground service and media playback, to keep the audio running while the deck is off screen.
- Wake lock, to keep the device awake through a set.
- Notifications, to show the playback notification.
- Notification policy access, to read whether Do Not Disturb would silence the output.
- One named after the app itself, which Android's support library defines so that only the app can deliver to the receivers it registers while running. Nothing else can hold it.
Google Play Billing adds one more, as Google ships it: the Google Play billing service, which lets the app ask the Play Store app on your device what you own and, when the app offers a purchase, hand the purchase to it. What Google Play does in handling either is covered by Google's privacy policy, linked below.
What stays on your device
- Your settings, including the latency trim measured for that device's own audio path.
- Per-track work: cue points and beatgrid corrections.
- An analysis cache of tempo, beat and key results, so that a track is analysed once rather than on every load.
All of it sits in the app's private storage. Uninstalling the app removes it. Clearing the app's cache removes the analysis results, which are rebuilt when next needed.
Latency trims are deliberately withheld from both Google's cloud backup and phone-to-phone transfer. A trim measures one device's audio path, and carried onto different hardware it is a correction applied against a delay that was never there.
If you installed from Google Play
Installing and updating the app, and any purchase in it, go through Google Play, and what Google Play collects in the course of them is covered by Google's privacy policy at policies.google.com/privacy. That collection is Google's rather than ours.
This website
There are no cookies, no analytics, no tracking scripts and no accounts. Nothing you do on this site is recorded by us.
The site is served by GitHub Pages, so delivering a page to you means GitHub receives your network address and request under its own practices, described at docs.github.com.
The front page carries a radio panel, and it reaches other hosts at two different moments. The audio itself is contacted only when you press play.
The now playing line is the one worth stating plainly: when the front page loads, and every fifteen seconds for as long as it stays open, your browser asks the selected station's service what is currently playing. That request goes to the station directly, so your network address and browser identification reach them whether or not you ever press play. Closing the page stops it.
The front page can also travel through a scene behind the dial, which nothing starts but you. The first time you press EXPLORE, your browser asks www.random.org for two random numbers to lay the scene out with, so your network address and browser identification reach them at that moment and at no other. Never pressing it means never reaching them. If they cannot be reached the scene runs anyway, on a number your own browser made up.
One of the four is a recorded set rather than a station. It has no service to ask what is playing, so it is never polled and nothing is contacted for it until you press play -- at which point the audio comes from philosofia.ai, which is ours.
Where each one is served from, and whose it is:
- BASSDRIVE, at bassdrive.radioca.st -- https://www.bassdrive.com/
- DNBRADIO, at azrelay.drmnbss.org and azura.drmnbss.org -- https://dnbradio.com/
- KEXP, at kexp.streamguys1.com and api.kexp.org -- https://www.kexp.org/
- TACHYON, at philosofia.ai -- a recorded set of ours, listed at https://tachtables.com/mix
Children
TachTables is not directed to children. Because the app collects nothing from anyone, there is nothing held about a child either.
Changes to this statement
Any change is published on this page, and the date above changes with it.
Contact
TachyonDev, LLC is responsible for this app and this site. Questions about either go to tachyondev@tachyondev.com.
« BACK TO TACHTABLES