Security and trust
How a box is reached, what the control plane can and cannot see, where credentials and secrets go, and how to report a problem.
On this page10
This page describes the product as built, including what it does not do yet.
Reaching a box
You reach a box over SSH inside an encrypted WireGuard tunnel that the CLI builds in its own process. Nothing else on the box is reachable from the internet.
- The tunnel.
prized logingenerates a WireGuard key and an SSH identity for this install and sends Prized only the public halves. No root, no TUN device, no change to your network settings. - What the box exposes. Two inbound ports: the tunnel, and its TCP 443 fallback for networks that block UDP. No inbound SSH port. Networks that refuse both reach the tunnel through the Prized relay (below).
- SSH inside the tunnel. The box presents a Prized-signed host certificate (renewed automatically), so there is no trust-on-first-use prompt. Each connection authenticates with a user certificate minted for your token and box, valid 15 minutes. The box account has no password.
Other ways in
| Path | Credential | What it reaches |
|---|---|---|
| Browser terminal, files, desktop | A ticket from your signed-in dashboard session: one box, 10 minutes, never in a URL | A relay opens its own tunnel and certificate per request and terminates both encrypted hops: it can read the session as it passes, and stores nothing. |
| Box monitor | A monitor ticket, same lifetime | The box's process and port list, nothing else. |
| Shared port link, members | A viewer cookie on the link's own hostname, minted from your signed-in session, valid 12 hours, checked against your membership on every use | One port on one box, over HTTP, through the terminal's relay, which can read the traffic as it passes. Only workspace members who can see the box get one; stopping the share, deleting the box, or removing the member ends it (Share a port). |
| Shared port link, anyone or public | A visitor cookie on the link's own hostname, on a separate domain that never receives a prized.dev cookie. An anyone link's secret is shown once, stored hashed, and moves from the address into the cookie when the visitor continues past the warning page, which loads nothing and sends no referrer. Valid 12 hours or until the link expires (30 days at most), checked on every use | The same one port on one box, through the same relay, and nothing else: the cookie works only through the relay, which pins the port. A visitor never wakes a box. Stopping or replacing the link, its expiry, deleting the box, or removing the member who made it ends it (Share a port). |
| Phone (the ChatGPT app) | A phone password for one box: shown once, stored hashed, revocable | The SSH gateway checks it, wakes the box, and bridges the session, which it can read as it passes. Terminal only; repeated failed passwords are rate limited without banning other phone passwords on the same network. New connections can be refused while the gateway is busy; existing sessions are unaffected. |
| The Prized relay, for networks that block the tunnel | A pass issued with your tunnel, for that box only. It ends with the tunnel: on expiry, or within about a minute of the device being revoked, the member removed, or the tunnel disconnecting | The box's tunnel port, nowhere else. It sees only encrypted WireGuard traffic: it cannot read or change your session, which stays encrypted end to end between your machine and the box. |
| Desktop apps (Claude Desktop) | This machine's SSH public key, registered by prized login | A restricted, tunnel-only key (Claude Desktop remote). |
| Scripts and agents | Your API key (dcp_) | Everything the dashboard can do, the edge API included, except minting or rotating credentials or changing membership, roles, or policies, unless the key was made with less access or for some boxes only (What a key can do). An owner's key also reaches billing; a contractor's, only the boxes they own. |
Sandboxes. Commands and files in a sandbox go through Prized's edge with your API key, which needs Sandboxes: Write. The edge checks the key on every request; it never enters the sandbox.
Identity and access
You sign in with Google or GitHub and a verified email address; a Prized account has no password of its own.
A box belongs to a workspace, and its owner is the member who created it. Owners and members reach every box in the workspace; a contractor reaches only the boxes they own. Only the owner changes billing, the claimed domain, the invite link, membership and roles, policies, and the data-retention switch (Workspaces, Teams).
Credentials Prized issues
| Credential | Scope | Stored as | Ends when |
|---|---|---|---|
API key dcp_ | The workspace (or the boxes it is limited to), for one machine or script | sha256 hash; shown once | It expires (after 7 days to a year, or never for an owner's key; a machine's after 180 days unused), you rotate or revoke it, or the member is removed; its tunnel closes and its device key leaves your boxes (API keys) |
| Terminal and monitor tickets | One box | sha256 hash | 10 minutes after minting |
| Phone password | One box | sha256 hash; shown once | Revoked, replaced, the box deleted, or its member removed |
| Device SSH key | One API key | ed25519 public key | With its key (Remove a computer) |
| SSH user certificate | Your workspace and one box | Not stored; one audit row (box.connect) records issuance: who, which credential, which box, when; not connection success | 15 minutes after minting |
| AWS identity token | One box, for the IAM roles the workspace owner connected | Not stored; the box holds and renews it | One hour after minting; the box stops receiving new tokens when the role is removed or its owner leaves or is removed from the workspace (AWS access) |
Only a signed-in dashboard session (the browser step of prized login is one) can mint or rotate a key, a ticket, or a phone password, so a leaked API key cannot mint more credentials. A key limited to some boxes, or to less access, cannot register a device SSH key, since boxes accept one for the whole workspace. Removing a member revokes everything they created. Once you request deletion of a box, its terminal and monitor tickets and phone password no longer reveal it in box lists.
Credentials and secrets
Your agents' sign-ins go from your machine to the box over SSH and never touch the control plane (Credentials); no API route accepts one, and CLI telemetry carries command names only.
- Secrets and connectors. A stored secret is a placeholder in the box's environment; the box's broker swaps in the real value on HTTPS requests to the hosts you allowlisted and refuses plain HTTP. Values are encrypted at rest and never read back. A secret with grants is decrypted only for the boxes named or owned by the members named; one without, for every box whose owner is not a contractor (Secrets for agents).
- What the broker does not protect against. Anything running as your user can spend a mounted secret, and root can read anything on the box. The broker keeps values out of env files, shell history, logs, and pasted placeholders; it is not a defense against the box itself.
- Usage metadata. Per secret and host, Prized records how often and when the value was swapped in; never a path, header, body, or value (Teams: Usage).
- AWS access never puts an access key on a box: the box trades a short-lived identity token Prized signs for temporary credentials on a role your administrator scoped and can revoke in your own account (AWS access).
- Environment secret files are encrypted the same way and delivered over the box's authenticated channel (Environments). Restricted boxes receive no credentials through any channel (Safe for third parties).
Data at rest and in flight
- Disks and snapshots are encrypted at rest. Boxes run in
us-west-2(Oregon),us-west-1(Northern California),us-east-1(Northern Virginia),us-east-2(Ohio) oreu-central-1(Frankfurt); a box's disk, snapshots and daily backups stay in its region unless you move the box. Account data and the control plane stay inus-west-2whatever the box's region. Prized also keeps a rolling week of encrypted disaster-recovery backups of every box disk, which no customer action removes early; what a delete keeps is on Data retention. - The control-plane database holds a box's identifiers, size, region, state, tunnel addresses, last vitals, settings, and the public half of its SSH host identity (host public key and certificate); secrets and secret files only as ciphertext. It also holds the command history of commands run with
prized execor the edge: the command line and up to the last 1 MiB of each output stream, kept 30 days, readable by members who can see the box, and kept as metadata only under zero data retention. - Saved CLI sign-in. The CLI sends your saved token only to the service you signed in to, not to a different service selected by a config file. See CLI sign-in.
- In flight. The site, the API, and the terminal relay serve HTTPS only; the CLI refuses a plain-
httpcontrol-plane URL anywhere but loopback. - Telemetry. A running box or sandbox reports resource vitals, listening ports, and its top processes, never file names, file contents, terminal output, or shell history (the one output it sends is that of a detached command started with
prized execor the edge, to its command history) (Privacy, Data retention). The top processes also reveal a box or sandbox that is mining. The activity page derives sessions from tunnel connections, never from keystrokes or screen contents. - Error reports and logs never contain request bodies,
Authorizationheaders, tickets, keys, or user data; the CLI and the box agent have no crash reporting.
On the box
- Processes. The box agent runs as your login user; the secrets broker,
sshd, and the tunnel run as root (Machines). Their updates are signed and checksum-verified before they run. - Your account has passwordless sudo, so anything running as you can become root.
sshdaccepts Prized's short-lived certificates, registered device keys, and any key in~/.ssh/authorized_keys. - What the control plane can tell a box: an agent version to update to, a pause request, device keys, a renewed host certificate, environment variables and secret files, secret values, and the tunnel's peer list. No route carries a shell command to the box.
- What a full-access API key can do: any command on any box in your workspace (exec, files, prompts, a desktop), and with sudo, the whole machine. The audit log records lifecycle, settings, API keys, snapshots, environments, secrets, membership, policies, and every certificate minted; commands, file transfers, prompts, and desktop starts are reported by the CLI or the box, not observed. It never contains stdout, file contents, secret values, keys, certificates, or tokens.
- Isolation. Every box is its own virtual machine with its own kernel and encrypted disk, and no cloud credentials are attached to it.
Sandbox isolation. Every sandbox is its own Firecracker microVM with its own kernel: commands run as an unprivileged user without sudo, nothing reaches it from the internet, and sandboxes cannot reach each other.
What the control plane cannot see
- Your agents' sign-in tokens
- Secret values, once saved
- Commands typed over ssh, terminal output, file contents, and prompt bodies (the audit log holds a command line, a path, or a prompt's first line only when the CLI or the box reported it; the command history holds what
prized execand the edge ran and printed) - Your private keys, which never leave your machine
Sub-processors
The services that hold or carry your data, all in the United States except a box in Frankfurt: its disk, snapshots, and daily backups stay in Germany (eu-central-1).
| Service | What for |
|---|---|
| Amazon Web Services | Boxes, disks and snapshots in us-west-2, us-west-1, us-east-1, us-east-2 and eu-central-1; release artifacts, database backups, and the API, terminal relay, and SSH gateway in us-west-2 |
| Vercel | The site and dashboard, and aggregate page-view analytics |
| Neon | The control-plane database |
| Stripe | Billing, invoices, and card storage |
| PostHog | Product events, session replay, and browser errors |
| Sentry | Server-side error reports |
| Cloudflare | DNS and transactional email |
| Google, GitHub | Sign-in |
| Anthropic | The environment advisor in prized setup, only when you use it; it receives a redacted inventory of your machine |
Sandboxes run on Amazon Web Services in us-west-2.
The audit export posts your audit rows to an endpoint you configure; you hold that copy.
Certifications and disclosure
Security at Prized is led by Hudson Griffith, co-founder and CEO.
SOC 2 is in progress.
To report a vulnerability, email with steps to reproduce, before publishing it if you can. There is no bug bounty.