Chloros is a security product, so we hold ourselves to the standard we help you enforce. Here's exactly what's in place today, and what's on the roadmap — stated plainly, without security theater.
Passwords are hashed with scrypt and a per-password salt. We never store or log plaintext passwords.
Logins issue revocable, server-side tokens that expire. Resetting a password revokes all existing sessions.
Every account's data — agents, actions, logs — is strictly scoped. One account can never see or act on another's.
An append-only record of security events (logins, pairings, policy and ring changes, kill-switch flips, approvals) with timestamp and IP. Exportable as CSV.
Login, signup, and the gate are rate-limited to resist brute-force and abuse.
Each agent has a behavioral baseline; sudden spikes in risky actions are flagged and reduce the agent's trust score.
If the gate is unreachable, the integration shim blocks the action rather than letting it run unguarded. It fails closed by design.
Secret-leak, prompt-injection, dangerous-command, and OWASP-LLM detection on every action, with an optional model-based deep pass.
HSTS, a content-security policy, anti-clickjacking, and MIME-sniffing protection are set on every response.
An internal pipeline scans our own dependencies for known CVEs (pip-audit), our code for insecure patterns (Bandit), our source for leaked secrets, and our configuration for hardening gaps — on a schedule and on demand.
Stored credentials are encrypted at rest and referenced by handle, so raw keys stay out of agent context and out of logs.