Security
Security at Replicas
How agents are isolated, where your code and credentials live, and the controls your security review will ask about.
Updated
Isolation
Every workspace gets its own VM.
Task from Slack, Linear, GitHub, GitLab, the dashboard, or the API
Workspace VM 1Linux
- Your repositories, cloned
- Coding agent
- Environment variables and secrets
- Short-lived code host token
Workspace VM 2Linux
- Your repositories, cloned
- Coding agent
- Environment variables and secrets
- Short-lived code host token
Workspace VM 3Linux
- Your repositories, cloned
- Coding agent
- Environment variables and secrets
- Short-lived code host token
Model calls go to your provider, on your account
Work comes back as a pull request for your review
What happens to a VM after the work
Step 1
Awake
The agent works in its own VM
Step 2
Sleeping
Compute paused after 30 minutes idle
Step 3
Archived
After 7 days without activity
Step 4
Deleted
About an hour after auto-archiving, or 3 days after you archive it
Checklist
The controls a security review asks for.
| Area | Control | Plans |
|---|---|---|
| Isolation | Isolation · All plansOne Linux VM per workspace | All plans |
| Encryption | Encryption · All plansTLS in transit, encrypted at rest | All plans |
| Secrets | Secrets · All plansEncrypted in Supabase Vault | All plans |
| Secrets managers | Secrets managers · All plansDoppler and Infisical sync | All plans |
| Model credentials | Model credentials · All plansYour own keys, Bedrock, or Foundry | All plans |
| Code host access | Code host access · All plansGitHub App tokens, refreshed every 15 min | All plans |
| Merge control | Merge control · All plansBlock agents from merging PRs | All plans |
| Attribution | Attribution · All plansCommits and PRs use the requester’s identity | All plans |
| Roles | Roles · All plansAdmin, Member, and custom roles | All plans |
| Audit log | Audit log · All plansEvery configuration change, kept indefinitely | All plans |
| Data retention | Data retention · Trial, Team, EnterpriseTurn off saved chat and Canvas history | Trial, Team, Enterprise |
| Cloud access | Cloud access · Trial, Team, EnterpriseShort-lived workspace identity tokens | Trial, Team, Enterprise |
| Network | Network · Team, EnterpriseStatic egress IP for your allowlists | Team, Enterprise |
| Model training | Model training · All plansPersonal data never used for training | All plans |
| SOC 2 | SOC 2 · Report on requestType I, Type II in progress | Report on request |
| DPA | DPA · All plansData Processing Addendum | All plans |
| HIPAA | HIPAA · EnterpriseBusiness Associate Agreement | Enterprise |
| Deployment | Deployment · EnterpriseDedicated or self-hosted | Enterprise |
Your data
Where your code and secrets live.
| Data | Where | Kept |
|---|---|---|
| Source codeCloned into the workspace VMUntil the workspace is deleted | Cloned into the workspace VM | Until the workspace is deleted |
| Chat, Canvas files, git diffsObject storage on AWS, Ohio, USSaved unless history is turned off | Object storage on AWS, Ohio, US | Saved unless history is turned off |
| Secrets, API keys, loginsSupabase Vault, Ohio, USUntil removed | Supabase Vault, Ohio, US | Until removed |
| Paused VM diskSandbox provider snapshotUntil the workspace is deleted | Sandbox provider snapshot | Until the workspace is deleted |
| Audit logReplicas databaseIndefinitely, append-only | Replicas database | Indefinitely, append-only |
Each workspace runs in its own Linux VM, built from the environment your admins configured. Workspaces don’t share a machine with each other, and warm-pool VMs belong to a single environment in a single organization. A workspace sleeps, with its compute paused, after 30 minutes without activity. After 7 days without activity it is archived, and its VM is deleted about an hour later. If you archive a workspace yourself, its VM is deleted 3 days later, or sooner once it reaches 7 days without activity. You can delete a workspace at any time.