Introduction
How Recount records the steps behind a price, approval or AI answer as a trace, and the span types that show them.
Recount is a decision tracing SDK. You instrument your business logic - pricing engines, quoting tools, approval workflows - and Recount records every step so that anyone can see why a specific result was produced, without having to read the code.
A trace captures one run of your system. Spans are the individual steps within it: the data fetched, the rules applied, the values computed. Traces appear as an interactive timeline in the Recount dashboard.
Key concepts
Trace: a single execution of your business logic. Has a name, optional input/output, optional metadata, and a duration.
Span: a step within a trace. Each span has a type that tells the dashboard how to render it:
| Type | Use for |
|---|---|
message | Plain text messages with level (info/warn/error) |
json | Structured JSON data |
table | Tabular data with optional highlighting |
chart | Line, bar, pie, or scatter charts |
http | Outbound HTTP requests |
db | Database queries (SQL or NoSQL) |
llm | LLM calls: prompt, model, response |
image | Images rendered inline in the dashboard |
group | A collapsible section of related spans |
Beyond the SDK
Once traces are flowing, the Recount dashboard lets you:
- give people outside engineering read-only access to follow a decision step by step;
- give each customer a branded portal showing only their own traces (Standard and Pro);
- turn traces into verifiable PDF reports for your team, your customers or an auditor, and email them every week or month (Pro);
- ask an AI assistant why a decision came out the way it did, through the read-only MCP connector (Pro).
Traces can't be edited once they're recorded, and fields you mark sensitive are redacted inside your app before anything is sent.