Security model in plain English
Agentina runs autonomous agents on hardware you operate. We treat that responsibility seriously: signed releases, signed licenses, hashed secrets, append-only audit, and a runtime that fails closed.
What lives where
Your server runs a lightweight agent. Everything else stays in our cloud.
The promises
Concrete, verifiable, and the same on day one as on year ten.
Every release is signed
Every license is bound
Revocation is real-time
Append-only audit
How credentials live
Admin authentication
Operators sign in with email + password. Passwords are hashed with scrypt (N=2^15, r=8, p=1) — the parameters travel with the hash so cost can be rotated without invalidating existing accounts. After 5 failed attempts the account is locked for 15 minutes.
Sessions are 32-byte random tokens stored sha256-hashed. The cookie carries the plaintext; a database leak never leaks live sessions. Sliding 8-hour TTL with a hard 30-day ceiling. Deactivating an admin revokes every live session immediately.
Customer authentication
Customer-portal users use the same hash + session model as admins, with a separate customer_sessions table so the two surfaces never share state.
Service accounts
The control plane accepts a long-lived bearer token for CI / scripts. The token is sha256-compared in constant time and tagged in audit as kind="system" so service-account actions never look like operator actions.
Activation tokens
Agents bootstrap with a single-use act_* token. On redemption the token records the agent fingerprint and is marked spent — re-using one is rejected and audited.
What the agent does and does not do
Permission boundary
The agent runs as a dedicated unprivileged user (agentina). It does not require root, does not require sudo, and never escalates. Self-update writes to its own install prefix only.
Outbound network
The agent only initiates connections — it does not listen. All traffic is HTTPS to your configured control plane and distribution origins. No telemetry to third parties; no calls home to us in self-hosted mode.
Local data
Task state and event journals live under the agent's install prefix. Sensitive fields (auth headers, secrets, tokens) are redacted before they reach disk or logs by a pino redaction policy that ships with every release.
Fails closed
If the license is missing, expired, revoked, or fingerprint-mismatched, the agent transitions terminal and stops accepting new work. Existing in-flight tasks are allowed to finish; nothing new starts.
Multi-layer protection
Every layer independently enforces licensing and integrity. No single bypass point.
Machine Binding
5-component hardware fingerprint (CPU, motherboard, disk, MAC, hostname) with weighted scoring. Moving the install to another machine is detected automatically.
Runtime Tamper Detection
SHA-256 hash of the runtime is computed on every heartbeat and sent to the control plane. Modified binaries are flagged and quarantined.
Signed Updates
Every release is cosign-signed with KMS-backed keys. The installer refuses unsigned or tampered packages. Downgrade attacks are blocked.
Integrity Verification
Per-file SHA-256 manifest checked at startup. Any modification to the runtime files prevents the agent from starting.
Enforcement Mesh
4 independent license checks that must ALL pass. Patching one function does not bypass the others. No single point of failure.
Signed Grace State
Offline grace timer is HMAC-signed and machine-bound. Cannot be extended by editing files, restarting, or rolling back the clock.
Single-Use Tokens
Activation tokens are consumed atomically. Each token can only be used once, on one machine. Second attempts are rejected immediately.
Encrypted Communication
All agent↔cloud traffic uses TLS 1.3. The agent only initiates outbound HTTPS connections — no inbound ports required.
Fails Closed
If the license is invalid, expired, revoked, or tampered, the agent stops accepting work. It never fails open.
What customers ask us
QCan you access my server?
QWhat data is collected?
QWhat happens after my trial expires?
QCan I uninstall at any time?
QIs my source code safe?
QWhat if your cloud goes down?
Where we are, where we're going
SOC 2 Type II
Data residency
DPA / GDPR
Backups + DR
Found something? Tell us.
Responsible disclosure
Email security@digcub-lab.com with a description, reproduction steps, and your preferred contact for follow-up. We will acknowledge within 2 business days and keep you posted through resolution.
We do not currently run a paid bug bounty. We will credit you publicly with permission, and we are happy to provide a written acknowledgement for your portfolio.
Want our vendor questionnaire?
Email sales — we'll send the latest answers + a sample DPA the same business day.