A developer laptop is stolen, unlocked.
No secret values are on it. The device token is revocable from the console, and any credential it held has already expired.
Security model
Shortspan is designed around one assumption: sooner or later, a laptop will be stolen, a token will leak, or an employee will leave badly. Every decision below follows from planning for that day instead of hoping it does not come.
Threat model
A security model is only meaningful against a stated threat. These are the six we designed for, and the control that answers each.
No secret values are on it. The device token is revocable from the console, and any credential it held has already expired.
Every secret is ciphertext. The master key that unwraps the per-secret data keys is held outside the database.
Host key fingerprints are pinned. A mismatch aborts the connection before any credential is transmitted, and files an incident.
There is no standing key to keep. Revoking the person ends their ability to obtain new credentials everywhere at once.
Tokens are project-scoped and revocable in one command, and the audit trail shows exactly what the token reached before you noticed.
Append-only audit records name the actor, device, source IP, target, and outcome for every credential ever issued.
Cryptography
Per-secret data keys wrapped by a per-organization master key. Standard constructions, no invented cryptography.
A secret reaches us over TLS 1.2 or better and is never written to disk in plaintext at any point in the request.
A fresh 256-bit key encrypts the value with AES-256-GCM, producing ciphertext and an authentication tag that detects tampering.
That data key is itself encrypted under your organization’s master key, so each secret has its own key and a compromise does not cascade.
The master key lives outside the database. A stolen database dump yields ciphertext and wrapped keys, and nothing else.
On an authorized read the data key is unwrapped in memory, the value is decrypted, returned over TLS, and the buffers are released.
What this does not protect against: an attacker holding both the database and the master key at once, or an administrator inside your own workspace who is authorized to read the secret. Encryption narrows the blast radius - access policy and the audit trail carry the rest.
Controls
Roles, scopes, approvals, and isolation are checked on the server for every request - never assumed from what the interface happened to render.
Operations
Product security is only half of it. These are the practices behind the service itself.
Limited to a small on-call group, gated behind multi-factor authentication, logged, and reviewed. No shared administrative accounts.
Every change is peer-reviewed, passes static analysis and an automated test suite, and ships through a repeatable pipeline. Rollback is a first-class path.
Automated dependency and vulnerability scanning on every build. Critical advisories are patched within days, not release cycles.
Encrypted, rolling backups with periodic restoration tests. A backup you have never restored is a hypothesis, not a backup.
Availability, latency, and error-rate alerting with on-call rotation. Secret values are scrubbed from every trace and log line.
A written runbook with defined severities, a named incident commander, and customer notification within the timeframes our DPA commits to.
Compliance
We would rather tell you exactly where we are than imply a certificate we do not hold.
Vendor questionnaires, architecture diagrams, and penetration test summaries go to security@shortspan.dev. We answer them ourselves.
The free plan includes every security fundamental described on this page. Nothing here is gated behind a paid tier.
Found something? Our disclosure policy has a safe harbour and a one-business-day acknowledgement.