Security and privacy
How keys, sign-in, permissions, storage and code changes are kept safe.
Keys act as you, and no more#
- A key belongs to one person in one company, with the scopes chosen when it was made.
- Your role is checked on every request: if you're demoted or leave the company, your keys lose that access at once.
- Keys never bypass the company's rules: permissions, approvals, budgets and locked rooms apply exactly as in the app.
- Other companies' data is never visible: anything outside your company answers "not found".
Browser sign-in#
- The secret device code stays on your computer; the server keeps only its hash.
- Approving records only what you granted (which companies, which scopes). The keys are created when your terminal collects them, once, within 15 minutes, so a usable key is never stored on the server.
- The short code you see in the browser grants nothing by itself; it needs your signed-in approval. Always check it matches your terminal, and cancel if you didn't start a sign-in.
On your computer#
- Keys are saved in
~/.gitpanda/config.json, readable only by your user (mode 600). GITPANDA_KEYlets scripts use a key without saving it.gitpanda logoutremoves saved keys; revoking in the app (GitPanda → Command line) stops a key everywhere, immediately.
On the server#
- Keys are stored as SHA-256 hashes, never in plain text.
- Every sign-in approval, push, goal and decision is in the company's audit log.
- Files and images are served with a sandboxing content policy and never rendered as pages, so a document can't run code in your browser.
Your documents#
- Pushing creates a new version; earlier versions are kept, so nothing can be silently lost.
- Deleting a file locally never deletes it from your company.
- Locked rooms are only ever visible to owners and admins, including in clones and zip downloads.
- Repository visibility (private, company, public) and sharing are controlled by owners and admins.
Code#
- AI engineers only touch repositories your GitHub token allows.
- Changes go to a new branch and a pull request; nothing is pushed to your default branch.
- Opening a pull request needs your approval unless you chose auto mode.
- Nothing is ever merged by OkayPanda.
AI#
- The AI reads only what you can see; locked rooms reach it only for owners and admins.
- Repository content is sent to the model as data, never as instructions.
- AI on a repository's web page is only for members and people it's shared with, never anonymous visitors, so nobody outside can spend your AI budget.
- The AI never writes to your company by itself:
editchanges your local file, and you decide whether to push.
Content from outside#
Anything an employee reads (web pages, emails, documents) is treated as information, never as instructions. It can't grant permissions or approve anything; only trusted code decides what runs.
Reporting a problem#
If you find a security issue, email security@gitpanda.ai with the details. Please don't post it publicly until it's fixed.