Users
Sutro can be accessed by two main types of users:- Members: Users within your organization who can access the Sutro Console. They can review usage, manage Builders, and configure certificates for verifying Builder requests.
- Builders: End users or clients who build and run apps that integrate with Sutro.
Certificates
Our security model relies on two complementary mechanisms:- Mutual TLS (mTLS) ensures that only trusted servers can call our APIs.
- JSON Web Tokens (JWTs) ensure that only authorized Builders can access the resources they are allowed to use.
What happens during validation
During request processing we confirm the JWT is well-formed, that it targets the Sutro API, and that (for Builder traffic) the request arrives over mutual TLS. When all validation points pass, we continue execution; otherwise the request is rejected.Inspect the JWT structure
- The request must include a JWT that is well-formed.
- Malformed or missing tokens are rejected before any additional checks run.
Validate standard claims
- The
audclaim must equal"https://sapi.withsutro.com". - The
issclaim must map to an issuer that the organization has previously registered with Sutro.
Verify the signature
- Sutro looks up the public certificate associated with the issuer.
- The JWT’s signature must verify against that certificate; if it fails, the request is denied.
Check the subject (SID)
- The
subclaim must resolve to a known Member or Builder. - That principal must belong to the customer sending the request.
When all stages succeed, Sutro marks the request as authenticated and forwards it to the requested endpoint.
Quick reference
| Check | Requirement |
|---|---|
| JWT structure | Must be well-formed; malformed or missing tokens are rejected |
Audience (aud) | Must equal "https://sapi.withsutro.com" |
Issuer (iss) | Must map to a registered issuer for your organization |
| Signature | Must verify against the public certificate associated with the issuer |
Subject (sub) | Must resolve to a known Member or Builder belonging to your organization |
| Builder mTLS | If the subject is a Builder, the request must arrive over mTLS with a matching client certificate |