Back to home

Security

Veto is a security product. We hold ourselves to the standard we set for our users.

Default Deny

Every authorization request is denied unless an explicit policy allows it. Misconfiguration fails safe, not open. This is the core principle of Veto's architecture.

API Key Security

API keys are hashed with HMAC-SHA256 before storage — we never store raw keys. Keys support scoping (admin vs read-only) and expiration dates. Raw keys are shown exactly once at creation time.

Data Handling

Sensitive parameters (passwords, tokens, API keys) are automatically redacted in audit logs — recursively, at any nesting depth. All input is validated with Zod schemas. All database queries are parameterized. Regex patterns in policies are checked for ReDoS vulnerabilities before acceptance.

Infrastructure

The API runs on Cloudflare Workers at the edge for sub-10ms latency globally. Data is stored in Neon serverless Postgres with encryption at rest and in transit. The dashboard is protected by Clerk authentication. All secrets are stored in Cloudflare Workers environment variables — never in code.

Responsible Disclosure

Found a vulnerability? Please email hello@veto.tools with details. We'll respond within 48 hours.