Hosted by ai-cur
Our hosted profile runs on our servers, and sign-in is not open yet. Contact us for availability, a tenant of your own, and the same database rules as every other profile. The fastest way to a first view.
No prompts, no files, no ticket bodies. People see themselves, leads see their team, leaders see groups. And the whole record can run inside your own boundary.
Amounts, people, dates and states. Never a prompt, a file, a diff or a ticket body, from any connector.
Individuals see themselves, leads see their own team, leaders see groups above a minimum size.
On your own servers, inside Databricks or inside ServiceNow, and hosted by us once sign-in opens. The same record in each.
ai-cur never sits between your people and their tools. It reads billing through each vendor's reporting API and never handles a model request, a prompt or a response.
One engine, four ways to run it. The profile never changes who can see what or which figures appear.
Our hosted profile runs on our servers, and sign-in is not open yet. Contact us for availability, a tenant of your own, and the same database rules as every other profile. The fastest way to a first view.
Standalone and self-hosted: the full backend, its Postgres database and the browser app as one docker compose deployable inside your network, signing people in through your own identity provider. The record stays in your database, and the server needs no connection to us to run.
ai-cur as a Databricks App over Delta tables, with Unity Catalog owning row-level access and column masks per role. Your AI cost record sits beside the rest of your data, governed by the rules you already have. Databricks' own AI Gateway budgets leave out provisioned throughput and inference on models hosted elsewhere1. ai-cur is built to read the bills of models hosted elsewhere directly, so that spend can land in the same record; reading Databricks' own provisioned throughput is planned.
A scoped app inside your instance: the AI cost record, billing ingestion, the desktop client's push and role-based views, next to the incidents, changes and requests your teams already work in. Coverage of AI Control Tower reports that assist counts vary between interactions, which makes the bill hard to predict2; the scoped app adds unit costs in money beside that governance.
Each of these is enforced by the schema or the service itself, in every profile. The report says the short version to every reader.
The charge ledger only grows: a row trigger refuses updates and deletes, and a statement trigger guards against TRUNCATE, the one bypass a row trigger cannot see. Both were confirmed enabled on our running host.
Every served view filters on the tenant context inside the database, so a request with no tenant context set gets zero rows by construction. Admin and finance views also need a role the web layer sets only after it finds a declared one.
No prompt, transcript or file content leaves your boundary. From GitHub it takes metadata: pull requests, commit counts, changed lines. The desktop client's activity index is contentless.
Each install holds its own token. Only a hash of the secret is stored and the secret is shown once; rotating keeps the old token alive for a short overlap, and revoking ends it at once.
A correction is its own row naming the charge it supersedes. A row cannot supersede itself, and an unsettled correction cannot be reached, so nothing is counted twice or quietly erased.
No currency is defaulted or backfilled. Where a group holds more than one currency, every money aggregate in the product returns no total and names the currencies it found, rather than adding them together.
Team comparisons wait for a minimum cohort. The cohort is the declared roster, not whoever happened to be active, and a comparison that is too small is withheld rather than published.
Every source carries its access state, and a page names the incomplete ones above the figures they touch, so a missing feed is never a silent zero.
What a plan includes is a signed document, checkable against a public JWKS key set at a well-known address, with the feature manifest pinned by path and digest.
Deleting an account is governed: an email link can cancel the request for a short while, and the purge waits out a grace period on a request that has matured.
The cost record is shaped after FOCUS version 1.4, the billing data specification the FinOps Foundation ratified on 4 June 20263, and the finance export uses FOCUS 1.4 names for six of its seven columns.
That is an alignment claim, not a certification, and no FOCUS validator has tested the record. The record already keeps the model and input and output tokens apart wherever a vendor reports them.
Standalone, hosted, Databricks or ServiceNow: we will say plainly what is proved for your profile before you commit to anything.