Skip to content

Privacy you can verify

Choose who can read your text.

Simple Unmark offers a familiar private path and a browser-verified Confidential Space path today. A third mode will move the AI model itself into a confidential GPU, removing the external model API from the plaintext path.

Open the cleaner
Available

Private

1× credits

Plaintext goes through the Simple Unmark app to the cleaning workload.

The app, the ordinary HTTPS and load-balancer path, the Python workload, and DeepInfra all process plaintext. Text and output are not stored in our database or analytics.

Available

Confidential

2× credits

Your browser verifies the workload before encrypting text to it.

The web backend receives metadata only. The attested workload decrypts the text, and DeepInfra still processes plaintext for the rewrite.

Coming soon

Confidential AI

4× credits

The cleaner and rewrite model run together inside an attested GPU.

No external model API will receive plaintext. The browser and the approved confidential workload remain the only content endpoints.

“Confidential” does not mean that no system ever sees plaintext. The approved workload must decrypt it, and the current rewrite provider, DeepInfra, processes it. Confidential AI is the planned mode that removes that external provider boundary.

What your browser verifies

HTTPS alone authenticates a server endpoint. Confidential mode adds application-layer encryption only after the browser has verified evidence about the code and protected environment behind that endpoint.

  1. 1

    The browser requests a one-use cleaning authorization without sending the text.

  2. 2

    The workload creates an encryption key for this request in memory, then asks Google for a Confidential Space attestation token binding that key, your challenge, and this request.

  3. 3

    The browser verifies Google's signature, the nonce, Secure Boot, debug-disabled state, the attested hardware model, workload identity, launch policy, and approved OCI image digest.

  4. 4

    Only after verification succeeds does the browser encrypt the text to that key. The matching private key stays inside the workload process and is not retained after the request completes.

  5. 5

    The workload streams an encrypted result back to the browser and sends the app only a signed, content-free accounting receipt.

Claims and limits

What this protects — and what it does not

  • The Simple Unmark web backend receives counts, timings, token use, cost, status, and credit activity — not submitted text or cleaned output — in Confidential mode.
  • A digest allowlist makes the browser reject an unapproved workload image. Open-source code and a signed GitHub build attestation let reviewers confirm which commit produced that digest, but attestation alone does not prove source code quality.
  • The workload's request key is created in memory, used once, and not retained after the request completes. It is never written to disk and cannot be recovered from the container image.
  • HTTPS terminates on Google's load balancer, outside the protected workload. Confidential mode is safe because the payload is separately encrypted to the workload's own key, so the load balancer sees ciphertext in both directions — the transport itself does not reach inside the TEE. In Private mode, that same load-balancer path handles plaintext.
  • The website operator still controls the JavaScript delivered to the browser. An independently distributed verifier would be needed to remove that operator from the frontend trust boundary.
  • Traffic endpoints, timing, and ciphertext sizes remain observable. Vulnerable approved code can still expose content.
  • Confidential AI is coming soon. Choosing it in the cleaner records a content-free interest signal; it does not change your active cleaning mode, upload text, or spend credits.

What this build accepts

These are the workload image digests the JavaScript on this page will accept. This is the same value the browser enforces, published so you can cross-check it against our release manifest — it is a convenience, not independent evidence. The proof is the Google-signed attestation your browser checks on every Confidential clean, and the cleaner shows you the digest it actually verified.

  • sha256:d2470f946ea4856d30d6de9923112ea7da5a6110aedb8e9b526216e9fe9855b9

Verify the build provenance with gh attestation verify oci://IMAGE@DIGEST --repo OWNER/REPO.