Your AWS
Run it in your own AWS account.
Your team's cloud computers run in your AWS account. One CloudFormation stack sets exactly what we can do there, and you can read all of it before you create it.
- 01
Cloud computers, disks and logs live in your account.
- 02
We can run only the actions your stack defines.
- 03
Every action is logged in your account before it runs.
- 04
Delete the stack and our access ends.
Where things run
Your account runs the computers. We run the controls.
Your AWS account
- Cloud computers and their disks
- The network they use
- Our access role
- The named actions
- Your security log
Persistent Compute
- Sign-in and team admin
- Billing for members
- The service that asks your account to start, stop or update computers
Your private network
- Your devices reach each cloud computer over an encrypted private network
- No inbound ports are opened
The stack
Everything it creates. 28 resources at most.
Names match the stack's Resources tab in your AWS console. Cloud computers are launched later by the access role, tagged to your team.
AccessThe roles we can use in your account.2
ManagementRoleAWS::IAM::RoleOur access role. It trusts only our service, only with your connection’s external ID, for at most an hour per session.
SupportRoleAWS::IAM::RoleSupport access. Created only if you set SupportAccessUntil, and it stops working at that time. Only if you turn it on
ComputersWhat each cloud computer runs as.3
ComputerRoleAWS::IAM::RoleThe computer’s own role: Systems Manager, its own setup key, and adding to the security log.
ComputerProfileAWS::IAM::InstanceProfileAttaches the computer role to each cloud computer.
EnrollmentKeyAWS::KMS::KeyEncrypts each computer’s one-time network key. Owned by your account, rotated yearly. Kept if you delete the stack
Named actionsThe only commands our role can run on your computers.12
ActionInstalledRuntimeAWS::SSM::DocumentReport which version of our software is installed.
ActionImagePrerequisitesAWS::SSM::DocumentCheck the computer image has what setup needs.
ActionBootstrapInstallAWS::SSM::DocumentInstall our background service and network client, checked against fixed checksums.
ActionBootstrapStatusAWS::SSM::DocumentReport whether setup finished.
ActionNetworkEnrollAWS::SSM::DocumentJoin the computer to your private network with a one-time key.
ActionBootstrapConnectionAWS::SSM::DocumentCheck that the background service is connected.
ActionCodingToolsAWS::SSM::DocumentInstall git, Python, ripgrep or jq.
ActionRuntimeUpdateAWS::SSM::DocumentUpdate our background service and network client, checked against fixed checksums.
ActionAuthorizedKeysAWS::SSM::DocumentSet which SSH keys can sign in to the computer.
ActionGrowRootFilesystemAWS::SSM::DocumentGrow the file system after a disk is resized.
ActionIdleProbeAWS::SSM::DocumentCheck whether the computer is idle.
ActionAgentSessionAWS::SSM::DocumentList, start, message, read or stop a Claude Code, Codex or Cursor session.
Security logA record in your account that we can’t read or erase.3
SecurityLogAWS::Logs::LogGroupCloudWatch log group for every action and snapshot. Kept for 365 days unless you choose otherwise. Kept if you delete the stack
SecurityCollectorDocumentAWS::SSM::DocumentRecords installed software, launch settings, SSH keys and SSH logins.
SecurityCollectorAssociationAWS::SSM::AssociationRuns that record on every cloud computer every 30 minutes.
NetworkOnly when you choose a new network. Otherwise you name your own subnet and security group.8
ComputerVpcAWS::EC2::VPCA dedicated VPC, 10.88.0.0/16. New network only
ComputerInternetGatewayAWS::EC2::InternetGatewayOutbound internet access. New network only
ComputerGatewayAttachmentAWS::EC2::VPCGatewayAttachmentAttaches the gateway to the VPC. New network only
ComputerSubnetAWS::EC2::SubnetOne subnet, 10.88.0.0/20, in one Availability Zone. New network only
ComputerRouteTableAWS::EC2::RouteTableRoutes for that subnet. New network only
ComputerDefaultRouteAWS::EC2::RouteSends outbound traffic to the internet gateway. New network only
ComputerSubnetRouteTableAssociationAWS::EC2::SubnetRouteTableAssociationLinks the subnet to its routes. New network only
ComputerSecurityGroupAWS::EC2::SecurityGroupNo inbound connections. All outbound traffic. New network only
Access role
What we can do. And what we can't.
One role, defined in your stack. Changing it takes a stack update that you apply.
The 12 named actions
- installed-runtime
- Report which version of our software is installed.
- image-prerequisites
- Check the computer image has what setup needs.
- bootstrap-install
- Install our background service and network client, checked against fixed checksums.
- bootstrap-status
- Report whether setup finished.
- network-enroll
- Join the computer to your private network with a one-time key.
- bootstrap-connection
- Check that the background service is connected.
- coding-tools
- Install git, Python, ripgrep or jq.
- runtime-update
- Update our background service and network client, checked against fixed checksums.
- authorized-keys
- Set which SSH keys can sign in to the computer.
- grow-root-filesystem
- Grow the file system after a disk is resized.
- idle-probe
- Check whether the computer is idle.
- agent-session
- List, start, message, read or stop a Claude Code, Codex or Cursor session.
Every IAM permission, exactly
Most are limited to resources tagged to your team. The template shows each condition.
Security log
A record you own. We can't erase it.
A CloudWatch log group in your account, created by your stack.
Every action, before it runs
Each named action first writes an event to your log: which action, which computer and its inputs. Long inputs are recorded as a hash. If the write fails, the action stops.
A snapshot every 30 minutes
Your stack also records our installed software, the launch settings, authorized SSH keys and SSH logins on each computer.
Append-only for us
Computers can only add events. Our role has no CloudWatch Logs permissions, so we can't read, change or delete anything in it. Only your own AWS admins control it.
It keeps events for 365 days by default, and you can choose from 30 days to 10 years. It stays if you delete the stack.
CloudTrail too
AWS CloudTrail records each command we send, with the role that sent it.
Before you create it
Review it in your own AWS console.
Open AWS CloudFormation
A team admin starts from Settings › Your AWS in the console and chooses Open AWS CloudFormation.
Read the template
AWS opens its own quick-create page in your account, with the template link shown. You can also download the template from the setup page.
Create the stack
Nothing exists until you acknowledge the IAM roles and choose Create stack. Afterwards, the stack's Resources tab lists everything it made.
Enter your account ID
We check the role, its external ID, the template version, the network, outbound HTTPS and the disk key before any computer launches.
Removing it
Delete the stack. Our access goes with it.
Delete your cloud computers
Delete them from the console, or terminate them yourself in EC2, where they're tagged to your team. They're launched by our role, not by the stack, so do this first.
Delete the stack
CloudFormation deletes our access role, the named actions and the network it made. With the role gone, we can't act in your account.
Keep or delete the rest
Your security log and the stack's encryption key stay, so the record outlives our access. Delete them yourself when you no longer need them.
FAQ
Questions and answers.
Who pays for what?
AWS bills you directly for your cloud computers and their storage. We bill your team per member.
Can you open a shell on our computers?
Not with the access role. Support access is a separate role that exists only if you set SupportAccessUntil on the stack, and it stops working at that time.
How long can you hold access?
Each session with the access role lasts at most 60 minutes, and only works with your connection's external ID.
Can we use our own VPC?
Yes. Choose your own network during setup and name a subnet and security group. Computers need outbound HTTPS and no inbound access.
Why isn't the template published here?
Each template is made for one team and carries that team's connection details. Your admin can read and download yours before creating anything.
Who can set it up?
Team admins, from Settings › Your AWS in the console. If you don't see it, email hello@persistentcompute.ai.