Security

Built so you don’t have to take our word for it

We serve your content from machines we don’t own. This page spells out what each party can see, what stops them, and where the limits are, with the white paper and the source code to check it.

Read the white paperReport a vulnerability

0private keys held on nodes
AES-256content at rest
TLS 1.3minimum, every hop
24 hfirst response to reports

Where the controls are

The paper counts four controls that carry confidentiality, and declines to count more. The other two cards cover integrity and how to check our work.

Encryption over your content

At Level 1 and Level 2, AES-256-GCM encrypts every block before it leaves your build. Edge Nodes store and serve ciphertext.

Encryption over the index

The list of files inside a workload, with their paths, sizes and types, is encrypted too, so a node can’t read what it is holding.

Per-request access tokens

Level 2 only. A node decrypts only with a token the control plane issues for one request. Tokens last 30 seconds by default, and every one is logged.

Key custody

The one control that changes who you have to trust. At Level 1 the key travels in the URL fragment, which browsers never send, so no node and no server of ours ever holds it.

Content addressing

Each workload is named by its BLAKE3 hash and every block is checked, at every level, so a file changed on a node is rejected rather than served.

Published source

The edge node’s Node Core is public under MPL-2.0 (opens in a new tab), so you can read what runs on an operator’s machine.

The threat model, one attacker at a time

For each attacker, here's what actually stops them. Where the answer is nothing, the table says so, and so does the paper.

AttackerWhat stops themPaper
An operator with root on a node serving Level 1The key is never delivered to the node, so it holds only ciphertext§9.2 (opens in a new tab)
An operator with root during a Level 2 requestNothing cryptographic. Plaintext is in memory for that request; its token is short-lived and logged§8.4 (opens in a new tab)
Anyone who alters a cached fileContent hashes and per-block checks. A modified file is rejected, not served§9.1 (opens in a new tab)
Whoever compromises our control planeLevel 1 survives, because the control plane never holds its key. Level 2 content is exposed§4.2 (opens in a new tab)
An observer watching sizes and timingNot stopped. Encrypted size tracks the original; padding is planned as an opt-in, not shipped§9.3 (opens in a new tab)
Someone who later obtains a key to files they keptDeleting a workload’s secret stops future decryption everywhere. This is not forward secrecy§9.4 (opens in a new tab)
A page that leaks a Level 1 linkYour side of the line: serve over HTTPS and keep the link out of logs and referrers§9.5 (opens in a new tab)

Before you ask

Can an Edge Node operator read my content?

It depends on the encryption level you choose. Level 0 is public content, readable like any CDN’s. Level 1 is never readable by a node or by us. At Level 2 a node holds plaintext in memory only while serving a request the control plane authorized, and every authorization is logged.

Are you SOC 2 certified?

Not yet. We are pursuing SOC 2 Type II. The attestation isn’t complete, and incident response is operational but not yet a published runbook. We’ll update this answer as each step is reached.

Can I serve HIPAA-covered data?

We don’t offer a Business Associate Agreement yet. If you have HIPAA requirements, talk to customer support (opens in a new tab) before you deploy; our guidance is to process PHI at Level 1, not Level 2.

What if your control plane is compromised?

Level 1 content is unaffected, because the control plane never holds a key that decrypts it. Level 2 content is exposed, since the control plane holds its workload secrets. That asymmetry is the main reason to choose Level 1 for sensitive workloads.

Can I check any of this myself?

Yes. Section 9.6 of the white paper (opens in a new tab) lists checks you can run without our cooperation, starting in your browser’s DevTools, and the Node Core source (opens in a new tab) is public.

Questions the paper doesn’t answer?

Tell us what your review needs, or what you want to know before running a node.

Edge Cloud support (opens in a new tab)Operator support (opens in a new tab)