Slatework
There is no Slatework account, and no server of ours. Puzzles are generated on your device, saved to a database on it, and read back from it. Nothing you solve is sent anywhere, and there is nothing in this app you type.
Two things do leave the device, both about the app rather than about you, and both switchable: crash reports, and usage and speed. Both switches are in Settings › Diagnostics, both start on, and both are read before anything is collected. Section 3 is the whole of it.
1. What the app stores on your device
All of it lives in app-private storage — a local database and a settings file — readable by Slatework and not by other apps. Uninstalling takes every bit of it with you.
- The puzzles you have opened: the board, the clues, the answer, and the moves you have made
- Your games: the entries on each board, the pencil marks, the undo history, the bookmark, the clock and the number of hints used
- Your statistics: solved counts, times, personal bests, streaks and the ten achievements derived from them
- Your settings: theme, mistake mode, timer, pencil-mark, input and highlight options, the remembered size and tier per type, the language, and the two diagnostics switches
- The daily reminder's time, if you turn one on
- Whether the unlock has been bought, as last reported by the store. It is kept device-local.
None of it identifies you, because none of it is asked for. There is no name, no email, no profile and no sign-in anywhere in this app, and no free-text field a player can type into.
Your device's own backup
On Android, the app allows the platform's own backup, so if you have Android backup switched on, your device may copy the app's files into your Google account backup along with everything else on the phone. That is Android's backup of your device, made with your own account and governed by Google's terms — we neither see it nor hold a key to it. On iOS the same is true of an iCloud or an encrypted local device backup. Turning device backup off, or excluding the app from it, stops that copy being made.
2. Permissions, and exactly what each one is for
| Permission | What Slatework does with it |
|---|---|
| Notifications | The daily puzzle reminder, and nothing else. It is asked for only at the moment you turn the reminder on, and the reminder is an alarm on your own device — nothing is fetched and nothing is sent to schedule or deliver it. |
| Run at start-up Android: RECEIVE_BOOT_COMPLETED |
Puts that reminder's alarm back after the phone restarts. It does nothing else, and does nothing at all if you have no reminder set. |
| Vibrate | The tick under a placed digit. Granted at install, never asked for, and idle while the haptics setting is off. |
| Internet Network state |
No puzzle needs a connection. It is here for the store — the purchase, the restore, the update check and the rating sheet — and for the crash and usage reporting in §3, which the two Diagnostics switches turn off. |
There is no storage permission: the backup file is written and read through the system file picker, which grants access to the one file you choose. There is no permission for location, contacts, the camera, the microphone, the phone, all-files access, or for listing the other apps you have installed. The advertising-ID permissions that Google's analytics SDK would otherwise add are explicitly removed from the shipped Android manifest, and the advertising ID is not collected on either platform.
3. Crash reports, and usage and speed
Two separate switches in Settings › Diagnostics. Both start on, and either can be turned off at any time, permanently, from that screen. They are honoured before anything is collected rather than after: every collector ships disabled in the app's own manifest and property list, and is switched on only after the stored preference has been read. A player who turns one off is off from that moment, and stays off across launches.
Crash reports
Governed by Settings › Diagnostics › Crash reports. When the app crashes or hits an error it handled, a stack trace, the device model, the operating system version, the app build and the app's own breadcrumbs go to Firebase Crashlytics so the fault can be fixed. Thirteen generators, 22 languages and a hand-drawn board produce faults that only exist on hardware nobody here owns; without a report there is no way to learn one happened.
Usage and speed
Governed by Settings › Diagnostics › Usage and speed. It covers Firebase Analytics and Firebase Performance together:
- Which screen is open — one of play, daily, stats, settings, board, rules, tutorial, paywall, history or achievements
- Three events: a puzzle started, a puzzle solved, and a generation that failed
- Their whole vocabulary: a puzzle type, a grid size, a difficulty tier, a number of seconds and a number of hints. That is the complete list, written out in the code as the only names an event may carry.
- App start time, screen rendering, and three timings of our own: how long a puzzle takes to generate, and how long a backup takes to write and to read
- The Firebase app-instance ID, which is what makes two events from one install countable as one session. It is the SDK's own identifier — not an advertising ID, not the iOS vendor ID — and there is no account in this app to join it to.
None of it is shared with anybody, and none of it is used for advertising. The app contains no advertising, attribution or A/B-testing SDK, and nothing here profiles anyone or is joined to data from any other company. Everything sent goes over HTTPS. Google acts as our processor for these reports, and their handling of them is covered by Google's own privacy terms.
Neither switch can carry a puzzle, a board, an entry, a time on a specific board or anything you chose to name, because nothing in this app is typed by a player and analytics parameters come from a fixed vocabulary in the code.
4. Buying the unlock
The unlock is one purchase, once, made through Google Play Billing on Android or StoreKit on iOS. Both run in the store's own process, not in ours: the app never sees or stores a card, a billing address or a store account name. There is no server of ours in the path, and nothing to validate against — the entitlement is cached on the device, which is also why a purchase keeps working with no connection.
Restoring on a new device asks the store, not us. What the store collects in the course of a purchase is governed by Google's or Apple's privacy policy, not by this one. The entitlement is deliberately kept out of the backup file, so a backup cannot move a purchase between accounts.
5. Your backup file
One versioned file holds every puzzle, game, statistic and setting. It is written and read through the system file picker on both platforms, so it goes exactly where you send it and no storage permission is needed. The app never uploads it, and there is no cloud copy of it anywhere. An imported reminder comes back as a time but never as an "on", and the entitlement is not in the file at all.
6. What you can do with your data
- Turn either diagnostic off in Settings › Diagnostics. Collection stops from that moment, and Firebase resets the app-instance ID rather than carrying it forward, so what is sent afterwards is not joinable to what was sent before.
- Export everything to a backup file, with no account and no unlock.
- Delete anything in the app — a game, a history, or the whole database.
- Uninstall. That removes everything the app kept on the device. Because we never held a copy, there is no server-side record to ask for the deletion of, and no deletion URL to send you to. Crash reports already sent can be deleted on request — write to the address in §9.
7. Children
Slatework is a puzzle game for a general audience and is not directed at children under 13. It has no advertising, no social features, no messaging, no user profiles and no accounts, and it collects no personal information from anyone, of any age.
8. Changes to this policy
If what the app stores or sends changes, this page changes with it and the date at the top is updated. Anything that would move an answer here — an identifier of any kind, a cloud copy of the save file, a push service, or an advertising or attribution framework — is a change to the product's own promises, not merely to its wording.
9. Contact
Questions about this policy, or about anything Slatework stores: support@crackoncloud.com