August 26, 2026

Encrypted by default

securityarchitecture

Most API clients ask you to trust them with a lot: your API keys, your bearer tokens, your internal endpoint names, sometimes entire request bodies full of customer data. That trust is usually implicit — “we store your data securely” — and rarely explained further.

We’d rather not ask for that trust at all. So we designed ReqBox so the server structurally can’t read your workspace content, not just “won’t.”

What gets encrypted

Everything that lives inside a workspace: collection and folder names, request URLs, headers, bodies, auth configuration, notes, and — as of this month — environment and variable values across workspace, collection and environment scopes. All of it is encrypted on your device, before a single byte leaves it.

The backend only ever stores and routes ciphertext, plus the metadata it genuinely needs to function: object IDs, timestamps, roles, revision numbers. It has no way to decrypt request bodies or variable values, because it never holds the key that could.

Environment editor showing an API-KEY variable marked as Secret, its value masked as a row of dots

Mark a variable Secret and its value stays masked in the editor — not just hidden from view, encrypted before it’s ever saved.

How the keys work

Each workspace has its own symmetric encryption key, generated on a member’s device — never on our servers. When you invite someone to a workspace, an already-authorized device wraps that key for the new member’s identity key and sends only the wrapped copy. Our server relays it without ever being able to open it.

Under the hood:

None of this is exotic. These are the same primitives you’d expect in any audited end-to-end encrypted system — we didn’t invent our own crypto, and we’re not going to.

What this means in practice

A few honest consequences, because a security model that only lists benefits isn’t a security model:

We think an API client that holds your credentials should be built this way as a baseline, not as a premium feature. It’s why “encrypted by default” is the first thing we lead with, not a line item in a security whitepaper nobody reads.