Everything about oakallow on one page. Security infrastructure for AI agents.
oakallow is a hosted API that provides security infrastructure for AI agent tool execution.
What it does:
oakallow is not a monitoring platform or an AI agent framework. It is the security layer that sits between your agent and the tools it wants to run.
Who it is for:
Most developers are integrated within an hour.
The process:
The dashboard includes a Quickstart guide and an API Builder that generates ready-to-run seed scripts.
oakallow has two API key tiers:
Each key is scoped to a single organization. API keys are SHA-256 hashed at creation. The raw key is shown once and cannot be retrieved.
An Organization represents your application or project. Everything in oakallow is scoped to an organization: tools, tenants, resources, permission rules, and API keys.
If you are building a single AI agent, you will have one organization. If you are building a multi-tenant platform where each of your customers has their own AI agent, each customer can be a Tenant within your organization, with separate permission rules.
A Tenant represents one of your customers or end-users within your organization.
Tenants enable multi-tenant permission management. You can define permission rules that are scoped to a specific tenant, so Customer A might have different tool permissions than Customer B, all within the same organization.
Tenants are optional. If your AI agent serves a single team, you can skip tenants entirely and define permissions at the organization level.
oakallow uses a 12-level resolution chain to determine the permission for any tool execution. The chain evaluates from most specific to least specific:
Tenant-scoped rules (if a tenant is specified):
Org-scoped rules (same 8 levels without tenant):
Fallbacks:
The first match wins. If nothing matches and the tool is not pre-approved, the fail-safe is always "requires approval." Permission resolution happens at the edge via Cloudflare Workers for sub-millisecond decisions.
Every permission check returns one of three results:
When a permission check returns "requires_approval," your system creates an approval request via the API.
The approval request includes the tool name, parameters, reasoning, and any context your agent wants to provide.
oakallow then sends a webhook to your configured URL with the approval details (event: approval.created). Your system routes this notification to the appropriate reviewer via Slack, Teams, PagerDuty, email, or any channel you choose.
The reviewer approves or denies via the oakallow dashboard or your system calls the decide endpoint directly. oakallow sends another webhook with the decision (event: approval.decided).
Your agent receives the decision via the webhook or by polling the approval status endpoint. Once approved, you mint an execution token and proceed.
Approvals have a configurable timeout (default: 1 hour). If no decision is made within the timeout, the approval expires and the tool does not execute.
Configure a webhook URL per organization in the Settings page. oakallow sends two types of events:
Payloads are signed with HMAC-SHA256 using your organization's webhook secret. Verify the X-Oakallow-Signature header to confirm the request is from oakallow.
Webhooks are fire-and-forget from oakallow's side. If your endpoint is unreachable, the approval still exists and can be polled via GET /v1/approvals/:id as a fallback.
Yes, by setting the permission to "allowed" for that tool. Tools with "allowed" permission do not go through the approval workflow.
However, automatically approving tools that the permission system flagged as "requires_approval" is a violation of the Acceptable Use Policy. The purpose of oakallow is to ensure human oversight where you have defined it. Building systems that circumvent approval requirements defeats the security model.
An execution token is a single-use, HMAC-signed proof that a tool execution was authorized.
After confirming a tool is allowed (via permission check or approval), your system calls the token minting endpoint. The token contains a nonce that can only be used once, preventing replay attacks.
Tokens provide cryptographic evidence that:
oakallow logs every significant action:
All logs include timestamps and are queryable through the dashboard Activity page and the API. Logs are scoped to your developer account.
Billable operations (charged at $0.005 per call with a Standard key):
Free operations (Management key):
API keys go through a multi-layer security process:
If a key is compromised, revoke it immediately from the dashboard. A new key can be created in seconds.
Permission resolution happens at the edge in a Cloudflare Worker.
Permission rules are stored in Cloudflare D1 (a serverless SQL database at the edge). When a permission check request arrives, the Worker resolves the permission locally without making a round-trip to the backend. This delivers sub-millisecond decisions.
The same permission rules are also stored in Supabase for the dashboard and API Builder. Changes made through the API are dual-written to both D1 and Supabase to keep them in sync.
oakallow runs on four layers:
All communication between layers uses HMAC-signed headers with a 30-second drift window for timing-safe validation.
oakallow uses a prepaid credit model.
You purchase credits via Stripe, and those credits are consumed by billable API calls at $0.005 per call. New accounts receive $5.00 in free credits (expires after 30 days).
Credit packages:
When your balance reaches zero, billable API calls are rejected until you add more credits. Management operations are always free regardless of balance.
Purchased credits that have not been consumed may be refunded within 30 days of purchase. Credits that have been partially consumed are not eligible for refund.
Free credits included with new accounts are not refundable and expire after 30 days.
To request a refund, contact support@oakallow.io.
Yes. Contact support@oakallow.io to request account deletion.
Upon deletion, your API keys are immediately revoked, and your personal data is removed within 30 days. Billing records may be retained as required by law.