What counts as a trace
A trace is one complete execution of your agent, identified by its trace id. It counts once, when Tessary first accepts a span carrying that trace id. Every later span with the same trace id joins the same trace and does not count again, so a trace with 200 spans costs the same as a trace with 1. A trace counts toward the month in which Tessary received it, not the month its timestamps fall in. Sending a backlog of last month’s traces today counts against this month.When the count resets
The trace count resets at midnight UTC on the first day of every calendar month. The previous month’s traces stay stored; only the count starts over. Stored data does not reset. It is a measure of what the organization is keeping right now, so it goes down only when retention or a deletion removes data.How stored data is measured
Stored data is the size of the content your spans carry, summed across every project in the organization:- Each span’s input and output
- Each span’s attributes
- The token usage each span reports
- Media attached to spans
Retention
Tessary deletes trace data older than the retention period. The plan sets the longest period a project can keep, for both traces and detections, and an hourly sweep removes anything older. Deletion has two exceptions that matter for findings and cases:- Evidence stays. A trace that an open finding cites is kept whatever its age, including a finding that backs a case nobody has resolved yet. It keeps counting toward stored data until the finding closes or the case is resolved, and then ages out on a later sweep.
- Span content can go first. A trace’s span content can be deleted before the trace itself. The trace stays on every list, count, and metric, and its detail view shows the content as expired rather than empty.
0 and any value above the plan’s maximum, so no project keeps data forever. Data handling covers retention and deletion in more detail.
See your usage
Open Settings → Usage, under the organization settings. The Usage and plan page shows:
The trace count lags by up to an hour, because traces are counted in hourly batches. Storage lags by up to an hour too, because it is measured hourly.
Warnings as a limit approaches
Each progress bar changes color at 80% of its limit and again at 100%. The used and included figures next to each bar give the same information without relying on color. Tessary does not send an email or show a notice anywhere else as you approach a limit. Check Settings → Usage if your traffic is growing.What happens at a limit
Tessary refuses new traces once the organization reaches its trace allowance or its stored-data cap. It rejects the whole export request with an explicit error. It never samples traces or drops part of a request without telling you.
The rate limit caps how many export requests an organization can send per minute. It is separate from the monthly allowance, and a request refused for rate is not lost if your exporter retries it.
Because the trace count lags by up to an hour, an organization can go a little past its allowance before refusals begin. Once they begin, every export request is refused until you recover.
A refusal deletes nothing. Traces already stored, findings, and cases stay as they are. The exact error codes and messages are in the ingestion contract.
Recover from a limit
Trace allowance. Ingest resumes on its own when the count resets at the start of the next month. To resume sooner, ask for a higher limit. Stored-data cap. Stored data does not reset, so waiting for the next month does not help. Free space instead:- Shorten retention on your largest projects under Settings → Data retention. The hourly sweep deletes the older data.
- Resolve cases you have finished with. Their evidence traces can then age out like any other trace.
- Delete a project you no longer need, from the project list under Settings → Organization. This permanently deletes the project and its data.
Get higher limits
Email [email protected] with your organization and the limit you need raised. The Organization ID is under Settings → Organization.The model credit
Each organization starts with a model credit, so triage and RCA work before you add a model provider key of your own. The credit is granted once and does not renew. The amount is on the pricing page.What spends it
Two things spend the credit, and only when you have not stored your own key:- Triage, when you select Run triage on a finding. On Tessary Cloud, triage runs only when you start it.
- RCA, when you select Run RCA on a case.
frustration classifier never spends the credit. It always needs your own OpenRouter or TypeSafe key, as it does when you self-host. See Watch for frustrated users.
An RCA run that is already going finishes, even if it uses more than the credit that remained when it started.
When the credit runs out
Triage and RCA need your own model provider key from then on. Add one and they run on it. Nothing else depends on the credit. Traces keep arriving, classifiers keep evaluating every trace, findings keep being filed, and existing cases and reports stay available. A high-confidence secret leak or a frustration finding still opens its case without triage.Use your own model provider key
A key you store is always used before the credit. Store one at any time, before or after the credit runs out, and triage and RCA run on your provider account from then on. The provider bills you directly for those runs. Keys belong to the organization, and every project in it shares them.Add a key
1
Open the providers page
Open Settings → Providers.
2
Add the key
On the provider you use, select Add key, enter the key in API key (required), and select Test and save.
The provider shows Key stored.
Remove a key
On the provider, select Remove and confirm. Once the credit is used up, triage and RCA on that provider fail until you add a new key. Data handling covers how Tessary stores the keys you add.Read next
Start on Tessary Cloud
Sign up, connect your first agent, and run triage on your first finding.
Data handling
What happens to your traces and credentials, and how to delete your data.
Ingestion contract
Every field ingest reads, and the limits and errors it returns.
Cases
How triage turns a finding into a case.
