Skip to content
tough crowd
DocsPricingSecurity
Changelog1/500/0 ChallengeLessons
DocsPricingSecurity
ResourcesChangelog1/500/0 ChallengeLessons
Request access
Log inRequest access

Security

What Tough Crowd can access, what we keep, who else sees your code, and where we're still catching up.

Last updated October 13, 2026 · Questions: security@toughcrowd.dev

On this page

In shortGitHub permissionsYour code and dataWho sees your codeAgent sandboxesSecretsCompliance and infrastructureRemoving accessReporting a vulnerability

In short

Training

We may use your data to train and improve Tough Crowd. An opt-out for organizations is coming soon.

Models

Agents run on your own Anthropic or OpenAI account. Small tasks like session titles and commit messages use our account and never see file contents.

Code

Each session clones your repo into its own sandbox. We keep session changes and agent conversations for as long as your account is open.

Secrets

Encrypted in our database. Today they're set in the session's sandbox; soon agents will get proxies they can use but not read.

Compliance

Built with SOC 2 in mind. We plan to get a SOC 2 report, but haven't started the audit yet.

GitHub permissions

You install the Tough Crowd GitHub App on your organization or personal account and choose which repositories it can access. It requests only repository permissions, none at the organization or account level. Agents in a sandbox get a short-lived token that works only for that session's repository.

PermissionAccessWhy
ContentsRead & writeClone your repository, push the branches agents work on, and merge
Pull requestsRead & writeOpen and update pull requests, post reviews, and merge
ChecksRead & writeRead CI results and publish each review as a check
Commit statusesReadRead CI statuses before a merge
ActionsReadRead workflow runs and logs to diagnose and fix failing CI
WorkflowsRead & writePush changes that edit GitHub Actions workflow files
IssuesRead & writeSync GitHub issues with Tough Crowd issues and comment on pull requests
DeploymentsReadTrack which changes have reached production
MetadataReadRequired by GitHub for every app

Events Tough Crowd receives

GitHub notifies the app about these events in the repositories you choose.

EventsWhy
Pull request, pull request review, review comment, review thread, issue comment, commit commentStart reviews on new pull requests and keep comments and threads in sync
Check run, check suite, status, workflow run, workflow jobFollow CI results so agents can fix failures
Push, deployment, deployment statusNotice new commits and track what reached production
IssuesSync GitHub issues with Tough Crowd issues
Repository, installation targetKeep your repository list current

Your code and data

Each session clones your repository into its own sandbox, which is deleted when the session is done. We keep each session's changes and the full history of its agent conversation, including code the agent read, for as long as your account is open.

We keep this history to improve Tough Crowd for you. By studying past conversations, diffs, and changes against your full codebase, we can help you optimize agent behavior and suggest improvements to your review prompt and model choice.

We may also use your data to train and improve Tough Crowd more broadly. An opt-out for organizations is coming soon; once an organization opts out, its data will be used only to provide Tough Crowd to it.

When you close your account, we delete it all after a 24-hour grace period. Database backups are kept for 7 days, so deleted data is gone from backups within 7 days.

DataKept?For how long
Repository checkoutIn the session's sandboxDeleted when the pull request merges or closes, or 7 days after the session goes idle
Prebuilt sandbox snapshotsWith our sandbox providerUntil your repository's setup changes, or you close your account
Diffs and changed filesYesUntil you close your account
Agent conversations: prompts, messages, tool calls, and outputYesUntil you close your account
Review findingsYesUntil you close your account
SecretsYes, encryptedUntil you delete them or close your account

Who sees your code

These are the services that handle your data, and what each one sees. Today, agents call Anthropic or OpenAI directly from their sandbox. When secret proxies arrive, all sandbox traffic, including model requests, will pass through our proxy, which adds your credentials so they no longer sit in the sandbox.

