Security
How BuiltBrief protects your repositories and data, how to uninstall and delete, and how to report a vulnerability.
BuiltBrief reads your GitHub so it can brief you. We designed it to see as little as possible, keep less, and make it easy to leave.
We don't hold any third-party security certification, such as SOC 2 or ISO 27001. This page describes what we actually do.
Read-only GitHub access
BuiltBrief connects through a GitHub App that you install on the repositories you choose. Every permission is read-only, and BuiltBrief can't push code, comment, merge or change settings.
| Permission | Why we need it |
|---|---|
| Metadata (read) | Required by GitHub for every app. Repository names, IDs and visibility |
| Pull requests (read) | PR titles, descriptions, reviews, status and diffs, which are the core of each digest |
| Issues (read) | Issues and comments, for what's planned, reported or blocked |
| Actions (read) | Workflow run results, so briefs can report CI health |
| Deployments (read) | Deployment status, so briefs can say what actually shipped |
What we don't ask for:
- Contents. We can't read files, the full source tree or secrets in your repositories. We only see code through size-limited excerpts of pull request diffs.
- Any write permission.
- Organization members, administration or secrets.
You decide which repositories the App can see, and you can change that at any time in GitHub.
We don't store your code
For each run, BuiltBrief fetches PR text and diff excerpts into memory, sends them to our AI model provider to write digests, and then discards them. We don't write source code, diffs, or PR and issue text to our database.
We do store:
- pull request metadata, such as titles, links, status and timestamps, so every claim can link to its evidence (we don't store who wrote or reviewed each pull request, only whether it came from a bot or carried a coding-agent signal);
- the digests and briefs we generate;
- your account details and billing status.
Our AI provider. We use Anthropic's Claude API. Under Anthropic's commercial terms, it may not train models on the content we send. By default, it deletes API inputs and outputs within 30 days.
Encryption
- In transit. All traffic to builtbrief.com, to GitHub, to our AI provider and inside our hosting platform uses TLS.
- At rest. Data is stored in Cloudflare D1, which encrypts all stored data, including metadata and inactive databases, with AES-256.
- No stored GitHub tokens. We don't store GitHub access tokens. Installation tokens are held in memory for at most an hour, and the token from GitHub sign-in is used once to confirm who you are and then discarded. Our own keys and secrets live in our hosting platform's secret store, not in code.
Short-lived tokens
BuiltBrief doesn't hold a long-lived key to your repositories. For each run, it requests a GitHub installation token that expires after one hour and only covers the repositories you selected. If you uninstall the App, GitHub stops issuing tokens straight away.
Signed webhooks
GitHub and Stripe send us events, such as "app installed" or "subscription renewed". We check each event's HMAC signature with a constant-time comparison and reject anything unsigned or invalid.
Sign-in and reader links
- Owners sign in with GitHub OAuth. We set one session cookie and nothing for tracking.
- Readers get each brief by email with a signed, time-limited link. They don't need an account. Treat these links like the brief itself: anyone holding a valid link can open it, so don't forward it outside your team.
- The owner can remove a reader at any time, and that person stops receiving briefs.
Built-in safety for AI
- We instruct the model to treat repository content as data, not instructions. Even if text in a PR tried to steer it, a run has no write access to anything in GitHub.
- Every claim in a brief links to its evidence, so you can check it.
- Author names never reach the model that writes the brief, and BuiltBrief doesn't produce per-person scores or rankings.
Isolation and access
- Every record belongs to one workspace, and every query is scoped to it.
- Only the people who operate BuiltBrief can access production systems, and only to run and support the service.
- Our logs record operational events, such as errors and run times, and exclude repository content. They're kept for a short time.
Uninstall and delete
To stop BuiltBrief reading your repositories:
- In GitHub, go to Settings → Applications → Installed GitHub Apps (for an organization: Organization settings → GitHub Apps).
- Choose BuiltBrief → Configure.
- Remove repositories, or click Uninstall.
To delete your data: delete your workspace in BuiltBrief's account settings, or email hello@builtbrief.com from the owner's address.
After you uninstall or delete your account, we delete repository metadata, digests, briefs and account data within 30 days. Digests and briefs older than 13 months are deleted automatically. By default, our AI provider deletes its copies within 30 days of each run.
Reporting a vulnerability
Email security@builtbrief.com. Please include:
- what you found and where;
- steps to reproduce;
- the impact you think it has.
We'll acknowledge your report within 3 business days and keep you updated. We won't take legal action against good-faith research that:
- avoids privacy violations, data destruction and service disruption;
- only accesses the minimum data needed to show the problem, and never another customer's data beyond that;
- gives us reasonable time to fix the issue before you disclose it.
Please don't run automated scanners against production or attempt social engineering. We don't currently run a paid bug bounty.
Sub-processors
Cloudflare (hosting, database, email), Anthropic (AI model), Stripe (payments) and GitHub (sign-in and repository data). See our Privacy Policy and DPA for details.