Governance and usage

Who spent what, in which process, on what day

AI usage is metered call by call and rolled up by day, by model and by process. What gets billed is what the provider charged, not an estimate. And every tool the agent runs lands in a hash-chained log.

  • The last 14 days in detail
  • A retry never charges twice
  • Downloadable log

The company meter

Settings holds the assigned budget, the spend to date and the last fourteen days in detail: which day, which model and which process made each call. Process means which part of the system asked for the work: an agent turn, a scheduled automation, the review that writes memory. It is the question a manager actually asks when they see a number, and almost no tool answers it.

  • The number you see is measured spend, not an estimate from text length
  • Indexing, search and people talking to people do not appear, because they consume nothing
Settings · AI usage recent days

Budget this month

25,000 credits

Spent

11,480 credits

Day Process Turns Credits
Jul 19 agent:chat 38 7,210
Jul 19 agent:scheduled 4 760
Jul 18 agent:chat 11 2,090
Jul 18 agent:memory 6 410
Jul 17 agent:chat 5 1,010
An agent turn costs 190 credits on average, measured over 119 real turns.

A retry cannot charge you twice

Every call to the model carries its own identifier and the charge is recorded under that key. If the network fails and the same charge arrives again, the second one adds nothing: it is marked duplicate and passes through. The spend increment, the detail row and the daily rollup are written in one transaction, so there is no in-between state where spend went up and no detail explains it.

idempotent billing
  1. Call with its identifier
  2. Recorded once spend, detail and rollup
  3. Retry same identifier
  4. Marked duplicate adds nothing
The month-end total matches the line-by-line detail, because they are the same write.

A monthly log you can download

Beyond the panel, every call appends a line to a monthly file belonging to your company: date, person, department, process, model, exact token counts, the size of text it covered and the cost. The size, not the content: the log never stores what was written. The files are monthly so they do not grow without bound, and they download whenever your accountant asks.

  • If the file write fails, billing does not break: the database is the source of the charge
  • File totals and panel totals are compared in the test suite, so they do not drift
ai-logs/2026-07.jsonl one line per call

{"ts":"2026-07-19T14:02:11Z","process":"agent:chat",

"user":"u_412","dept":"sales","tokens":84024,

"chars_covered":18740,"messages":12,

"cost_usd":0.1889,"duplicate":false}

How many characters were covered. Never which ones.

An audit that cannot be altered unnoticed

Every tool the agent runs leaves a row with the hash of its arguments (never the arguments in the clear), whether it succeeded and how long it took. Each row also carries the hash of the previous one, so rows form a chain per company. Delete or edit a row and the next one stops matching, and verifying the log is walking it from end to end.

agent_tool_runs one chain per company
What is stored is the hash of the arguments, not the arguments. The audit does not leak what was done.

Encrypted secrets, listed by name

Your company keys are stored encrypted and decrypted only inside the process that uses them. No endpoint returns the value: the screen shows the name and the words Value hidden, even to whoever created it. Only the company owner reaches that tab, and a secret reaches a run only if the tool asks for it explicitly. By default none travels.

Settings · Secrets owner only
BILLING_API
Value hidden
SMTP_PASSWORD
Value hidden
WAREHOUSE_TOKEN
Value hidden
On top of that, files that look like secrets never enter the vault or the index.

Asking for more credit goes to a person

The company owner requests credit from the meter screen itself, with the number in front of them. The request stays pending until a platform administrator approves or rejects it with a note, and once decided it never changes state again. A company cannot approve its own credit, which is exactly what a finance team wants to hear.

credit request
  1. The owner asks from the meter
  2. Pending nobody self-approves
  3. Approved or rejected with a note
  4. Decided no further changes

What it does not do yet

The meter records and shows, but it does not cut off

If your company goes past its assigned budget you will see it on the panel and we will tell you, but the system does not interrupt the work on its own. The automatic cutoff is written and tested, and it is not yet wired into the agent path. We would rather say it that way than promise a ceiling that is not enforced today.

For the same reason: credits do not renew on their own. Each month the allotment is applied in account administration, and credit you did not use does not roll over: what a heavy month has instead is the mid-month top up.

Start free. Pay when it earns it.

Starter credit so you can try it against your own real documentation. No card and no sales call. If it works, you pick a plan.

  • Starter credit on the house
  • No credit card
  • Every feature included