Policy approvals for AI agents.

Featherlane AI checks consequential actions, routes exceptions to the right person, and returns a decision before anything happens.

Built by a former engineer at YC / a16z-backed companiesY Combinator

Install the SDKnpm install @featherlane-ai/sdk

Live demo

Try it live.

Request a refund. Watch policy decide.

Customer support

Ask the refund agent

Live
Support agent

I can look up order ord_demo_1001 and propose a refund. Every refund must pass Featherlane AI before Stripe can execute it.

Execution trace

The control boundary

Ready
01

OpenAI agent

Chooses search_order, prepare_refund, and execute_refund tools.

02

Order evidence

Checks the captured order and refundable balance.

03

Featherlane AI

Evaluates amount, grant scope, eligibility evidence, and policy.

04

Stripe test mode

Creates the refund only after Featherlane AI authorization.

Seeded orderord_demo_1001
Captured
$100.00
Refundable
$100.00
Payment
Visa ···· 4242
Decision proofWaiting for a proposed action
Decision
Ready
Receipt
Not created
Provider
Not called

One more thing

Hey, you seem to like the product.

Want to talk through how Featherlane AI could work for your team? Pick a time on Duc’s calendar.

The approval journey

From request to execution.

Policy approves, routes, or denies every action before it runs.

01Agent proposes

Capture intent.

action
issue_refund
amount
$75.00 USD
status
proposed
02Policy boundary

Check policy.

  • Grant & authority
  • Trusted evidence
  • Financial policy
  • Spend window
03Decision point

Return a decision.

permitContinue to execution
require_approvalWait for approval
denyStop before execution
04Authorized only

Execute if permitted.

executeAction(action.id)
05Evidence after action

Record the outcome.

Decision receiptExecution receipt

One boundary: five explicit outcomes permit, deny, transform, require_approval, or defer.

The evidence

Every decision leaves proof.

See what was requested, decided, and executed.

Example decision receipt0195f2a4…38ec42
Approval required
FinancialActionrefund · issue_refund
principal_id
refund-bot
amount
$75.00 USD
authorization_status
pending_approval
execution_status
not_started
effect
require_approval
authority
passed
risk
amount_above_threshold
approval
required
execution
not_started
01

Authority first

Verify who may act.

02

Execution waits

Approval must arrive first.

03

Receipts remain

Record the decision and result.

Why this exists

Built for production reality.

“Production finds what demos miss. Put policy before action—and leave proof behind.”
DucFounder, Featherlane AI
Trust is evidenceReview the repository ↗
01

Policy before action

Check before side effects.

02

Explain every decision

Return the effect and reason.

03

Inspectable by default

Review the open-source runtime.

Approval patterns

One layer. Any action.

Choose a use case to see the control flow.

Agent spending caps

Control spend before payment.

Permit routine spend, hold exceptions, and block hard-cap breaches.

Explore the full use case
01

Proposed action

The agent proposes a vendor payment

$75.00 USD
Operation
pay_vendor
Principal
spend-agent
02

Policy check

Financial policy checks authority

Per action
$100 hard cap
Review above
$50
Monthly
$1,000
Policy on
03

Decision

Return an explicit effect

$25 routinePermitAuthorized
$75 exceptionApproval requiredHeld for review
$150 over capDeniedBlocked
04

Execution

The provider call waits

Only a currently authorized action can reserve live budget and reach the payment provider.

Execution boundaryAuthorization analysis never executes the payment.
View all six use cases

Start with one approval

What should your agent never do alone?

We will map the policy and approval path.