Code for the rules, AI for judgment
Banned-phrase matching runs as exact and pattern matches, with no AI involved. Each calculation is recomputed by a script. The AI judges claims and writes rewrites, inside hard constraints.
I built the AI fact-checker and SEC Marketing Rule checker that review each draft first, fix it in plain sight and log the run, so the Chief Compliance Officer approves instead of rewriting.
Under the SEC Marketing Rule, nearly any piece Evergreen published counted as an advertisement, and the Chief Compliance Officer read each piece by hand. I was building an AI content engine that would multiply the volume.
Faster drafting alone would only lengthen the queue. So I put the review inside production: a fact-checker and a compliance checker that run before a person sees anything, and hand the reviewer a documented draft.
One reviewer, each word regulated, and each approval on the record in Themis, the compliance record system.
Banned-phrase matching runs as exact and pattern matches, with no AI involved. Each calculation is recomputed by a script. The AI judges claims and writes rewrites, inside hard constraints.
The rules live in a five-tab Google Sheet the checker reads on each run, so a change needs no code release or restart. He later added AI-avatar disclosure rules himself.
Each piece is sorted as an adviser ad, AI product content or education, and by format, so the right rules and disclaimer placement apply. When Compliance ruled that the Marketing Rule covers app content in full, I shipped the change the next day.
Fact fixes land in blue and compliance fixes in green, with an audit log at the bottom of the same document. Each run gets an ID, CC or FC plus a timestamp, and the checker reads the document back to confirm each edit landed.
Disclaimers go in verbatim from the approved library, placed by channel, with short versions for tight formats. The checker never writes its own disclosure text. Video and audio that already aired get report-only review, enforced in code.
When a variant of "guarantee" slipped through, I hardened the scanner. Reviewer feedback is routed into the rulebook or the skill as a principle, not a one-off patch. I traced over-firing legal-review flags to one rule, and Compliance rewrote it.
Each pipeline ends the same way: the fact-checker, then the compliance checker, then human approval in Themis with the audit trail attached.
Blog, social post, app component, video script, press release or study asset, in a Google Doc.
Each claim, number and link checked against primary sources. Fixes in blue.
SEC Rule 206(4)-1, banned phrases and approved disclaimers by channel. Fixes in green.
The Chief Compliance Officer approves on the record, with both audit logs attached.
Website, social, the app and the press desk.
Whether tax-loss harvesting creates a meaningful net benefit depends on your personal situation. It requires having both losses available to harvest and gains to offset, and it is subject to the wash sale rule, which can disallow a loss if a substantially identical security is purchased within 30 days before or after the sale.
. . .
Taxable accounts are often the focus, since that is where many annual taxable events occur. But, tax-efficient planning may also involve tax-deferred accounts, Roth-style accounts, and the sequencing of withdrawals across all account types.
Run: FC-175926 | 14 claims: 13 verified, 1 corrected
| # | Original text | Status | |
|---|---|---|---|
| 1 | Interest income is generally taxed as ordinary income. | VERIFIED | |
| Claims 2 to 10 verified | |||
| 11 | ...can disallow a loss if a substantially identical security is repurchased within 30 days. | INCORRECT | |
Run: CC-180242 | Category: educational | Format: full_length
| Edit | Original | Replacement |
|---|---|---|
| rewrite | where most annual taxable events occur | where many annual taxable events occur |
The draft gave the wash-sale window as 30 days after a sale. IRS Publication 550 says 30 days before or after. Fixed, sourced and logged.
"Most" became "many," with the rule it triggered named in the log. Even a denial gets caught: "is not a guarantee of higher returns" became "is not an assurance of higher returns."
Misstated as 4 years, corrected to 5 before anyone in Compliance opened the draft.
From my tally of the fact-check and compliance logs in finished documents over about five months: social copy, podcast clips and in-app video scripts.
claims were corrected, or flagged as unverifiable, misleading or needing a human, before a reviewer saw them.
Claim verdicts, share of claims checked
The rest of the 19% were unverifiable claims, one misleading statistic and claims flagged for human review.
SEC Marketing Rule edits per document, made before the Chief Compliance Officer's review.
What the compliance checker changed
Share of Marketing Rule edits in the same documents.
The rulebook Compliance grew inside it
Prohibited-language rules in the Compliance Knowledge Base, against the seed rulebook. Required practices more than doubled.
The rulebook changed month after month, and none of those changes needed a code release.
With both gates in place, the CEO replaced 100% manual review of low-risk content with risk-tiered sampling and set firm turnaround targets. High-risk claims still get the Chief Compliance Officer's full review.
Share of content read in full by hand, by risk tier
Sampling steps down 5 points each time a tier holds a 95% pass rate. For the low-risk tiers, that is 50 to 75% less manual review.
Files a month in the factory's shared workspace
Source: the shared drive listing, against the month it shipped.
About 11 work weeks of manual fact-checking and first-pass review, from the first pieces logged for compliance.
| Result | What it means |
|---|---|
| 1 in 5 | Claims fixed or sent to a human before review (19%) |
| 1 in 6 | Claims that were factual errors, caught and corrected before review (16%) |
| Nearly 2 | SEC Marketing Rule edits per document: 51% rewrites, 43% disclaimers added, 6% removals |
| Nearly 4x | Prohibited-language rules, in a rulebook the Chief Compliance Officer edits without code |
| Up to 75% | Less manual review for low-risk content, sampled at 25 to 50% instead of 100% |
| 24 hours | The CEO's turnaround target for checker-cleared content, with 4 hours for non-controversial items |
| 22x | Growth in files a month in the factory's shared workspace, in about four months |
| 450+ hours | Manual review saved, about 11 work weeks, from the first logged pieces |
The Chief Compliance Officer asked what Evergreen could show a regulator who wanted a demo. Each checked document already carries its own audit trail. These are the next moves, most of them already designed.
I pushed the compliance platform for an API, and designed the filing layer so only the uploader changes when it arrives. Cleared pieces and their logs then land in the record system on their own, with no manual upload.
I designed a pass that reads Compliance's comments and accepted edits and turns them into rules. Each override becomes a principle, so the same note never has to be written twice.
Track pass rates and draft-to-approval time by tier, and step sampling down only when the data holds. Review effort follows risk, on evidence a regulator can read.
Check images, video and app components before they render, not after.
Give the rule owner the rules, run what must never vary as code, and let AI do only the judgment. Then the reviewer stops reading each piece in full and starts auditing a sample.