PapertrailsComplaint and liability monitoring for customer operations
What your company promised, in writing.
Support teams make undertakings all day — a refund, a replacement, a call back on Friday. They are made one message at a time, by different people, and then they are gone. Papertrails reads the shared mailboxes and chat transcripts your team already keeps, finds the undertakings inside them, and tracks which ones were kept.
An undertaking to do something.“We’ll refund you.”
Admission
An acceptance of fault.“This was our error.”
Commitment
An undertaking with a date or an amount attached — a promise that has become measurable.“£120 back to you by Friday.”
The last is kept separate from the first because only one of them can be checked against a clock. That distinction is what makes a total possible.
What it adds up to
Every open undertaking that has not been met is priced and totalled. The figure is built from what your own comparable cases actually settled at — never from a rate card, an industry average, or a number this product made up.
Where there is not enough history to stand on, it shows no figure and says so. A guess with a currency symbol in front of it is worse than an admitted gap.
What it refuses to do
It cannot read an individual’s mailbox
The product reads mailboxes a team shares — complaints@, support@ — and chat transcripts. A personal mailbox is not a setting that is switched off; the value does not exist, so a connector cannot be pointed at one by configuration, by a migration, or by somebody in a hurry passing a string through.
Enforced in papertrails/vocabulary.js
It will not invent a figure
What an open item is likely to cost is estimated from the median of your own settled cases, and it carries the sample it came from. Below three comparable settlements it returns nothing at all, because a median of two is the average of two numbers wearing a more respectable name, and this figure ends up on a board paper.
Enforced in contexts/ledger/estimation.js
It says what it left out
An evidence pack is sealed and hashed, every page carries the hash, and the cover states how many matching items were withheld and why — printed whether the count is two or zero. That sentence is the difference between a document a solicitor can rely on and a selection somebody made.
Enforced in lib/evidencePackPdf.js
What it connects to
Shared and role mailboxes in Microsoft 365 and Google Workspace, and chat transcripts.
A shared mailbox is a shared mailbox whichever of the two it lives in, so the provider is recorded separately from the kind of source. Every read is written to a data protection log the customer can inspect.