Security architecture
Each game ships as one self-contained HTML file. All code, styles and art are inline. Nothing is fetched at run time.
- Every file declares a Content Security Policy of
default-src 'none' with connect-src 'none'. The browser itself refuses any network request, even if code tried to make one.
- No external scripts, fonts, images, frames or style sheets. No CDNs, analytics or advertising.
- No chat, messaging, accounts, logins, user-to-user features or free-text entry.
- No hyperlinks to the internet. The only navigation is between games in the suite.
- No downloads, file access, camera, microphone, location or other device permissions.
- An automated check runs on every build and fails it if a file contains network APIs, external URLs, syntax too new for older WebViews, or a missing security policy.
- Every build is also played start to finish by an automated test with all network access blocked. The build fails if any request is attempted or any error occurs.
You can check this yourself: open any demo, turn off Wi-Fi, and keep playing.
Content standards
The suite is written to pass correctional publication review, including Washington DOC's publication review standards, without special exceptions.
- No violence, weapons, drugs, contraband, nudity or sexual content.
- No escape themes, security bypasses, maps, floor plans or layouts.
- No real or invented gang names, colors, signs or symbols.
- No contempt for staff or any group. No profanity or slurs.
- Trauma-informed feedback: no red error flashes, buzzers or shaming messages. Mistakes fade gently and play continues.
- Calm sound design built from soft synthesized tones, with mute on every screen.
- Reflections written at about a 5th-grade reading level, welcoming to every player.
- Cultural content is researched and reviewed for respect and accuracy, avoiding stereotypes and the misuse of sacred practices.
Data and privacy
The games collect no personal information. Progress is saved in the tablet's local browser storage so it survives restarts and sync cycles.
| Stored on the device | Best score per level, session count, the last 30 scores, sound preference and gold seams collected (Kintsugi Reframe) |
| Never stored | Names, ID numbers, free text, photos, audio, location or contacts |
| Sent anywhere | Nothing. There is no code path to send data, and the security policy blocks it regardless |
| Corruption safety | Saved data is validated when read. Damaged or missing data quietly resets to defaults, so a game never crashes |
| Reset | Clearing the app's storage, or reimaging the tablet, removes all progress |
For approved research or program evaluation, we can add an aggregate, de-identified export that the facility controls, under a written data agreement. It is off in all current builds.
This website
We hold our own site to the same standard. It sets no cookies, runs no JavaScript outside the game demos, loads no third-party fonts, scripts or trackers, and is served with strict security headers. Our fonts are open-source Noto typefaces, hosted here. Contact happens by email, so no form data passes through us.