FAQ
Questions, including the ones with awkward answers.
The uncomfortable ones are first. A FAQ that only answers the flattering questions is a brochure, and you would stop believing the rest of it.
The awkward ones
Why is the carbon figure a range instead of a number?
Because no commercial provider publishes the energy their models use. A single tidy number for a proprietary model would be invented, and inventing it is the failure this product exists to avoid.
This is less of a problem than it sounds. Limited assurance under ISAE 3410 does not test whether your number is precise — it tests whether your method is documented, your figures traceable, your factors tested and your uncertainty disclosed. It explicitly tolerates a range. The methodology page shows where the width enters, and it is one step out of five.
We only use commercial models. Will everything say Tier 1?
Yes — for energy, carbon, water and land. Those rest on class averages because nobody publishes per-model energy, and provider transparency is the ceiling rather than our effort.
Cost is different: whenever your provider bills an exact amount we record it, so cost reaches Tier 4 with no uncertainty band at all. Attribution, waste detection and the evidence record do not depend on the tier either.
Is this audit-ready today?
The engine produces the things an assurance provider actually tests: a documented methodology, per-number lineage, versioned factors with retrieval dates, disclosed uncertainty, and a restatement log for when a coefficient moves.
What it has not had is an independent methodology review. That is scheduled for the design-partner phase and it is a real gap until it happens. Anyone telling you their carbon tool is audit-proof today is describing an ambition.
You are pre-GA. What if you go away?
A fair question and the reason the engine is open. The coefficient library and the collector are Apache 2.0, published to npm with provenance attestations, so the measurement layer does not depend on us continuing to exist. Your historical data is exportable.
What you would lose is the hosted pipeline, the attribution and the support relationship. That is a real risk of buying early, and the design-partner terms exist to price it.
Data and security
Do you see our prompts?
No — and not because of a policy someone could forget. No field in the data model can hold a prompt or a completion. The collector strips unknown keys before anything leaves your process, and the ingest endpoint rejects a request carrying content with a 400 rather than a silent drop, so if something on your side is leaking you find out immediately.
The adapters read usage counters and nothing else — they cannot leak a completion because they never read one. It is all in the collector source (opens in a new tab), which is open precisely so a security review can check rather than trust.
What do you actually store?
Model, provider, token counts, a timestamp, duration, region where known, the billed cost if your provider gives one, and the attribution you attach — team, feature, customer, outcome. A row is tens of bytes where a prompt-storing tool holds kilobytes, which is also why our overage pricing is a fraction of theirs.
Is 'customer' personal data?
It should be an opaque account identifier, not a name or an email address. The field exists to group figures, and an identifier is enough to group by. If you pass something more identifying than that, you have chosen to — nothing requires it.
Can we self-host?
The engine and the collector run wherever you like — they are Apache 2.0 on npm with no runtime dependencies. Running the whole pipeline in your own VPC, or air-gapped, is on the Enterprise plan.
Running it
What happens when your endpoint is down?
Nothing happens to you. Sink failures are swallowed by design, so a down endpoint, a network partition or a read-only filesystem degrades to no capture rather than an error in your request path. Instrumentation that can break the application it observes gets removed, so this one cannot. The cost is that a sustained outage is a gap in your data, which is why the collector batches rather than dropping on the first failure.
What overhead does the SDK add?
Zero runtime dependencies and no network call in your request path. Recording a call builds a small object and pushes it to a buffer; delivery is batched and happens off the path. The measurable cost is a buffer in memory.
Do you support Python?
Yes — pip install tetrameter. It was the most common thing we were asked for. The two SDKs produce identical rows, so a company running Python and TypeScript sees one shape of data rather than two that nearly agree. Any other language can post to the ingest endpoint directly — it is a plain HTTP API with a documented schema, and the SDK is a convenience over it rather than a requirement.
How much work is the integration?
One configure() where your AI calls are made, one withTrace at the outermost business operation, and attribution you probably already have in scope. Most integrations are under an hour. The docs have the whole surface on one page, because there is not much of it.
Method and billing
What happens when a coefficient changes?
Every historical figure derived from it moves, which in a disclosed inventory is a restatement event requiring documentation. The log lives inside the library so a report can cite it mechanically — it records the versions either side, the date, the reason and how far affected figures moved. It includes the entry where we had overstated a model roughly threefold and corrected it downward.
Why do you refuse to use marginal intensity for the inventory?
Because they answer different questions. Average intensity answers “what share of the grid’s emissions are mine” — what an inventory needs. Marginal answers “what changed because I stopped” — the only valid basis for a reduction claim. Published research finds the same intervention reading 18% savings on one signal, 11% on the other and negative on a third. We compute both and refuse to let a reduction claim quote an average.
Do you charge a percentage of our AI spend?
No. It is a flat plan plus overage per million calls, so the bill does not grow just because your usage did. There is a savings-share arrangement on the pricing page, but it is a pilot, capped, and only where we control the fix.
Not answered here?
Hard questions are welcome, particularly about the method. They are how the methodology gets better.