AI Chat Desktop — PCI & Tokenization Testbed
A localized, mock AI chat app built as a hands-on sandbox to internalize PCI-style data handling and tokenization — no real cardholder data involved. Models a tokenization-shaped trust boundary (the secret never leaves the trusted main process), encryption at rest, scope reduction via a hostile-by-default sandboxed renderer, and a fully local data plane. Electron + PocketBase, cross-platform installers via GitHub Actions.
The build
A localized, mock AI chat app built as a hands-on sandbox to internalize PCI-style data handling and tokenization — no real cardholder data involved. Models a tokenization-shaped trust boundary (the secret never leaves the trusted main process), encryption at rest, scope reduction via a hostile-by-default sandboxed renderer, and a fully local data plane. Electron + PocketBase, cross-platform installers via GitHub Actions.
What it does
- Tokenization modeled: the auth secret lives only in the trusted main process, never reaches the renderer
- Encryption at rest with safeStorage — and no silent fallback to plaintext when the keystore is unavailable
- Scope reduction: sandboxed renderer (context isolation, no nodeIntegration), strict runtime CSP
- Typed Result<T> IPC so the untrusted UI can never crash or destabilize the trusted layer
- Fully local data plane (PocketBase + mock AI), both bundled and auto-spawned by the app
- Cross-platform: macOS (DMG), Windows (NSIS), Linux (AppImage/deb) via tag-triggered CI