Secryn can expose one key or one certificate without a vault access key. Public access is disabled by default and must be enabled per resource. The caller still presents that resource's bearer token. The endpoint is not an open link.
A public resource has a read-only API endpoint scoped to that single key or certificate:
GET /api/v1/keys/{key_id} with Authorization: Bearer <resource public token>GET /api/v1/certificates/{certificate_id} with Authorization: Bearer <resource public token>The token bypasses project and vault access checks for that resource only. The route accepts GET and HEAD. Revoking public visibility or disabling the resource stops the token from working.
Secrets are never exposed via public URLs.
“Public” means this token returns public material only. For a key, that is the public key, never the private key. The private key file stays in a SECRYN-PRIVATE-V1 envelope encrypted with APP_KEY. Enabling public visibility does not put the private key in the response.
The certificate endpoint returns that certificate, never the certificate private key. Certificates are not versioned, so the endpoint returns the stored certificate, not a later replacement. Disabled or expired certificates stop resolving. The certificate private key is stored in a SECRYN-PRIVATE-V1 envelope encrypted with APP_KEY. Treat the public token as a secret.
Treat public URLs as sensitive access links:
Public token requests are recorded in request logs.
Disable the Public URL toggle, disable the resource, or delete the resource to revoke access. Revocation takes effect immediately.
The response never includes a private key. Prefer the vault access key when the caller needs the private key, and leave public visibility off unless that separate token is required. Rotate any private key whose public link was enabled before this release.