TRUST & SECURITY

ZERO is non-custodial.

It never holds operator funds, and the runtime never holds a signing key. This is how the signing path is built, and how to report a problem with it.

Security posture

Keys stay in the operator’s control
Every wallet is the operator’s own — a Privy embedded wallet, MetaMask, Ledger, or any self-custodial wallet. The runtime signs only through a Privy-managed API wallet the operator authorized and can revoke at any moment. The signing key never leaves the managed enclave, and losing an API key never loses operator funds.
The signer is scope-limited
The control plane signs only order, cancel, and schedule-cancel actions. It does not — and the policy must not let it — withdraw, transfer, or change account settings.
Signing refuses when the runtime is unsafe
A live lease is required; it is short-lived and renewed only by the runtime’s own signed heartbeats. Signing is refused when the lease has expired, when the runtime reports a halt, or when the data feed diverges — and risk-reducing actions stay available even then.
Refusals are evidence
Every refusal is journaled as a public, replayable record. Refusals fail closed: a refusal that cannot be recorded blocks the action rather than allowing it. A declared safety check that silently did nothing would be worse than no check.
Jurisdiction is declared
Operator authority is geofenced from the United States and Ontario until there is regulatory clarity, and the fence is declared on every surface.

Responsible disclosure

We welcome good-faith security research and will not pursue legal action against researchers who follow this policy.

In scope: the signing path (control-plane action signing, the Privy delegation, and the heartbeat integrity the refusal logic depends on); authentication, API-key handling, and the live-lease lifecycle; the public surfaces on getzero.dev and app.getzero.dev.

How to report: email security@getzero.dev with a clear description, the affected surface, and reproduction steps. We acknowledge reports within three business days and coordinate disclosure timing with you.

Safe harbor: research is authorized only if you do not access, modify, or exfiltrate data that is not yours; do not move or attempt to move funds; do not degrade service to others; and stop and report once you have demonstrated a finding. Stay within your own operator account and test data.

Out of scope: social engineering, physical attacks, denial-of-service, findings that require a compromised operator device, and vulnerabilities in third-party infrastructure (Privy, Hyperliquid, Vercel, Supabase).

Audit history

2026-06-13 — signing-path penetration test covering the Privy delegation, the control-plane signing endpoint, the Ed25519 server-to-server heartbeat integrity, and the API-key and lease lifecycle.

Effective 2026-06-13. This statement is dated and versioned; any change is announced first on getzero.dev.