Your code.
Your account. Your phone.
PocketCode is not an AI provider, doesn't process your code on our servers and doesn't train models with your work. You connect your own accounts and your keys stay on the device, encrypted (the GitHub token is the one exception, below).
BYOK — your account, your model
Any AI, hosting, BaaS or observability provider (4 AI providers plus a Custom endpoint + 33 external services) runs against your own token. PocketCode does not sit in the middle (the one exception is the GitHub token, below).
Encrypted on-device
API keys, SSH keys, database passwords and OAuth tokens are encrypted with AES-256-GCM using the Android Keystore. One exception: if you connect GitHub, your GitHub token is also stored on our servers, encrypted, so the integration can list your repositories.
No proxy in the middle
AI, deploy, monitoring and remote database calls go directly from the phone to the service. The exception is GitHub: our server uses your stored token to fetch your repository list. We do not run servers that process your project code.
Biometric authentication
Opening the API keys list and Connected Services, deleting your account and, with the database biometric lock on, entering the database module and showing masked values in clear ask for your fingerprint, face or screen lock. It is a gate, not a vault.
Your code does not train models
PocketCode does not use your code, prompts, files, queries or project metadata to train our own or third-party models. Every AI interaction goes to your provider under their policy — and never passes through us.
Data local by default
Projects, snippets, queries, connections and schemas live in the app's local storage. Your projects and files are never uploaded to PocketCode or to Cloud Sync: there is no upload path for them (an AI provider only gets what you attach or let the agent read). Cloud Sync (Firebase) is opt-in and Pro, and covers 7 groups: settings, snippets, connections (no passwords), workflows, extensions, AI conversations and usage stats.
Where each thing lives
Full transparency: for each data type you know exactly where it's stored, whether it leaves the phone and where it goes.
What always stays on the phone
- •Your project source code (an AI provider only gets what you attach or let the agent read)
- •AI keys, SSH keys, DB passwords and service tokens (encrypted; the GitHub token is the one exception)
- •Query history and workflow run history
- •Local database (embedded PostgreSQL)
What leaves the phone — and where it goes
- •AI: directly to the provider (Gemini, OpenAI, Claude, Copilot…) with your token. No proxy from us.
- •Deploy / BaaS / monitoring: directly to the provider (Vercel, Render, Sentry…). No proxy from us.
- •SSH and remote databases: direct device → server connection.
- •PocketCode's backend and Firebase: sign-in (Firebase Authentication), your profile and settings, quota, two-step verification, push token, feedback and bug reports, and the GitHub access token if you sign in with GitHub (stored encrypted). Analytics and crash reports only if you consent, with hashed project names and never your code.
- •RevenueCat and Google Play: Pro subscription status (no payment data).
- •Cloud sync (Pro and opt-in): 7 groups — settings, snippets, connections (no passwords), workflows, extensions, AI conversations and stats. Never your projects.
What we never send anywhere
- •Your source code to our servers — because we don't run servers that process it
- •Your AI prompts to our servers for processing — they go directly to whichever provider you pick (if you turn on Cloud Sync, your chat history is stored in your account)
- •Your AI keys, SSH credentials and service tokens — they stay on the device (the GitHub token is the one exception, stored encrypted if you sign in with GitHub)
- •Your code to train models — neither ours, nor third-parties', nor anonymised
Defense in depth
Protections stack: even if someone has physical access to the unlocked phone, the most sensitive actions still require another confirmation.
Credential encryption
All tokens, API keys, SSH keys and DB passwords are encrypted with the Android Keystore — hardware-backed (StrongBox) when the device supports it. The keys never leave the OS keystore, and each app is isolated from every other app's keys.
Biometric gate on sensitive actions
Opening the API keys list and Connected Services from Settings, deleting your account, and (if you turn on the database biometric lock) entering the database module and showing a masked value in clear require your fingerprint, face or screen lock. A destructive write on a Neon, Supabase, Turso or D1 database also asks for your fingerprint.
Safe mode on destructive operations
Dangerous SQL operations (such as DROP TABLE, TRUNCATE or a DELETE without WHERE) are intercepted: a dialog shows the exact SQL and the estimated affected rows before they run. There is no switch to turn it off. On Neon, Supabase, Turso and D1 the console is also read-only until you turn that off.
Data masking rules
You define masking rules (a column-name pattern and a mask type) and the data viewer shows matching columns masked; the database itself is not touched. Showing a value in clear asks for your fingerprint or PIN when the biometric lock is on.
Per-tool permissions for the AI agent
The chat agent only uses what its access level allows (No tools, Read only, Ask first, Auto-edit or Full access) and the per-category permissions you set (file writes, terminal, database, etc.). The default is Auto-edit: it writes files by itself and asks before running commands, using the network or deploying.
Risk checks on AI commands
When the AI runs a command in the terminal, it is classified by risk first: the most destructive commands never run and risky ones need a justification. File tools stay inside the project. This is defense in depth, not a sandbox: the local shell runs with the app's own permissions.
Found something?
If you find a security vulnerability, email support. We respond within 48 business hours and ship patches in severity order. We don't run a bug bounty program, but we publicly credit every responsible report (with your consent).
You can also see security.txt at /.well-known/security.txt.
Privacy policy
Data we collect, how, and for how long
ReadTerms of service
Rules of the road when using PocketCode
ReadDelete account
How to delete your account and all its data
Read