Purpose
What was the money actually spent on?
Billing data cannot answer this, because the answer was never in it. TokenLock sits in the request path, so it can read a conversation and put it in a category you defined.
How an extraction runs
You define the dimensions
Your labels, your wording. Work category, product area, whether it was work at all.
You write the prompt
It is visible and editable. Nothing about the classification is hidden from you.
An administrator clicks Run
Extractions run on demand, over the retention window you set. Nothing is scheduled.
It reports its own cost
The run is metered like any other traffic, in the same figures.
Read the excerpt and choose one label: code migration and refactor bug investigation test authoring documentation outside work scope If none fits, answer: unclear.
The cost figure is the point. Classifying 4,812 conversations cost about a pound, against a monthly Bedrock bill of $18,402.66. Nobody has to approve a budget to find out what the budget went on.
Two questions, not one list
Task is what someone was doing. Subject is what it was about. Most of what looks like overlapping categories is those two questions mashed together — keep them apart and each list stays short and additive.
And you gain the cross-tab: a table of spend by activity against subject that cannot be produced from a bill, from request metadata, or from a header.
This is the only feature that reads what people wrote.
We would rather say that than have your security team discover it. Everything else in TokenLock is metered from request metadata; extractions read an excerpt of conversation text.
What this means for your staff →It stays in your account
The classification call goes to your own Bedrock, in your own region, like every other request.
It needs retention on
With retention off there is no text to read, and cost reporting still works fully.
It runs when you say so
On demand, by an administrator. There is no background job reading conversations.