The agent that audited my own contracts
Pointing an LLM at the operational risk no human has the hours to read.
FXVPS is a multi-tenant SaaS that I run solo. Over the years, customer-facing copy accumulates: onboarding emails, refund replies, affiliate terms, SLA language, retention messages. Each was written at a different time, often for a different situation, against a different version of the policy.
Individually, each message makes sense. Collectively, they drift. Nobody sits down to re-read years of customer emails against the current terms and conditions. It is exactly the sort of work that is important, repetitive, and almost never done.
The problem
That creates a quiet operational risk. If one email promises a refund window the policy does not offer, or an SLA the infrastructure cannot meet, you have created an obligation you never intended. You usually discover it only when a customer quotes your own words back to you.
What I built
An LLM-powered content-audit pipeline that ingests customer-facing emails, extracts every explicit commitment, and compares those commitments against both the canonical policy and the rest of the corpus. Rather than producing a vague summary, it identifies the exact sentences that conflict and suggests a correction.
The output was a worklist,
not a vibe.
The run
Across 126 customer emails, the audit surfaced four genuine contradictions covering refunds, affiliate terms, retention, and SLA language. Each finding was reviewed manually before any changes were made. Once confirmed, I shipped corrected wording to 38 active customers with zero failures, then wrapped the audit in a monthly scheduled hook so the corpus cannot quietly drift that far again.
The real lesson
Agents are not only useful for headline product features. Some of the highest-return applications are the operational jobs that are too large, too repetitive, and too consequential for a person to keep revisiting.
Every long-running product accumulates documentation, emails and policies that slowly diverge. Those inconsistencies rarely break all at once. They compound quietly until somebody relies on one.
Find the corpus that nobody has time to police manually, but that matters when it is wrong. That is often where an agent pays for itself in its first week.
PHP, multi-tenant Go/PHP backend, Anthropic Claude, scheduled hooks.
- Agents
- Content audit
- Anthropic Claude