Python-first action governance for AI automations

Govern critical agent actions before execution

DAAI adds policy checks, client approvals, status tracking, and governance receipts to registered Python agent actions - without rebuilding your automation stack.

Explicit SDK-based interception. Deterministic policies. Human approval when it matters.

Action runPending approval

Proposed action

run_8c4f
Action
send_invoice_reminder
Actor
finance_agent
Amount
$1,250
Source
finance_admin_agent

Input summary

Follow up on overdue invoice INV-1025 for ABC Pty Ltd before a finance workflow sends email.

Policy decision

Policy gate

Policy

Require approval above $500

Decision

Human approval required

Approver

client@example.com

01

Proposed

02

Policy evaluated

03

Approval email sent

04

Waiting for client

Govern the action lifecycle, not the whole app.

Developers keep execution in their system. DAAI handles proposal, policy, approval, status, and receipts.

01

Propose action

Your Python app sends a registered action proposal before the real function runs.

02

Evaluate policy

DAAI checks the action, workspace, payload, and deterministic policy rule.

03

Ask, allow, or block

The run becomes executable, pending approval, rejected, or blocked.

04

Execute when permitted

Your worker keeps ownership of business execution and external integrations.

05

Record receipt

The decision, policy snapshot, status, and execution result become audit evidence.

DAAI owns

  • Proposal
  • Policy
  • Approval
  • Status
  • Governance receipts

Developer app owns

  • Actual business execution
  • Executor functions
  • External integrations
  • Local worker or cron trigger

Everything needed to make agent actions governable.

Built for consultants who need client trust, auditability, and safe execution paths.

Registered Actions

Define the risky actions your automation is allowed to propose.

ActionRiskPolicy
send_invoice_remindermediumapproval > $500
mark_invoice_paidhighalways approval
escalate_overdue_invoicemediumalways allow

Deterministic Policies

Runtime decisions are rule-based, not guessed by an LLM.

IF

amount > $500

THEN

require approval

allowaskblock

Client Approval Links

Send secure approval and rejection links before execution.

Approval request

send_invoice_reminder

Finance agent wants to send a reminder for INV-1025.

Python SDK

Add a gate before risky functions with a few lines of Python.

from daai import DaaiClient

ticket = manager.propose(
    action="send_invoice_reminder",
    actor="finance_agent",
    input=payload,
)

if ticket.executable:
    send_invoice_reminder(payload)

Receipts & Audit Trail

Every governed decision becomes a receipt.

Decisionapproved
Statusawaiting execution report
Policy snapshotrequire_approval_above_amount
Timestamp2026-05-23T13:31:08Z

Pending Action Runner

Execute later only after DAAI says the action is executable.

1

pending

approval email sent

run
2

approved

ready for worker

run
3

executed

reported by app

run

One dashboard for client-facing action governance.

Track what the agent proposed, why it was risky, who approved it, and whether it actually executed.

Workspace

Acme Finance Admin

Action governance

24

action runs

7

pending approval

14

executed

3

blocked

ActionActorPolicyStatusExecutionTime
send_invoice_reminderfinance_agentapproval > $500Pending approvalNot executed2m ago
update_invoice_statusfinance_agentlog onlyAllowedExecuted11m ago
mark_invoice_paidfinance_agentalways approvalApprovedAwaiting report18m ago
unknown_actionagentnot registeredBlockedNot executed32m ago

Python SDK

Designed for Python automations.

DAAI fits into the safe point before your automation performs a real-world action.

  • Propose registered actions
  • Store pending runs locally
  • Poll for approval
  • Execute only when permitted
  • Report success or failure
safe_execution.py
1import os2from daai import DaaiClient3from daai.store import SQLitePendingStore4from daai.runtime import PendingActionManager, DaaiActionRunner5 6client = DaaiClient(7    api_key=os.environ["DAAI_API_KEY"],8    workspace_key=os.environ["DAAI_WORKSPACE_KEY"],9)10 11store = SQLitePendingStore("daai_pending.db")12manager = PendingActionManager(client=client, store=store)13 14ticket = manager.propose(15    action="send_invoice_reminder",16    actor="finance_agent",17    input={18        "invoice_id": "INV-1025",19        "customer_name": "ABC Pty Ltd",20        "amount": 1250,21    },22    reasoning="Invoice is overdue and needs a polite follow-up.",23)24 25if ticket.executable:26    send_invoice_reminder()

Approval where it belongs: before execution.

DAAI separates proposed intent from actual execution, so clients can approve risky actions before anything irreversible happens.

Agent proposes

Registered action and payload

DAAI evaluates

Policy produces allowed, pending, or blocked

Client approves

Secure one-time approval link

Worker executes

Only after executable is true

Receipt updated

Decision and execution result recorded

Free beta with enforced launch limits.

Start with the limits that are enforced by the backend today. Paid tiers will be available after a successful beta test.

Paid tiers will be available after a successful beta test.

Free beta access is intentionally limited during launch to protect system reliability.

Free

Live beta

$0/month

For proving the full approval and receipt path with real clients.

Client workspaces2 active
Actions per workspace3 active
Action-run audit records1,000 / month
Approval emails100 / month

These limits are enforced in the backend during the free beta.

Starter

Coming later

After beta

For consultants governing a small set of client automations after launch validation.

Client workspacesMore than free
Actions per workspaceMore than free
Action-run audit recordsHigher monthly cap
Approval emailsHigher monthly cap

Paid tiers will be available after a successful beta test.

Growth

Coming later

After beta

Built for small agencies standardizing governance after the beta proves reliability.

Client workspacesAgency scale
Actions per workspaceAgency scale
Action-run audit recordsHigher monthly cap
Approval emailsHigher monthly cap

Paid tiers will be available after a successful beta test.

Give your AI automations a governed execution path.

Start with one client workspace. Register one risky action. See the full approval and receipt flow.