ServiceUsed forWhat it sees
Anthropic or OpenAI, on your accountAgent model callsYour prompts and the code and files the agent reads
Anthropic or OpenAI, on our accountSession titles and commit messagesTask prompts, changed file names, and diff stats. No file contents.
E2BAgent sandboxes and prebuilt snapshotsFull repository checkout and the secrets set in the sandbox
Amazon Web ServicesHosting, database, and storageDiffs, changed files, agent conversations, review findings, and encrypted secrets
GitHubRepositories and pull requestsYour repositories, and the reviews and branches we publish
BraintrustMonitoring our own model callsThe same prompts, file names, and diff stats as above
rrweb CloudSession recordings of the Tough Crowd appWhat's on screen. Form inputs, terminals, source code views, and diffs are hidden.
ResendTransactional emailYour email address. No code.

Model usage on your account is covered by your agreement with Anthropic or OpenAI.

Agent sandboxes

Each session runs in its own E2B sandbox, a lightweight virtual machine that isn't shared with other sessions or customers. Sandboxes can reach the internet so agents can install dependencies, but nothing can connect into one except through Tough Crowd after you sign in.

A sandbox pauses after 5 minutes without activity and is deleted when its pull request merges or closes, or 7 days after it goes idle. Prebuilt snapshots are made with GitHub tokens and secrets removed.

Prompt injection

Agents read pull request code, and that code can contain instructions aimed at them. An agent in a sandbox can reach your repository through a short-lived token that works only for that repository, the secrets and model credential set in its sandbox, and the internet.

It can't reach your other repositories, other customers' sandboxes, or the credentials Tough Crowd uses to run. Agents can push branches and open pull requests, but merging needs a person to confirm.

Secrets

Your repository's config lists the secrets a session needs, and you add their values in Tough Crowd. When a session starts, the secrets it needs are decrypted and set as environment variables in its sandbox, where setup scripts, dev servers, and the agent can use them.

QuestionAnswer
Where are secrets stored?In our database, encrypted with AES-256-GCM.
Can the agent use a secret?Yes.
Can the agent read the value?Today, yes: secrets are environment variables in the sandbox. Soon, no: the sandbox will only hold a proxy.
Is it sent to the model provider?Not by Tough Crowd. Today an agent can read a value, so it could include it in what it sends.
Does it appear in logs?It can. Logs and agent conversations aren't scanned for secret values, so a secret printed during a session is stored with it.
Can anyone see a value after it's saved?No. Tough Crowd only shows whether a secret is set.
Who can replace or clear it?Only you. Secrets belong to your account.

Coming soon: secrets agents can't read

We're moving secrets behind proxies. The sandbox will get a proxy instead of the secret itself, so agents can still use it but can't read its value. Sandbox traffic will then pass through our servers, where the proxy adds the real credentials. You'll also be able to scope each secret, limiting where it can be used.

Compliance and infrastructure

We've designed Tough Crowd with SOC 2's requirements in mind, and we plan to get a SOC 2 report. We haven't started the audit yet, and we'll update this page when that changes.

Tough Crowd runs on Amazon Web Services in the US (us-east-1). Our Aurora database, including its logs, backups, and snapshots, is encrypted at rest with AES-256 using an AWS-owned key. Secrets, model API keys, and OAuth tokens have an additional layer of encryption with AES-256-GCM before they're stored in the database. Connections from your browser to Tough Crowd use HTTPS.

Our CDN, CloudFront, currently talks to our servers over unencrypted HTTP.

Coming soon

  • HTTPS between our CDN and our servers, with the servers off the public internet

We haven't had a third-party penetration test yet, and plan to get one ahead of our SOC 2 audit. In the meantime, we're part of OpenAI's Daybreak Blue program for approved security defenders, and use Codex to scan our codebase for vulnerabilities. A Data Processing Agreement (DPA) for customers is coming soon.

Removing access

  1. Disconnect GitHubDisconnect GitHub in Settings, or uninstall the app from GitHub. Tough Crowd stops reviewing and working on your repositories.
  2. Disconnect your model providerDisconnect ChatGPT or delete your API keys in Settings. Agents can't run until you connect one again.
  3. Delete your dataClose your account in Settings. We delete your data 24 hours later, and it's gone from backups within 7 days.

Reporting a vulnerability

Email security reports to security@toughcrowd.dev. We acknowledge reports within 5 business days, and we email affected customers about any incident that affects their data.

tough crowd
DocsPricingChangelogSecurity1/500/0 ChallengeLessons
© 2026 Tough Crowd