Set it once.The records do the rest.
Budgets, owners, and policies — configured once. From then on, CapHound writes the records, delivers them where your teams work, and hands you the receipt.
A week with CapHound
Not another tab your team has to live in. One configuration, then the work happens where it already happens.
Configure once
Budgets with owners and approval paths. Policies across five types. Ten minutes, honestly.
Records flow out
Spend records to your warehouse, signals to Slack and Datadog, tickets to Jira — automatically.
Owners decide in place
Budget increases and exceptions approved with one tap in Slack or one click in email. On the record.
The receipt lands
Once a month: what was prevented, what was decided, who decided it. Forward it upward.
The dashboard? You'll barely use it. Configure, investigate when something needs a closer look, leave. That's the point.
The data contract
Five kinds of records. Every question answered.
This is what CapHound actually produces — request-grained, owner-attributed, audit-ready. Your warehouse, your BI, your auditor, and your AI agents all read from the same records.
Spend records
Who caused every dollar?
featureteamcustomerownerBilledCostFOCUS 1.0Decision records
What did each policy do to each request?
actionpolicymodelscopereasoncost_effectApproval records
Who approved what, and how fast?
decided_bychannelamountreasontime_to_decisionControl records
What changed, and did it revert on schedule?
control_typetargetspend_governedactorreverted_atThe receipt
What do I forward upward each month?
preventeddecisionsmedian_ttdrevertsaudit_refDelivered to
Warehouse push is FOCUS 1.0, nightly — lands in Snowflake, BigQuery, S3, or any destination that accepts a push. AI agents: Claude, Cursor, anything that can ask.
The controls
Five policy types. Every request. Every provider.
Policies are evaluated per request — not per invoice line, weeks later. Each decision is written to the record with the policy that made it.
budget-limitSpending stops at the limit — hard stop or paced burn, your call per budget.downgrade-ruleNon-critical traffic moves to a lower-cost model automatically.routing-preferenceRequests stay where they belong — region, provider, data residency.model-restrictionOnly approved models run. Anything else is swapped or stopped.rate-limitBursts get absorbed before they become a bill — per scope, per environment.
decision-streampolicy:any · env:productiongpt-4o · contract-analysis
budget-limit · legal-tech monthly
gpt-4o → gpt-4o-mini · customer-support
downgrade-rule · non-critical traffic
claude-sonnet · doc-extract
routing-preference · EU data residency
o1-preview · engineering-sandbox
model-restriction · approved models only
batch-embed · growth-experiments
rate-limit · 20 req/min non-prod
Every request, evaluated against your policies
$2,144 never spent this month
One control surface, every provider.
First records in 15 minutes.
Setup is a drop-in change — your spend records start flowing the same hour. From there, onboarding is guided: we map budgets, owners, policies, and the tools your teams already use. Implementation guides and documentation are provided to customers during onboarding.
No public docs to dig through — because you won't be implementing this alone.