AI Systems · FinGuard · Demo, public

FinGuard let the compliance team own the rules marketing writes against

An internal tool built at PingPong to unblock the queue between marketing and compliance. Submit any public-facing asset, pick where it will run, and get a jurisdiction-matched audit that cites the rule and links its source. Compliance and legal maintain the policies themselves.

Compliance maintains itpolicies edited by the team accountable for them
9 jurisdictionseach finding cites its rule and source
The compliance queue

Marketing approved it in an hour. Then it sat in compliance for a week.

At PingPong, a B2B cross-border payments platform, every public-facing word goes through internal review. Marketing signs off quickly. Compliance has to sign off too, and that is where the timeline actually lived, because a marketing asset is rarely the most urgent thing on a compliance team's desk.

Compliance had written marketing guidance, and it varied by region. In practice the team applied it from memory and asked a person when unsure, over email, which is where requests get buried. The publishing calendar bent around a queue nobody owned.

This is a cross-department problem before it is a technology problem, and it is the kind I find worth solving: a small, specific operational failure that costs a team days every month.

01 · Draft Marketing writes and signs off

Internal marketing review moves fast, because the people in it are the people who wanted the asset.

about an hour
02 · Send Email it to compliance

Into a shared inbox with no owner, alongside everything else that department is being asked for that week.

no queue, no SLA
03 · Wait Sit behind higher-priority work

A marketing asset is rarely the most urgent item on a compliance desk, and there is no honest argument that it should be.

about a week
04 · Repeat Get an answer from memory

The guidance existed and varied by region. Someone recalled it and replied, leaving no record for the next person to reuse.

asked again next month
1 hour to write and about a week to clear. The publishing calendar bent around a queue that nobody owned and nobody was measured on.
Products that exist for this

Compliance suites, AI checkers, a raw chatbot

This is a common enough problem that products exist for it. None of them fit a marketing team sitting inside a regulated payments business.

OptionWhat it gaveWhere it brokeVerdict
Enterprise compliance suites

Surveillance, archiving and attestation built for a regulated firm, with the audit trail regulators expect.

They model filings and surveillance, and they are priced and scoped for the compliance department, which leaves marketing unable to self-serve, which is the actual bottleneck.

Rejected
General AI content checkers

An instant read on any text, with no setup.

They cite nothing, so a compliance reviewer cannot verify a finding, and they know nothing about which jurisdiction the asset is shipping into.

Rejected
A chatbot with the policy pasted in

A good answer on the day you paste it, for the cost of a subscription somebody already has.

The policy goes stale inside the prompt, nothing is logged, and the next person starts from an empty box.

Rejected

All three treat the verdict as the deliverable. What legal actually wanted was the artifact around it: a time-stamped record with the rule and the source attached, which they had been assembling by hand after the fact.

Designed for the reviewer

Built so the compliance team could run it without help

The first design constraint was the audience. If compliance and risk could not maintain the rules themselves, the tool would drift out of date and the team would go back to email within a month.

So compliance and legal own their own records: they upload the approved company policy, the compliance policy, and the regional variations, and edit them in place. Marketing submits an asset and picks where it will run. The tool matches the asset to the rules for that jurisdiction and channel, and anything needing a human decision raises a notification to the right reviewer rather than an email into a shared inbox.

Everything lands in one record, which turned out to matter as much as the checking: past approved copy became searchable, so the safest phrasing for a claim was reusable instead of rediscovered.

The four surfaces

Compliance writes the rule in the product, marketing gets the verdict in seconds

Compliance hub

Submit ad copy, a one-pager or a deck, choose the destination jurisdiction, and get a risk score with the phrases that caused it.

Firm policies

The company's own overlays, each tagged to where it applies: absolute terms, fee disclosure, testimonial wording, capital-at-risk language.

Global atlas

Regulation per jurisdiction with its source, from FINRA 2210 and SEC 206(4)-1 to CCPA, NYDFS Part 500 and MiCA.

Audit log

Every submission kept with its score, verdict and jurisdiction, so the review history is the record rather than a thread.

Findings cite the rule and link to its source, because a compliance reviewer has to be able to check the tool rather than trust it. The verdict is advisory throughout: it tells a human where to look and leaves the decision with them.

marketing-compliance-check.vercel.app
FinGuard firm policies screen with policy cards tagged by jurisdiction
FinGuard audit log listing past checks with risk factors, verdicts and jurisdictions
FinGuard global atlas of jurisdictions, each showing its regulations and rule-feed freshness
FinGuard jurisdictional catalog showing FINRA and SEC rules with links to the primary regulatory source
FinGuard batch audit engine with a jurisdiction picker and a document upload area
A verdict, worked through

One phrase, one rule, one rewrite the marketer can actually use

Submit a line like "Guaranteed 15% Returns" and the tool returns three things together: the rule it breaks, FINRA 2210, the reason in a sentence a marketer understands, and a rewrite that keeps the intent. In this case "Historically targeted 15% annual returns", which is the same claim with the promise taken out of it.

The score alongside it runs 0 to 100 on risk, so a piece of copy sorts into pass, needs review or fail without anyone arguing about severity. Getting the rewrite in the same response is what changed behaviour: a flag on its own sends the draft back into the queue, while a flag with a compliant alternative ends the round trip there.

The rule feed stays current The SEC and FINRA streams sync on their own and each jurisdiction card shows how long ago it refreshed. A rulebook that quietly goes stale is worse than a checklist, because people trust it.
Region is one selector The same campaign gets re-checked against US federal, EU, UK or APAC from a single dropdown. State-level rules sit as their own entries, so California and New York each answer for themselves instead of hiding inside a generic US verdict.
The log is the deliverable Every check is time-stamped, scored and archived, and exports as a PDF certification. That artifact is what legal actually wanted from the process, and it used to be assembled by hand after the fact.
The family it started

The first of these I built, and the one the others grew out of

FinGuard is early work. It was among the first things I web-coded, and the version here is a public demo of the internal tool rather than the tool itself.

The idea it proved, that a rulebook is more useful as structured data than as a document, is the one that carried forward. AdGuard applied it to platform advertising policy, and CreativeOS put both in front of the writing instead of after it, so the check happens while the copy is drafted.

After

The review became a decision instead of a wait

Marketing stopped shipping drafts that were going to come back. Compliance stopped being the first reader of obvious problems and became the last reader of real ones. The queue that used to sit between them is now a notification with the flagged lines already attached.

It is a small tool, and that is the point. It solved one operational failure between two departments, it was designed for the non-technical team that had to live in it, and it paid for itself in calendar time.

What it runs on

Deliberately small, because compliance had to be able to maintain it

Application

React logoReactThe four surfaces compliance and marketing both work in. TypeScript logoTypeScriptTypes for the rule records and jurisdiction tags. Vite logoViteBuild tooling. Tailwind logoTailwindThe design layer.

Models

Gemini Flash logoGemini FlashMatches submitted copy against the rules for the selected jurisdiction and drafts the compliant rewrite.

Knowledge

Jurisdictional catalogFINRA, SEC, CCPA, NYDFS and MiCA entries, each carrying the rule text and a link to the primary source. Firm policy overlaysThe company’s own directives, editable in the product by the people accountable for them.

Delivery

Vercel logoVercelHosting and the audit endpoint.

There is no vector store and no retrieval layer here on purpose. The rulebook is small, bounded and changes rarely, so matching against records beats embedding them and hoping.

Want this kind of tooling on your team?

Nine systems shipped, compliance, reporting, intelligence, content.