Marketing compliance
Approve and keep a close eye on partner marketing before and after it goes live.
Every flag quotes the passage, cites the rule and suggests a fix.
The partner submits a URL, pasted text or a file in the supplier portal, or your team submits it for them. Coverbase stores an immutable version with the text, a rendered copy, a screenshot and a content hash. Pattern rules run at once and AI rules run within minutes, so the review opens with its flags listed. Each flag shows the quoted passage, the citation, the reasoning, a suggested fix, a severity and a confidence.
- 01SubmitThe partner submits in the portal, or your team does: a URL, pasted text or a file (PDF, image or .eml, up to 50 MB)
- 02CaptureAn immutable version: text, rendered copy, screenshot, word count and content hash
- 03Pattern checksRun at once, so the review opens with its first flagsat once
- 04AI checksRun within minutes. Each flag quotes the passage, cites the rule and suggests a fixwithin minutes
- 05Web searchCoverbase looks for the same copy already live on the web
- 06DecideA reviewer confirms or dismisses each flag, then decides. Approval code MKT-YYYY-NNNN, valid 365 days
Pattern rules need no model and run as the version is stored. AI rules run on the same version within minutes. Only a reviewer makes a decision.
Data
| Step | What happens | Source |
|---|---|---|
| 01 Submit | The partner submits in the portal, or your team does: a URL, pasted text or a file (PDF, image or .eml, up to 50 MB) | docs user-guides/marketing-compliance.mdx:100, 108; irm common/common/processors/marketing/files.py:31 |
| 02 Capture | An immutable version: text, rendered copy, screenshot, word count and content hash | docs user-guides/marketing-compliance.mdx:119 |
| 03 Pattern checks | Run at once, so the review opens with its first flags | docs user-guides/marketing-compliance.mdx:120 |
| 04 AI checks | Run within minutes. Each flag quotes the passage, cites the rule and suggests a fix | docs user-guides/marketing-compliance.mdx:121; products/marketing-compliance.mdx:21 |
| 05 Web search | Coverbase looks for the same copy already live on the web | docs user-guides/marketing-compliance.mdx:122, 198-209 |
| 06 Decide | A reviewer confirms or dismisses each flag, then decides. Approval code MKT-YYYY-NNNN, valid 365 days | docs user-guides/marketing-compliance.mdx:172-190 |
A partner's savings landing page with 3 flags. The first quotes "No monthly fees, ever.", cites 12 CFR 1030.8(a) and suggests a fix.
34 rules in 8 rulebooks, each with its citation.
The shipped library covers FDIC Part 328 Subpart B, Reg DD, Reg Z, Reg E, Visa and Mastercard brand standards, endorsement, email and SMS rules, and UDAAP. Each rule carries a citation, a severity and a pattern check, an AI check or both. A pattern check needs no model: a required phrase, a forbidden phrase, or a trigger term without its companion disclosure within 60 words. An AI check returns pass, flag or cannot check for each rule. Library rulebooks are read-only. To edit one, fork it. To try a rule before you turn it on, test it against sample text.
Number of shipped rules per rulebook, split by how each rule is checked. To add your own rules, fork a rulebook.
Data
| Rulebook | Rules | AI | Pattern and AI | Pattern | High | Medium | Low |
|---|---|---|---|---|---|---|---|
| FDIC Part 328 Subpart B | 8 | 4 | 4 | 0 | 7 | 1 | 0 |
| Reg Z credit advertising | 6 | 3 | 1 | 2 | 5 | 1 | 0 |
| Reg DD deposit advertising | 4 | 1 | 3 | 0 | 3 | 1 | 0 |
| Endorsements, email and SMS | 4 | 2 | 0 | 2 | 1 | 3 | 0 |
| UDAAP general | 4 | 3 | 1 | 0 | 1 | 2 | 1 |
| Reg E prepaid and payments | 3 | 2 | 1 | 0 | 2 | 1 | 0 |
| Visa brand standards | 3 | 2 | 1 | 0 | 1 | 1 | 1 |
| Mastercard brand standards | 2 | 1 | 1 | 0 | 1 | 1 | 0 |
| Total | 34 | 18 | 12 | 4 | 21 | 11 | 2 |
The FDIC Part 328 Subpart B rulebook: each rule with its citation, how it is checked and its severity.
A reviewer decides on every flag before anything is approved.
The AI pre-review never decides. For each flag, a reviewer confirms it, confirms it and raises a finding on the partner, or dismisses it with a reason that stays on the record. You cannot approve while any flag is open. Request changes sends your note and the suggested fix for each confirmed flag to the supplier portal. Approve issues an approval code, for example MKT-2026-0418. The code is valid for 365 days and covers the captured version only.
- One decision per review.
- To change your mind, ask for a new version. A new submission withdraws the open review on the same asset.
- Dismissals keep their reason.
- A dismissed flag stays visible as "Dismissed: reason".
- Partners see the bank's position.
- The supplier portal shows requests for changes, approvals and confirmed flags on live assets. It never shows an open flag.
- Findings land on the partner.
- A finding you raise from a flag goes on the partner's vendor record with the source "Marketing flag". It follows the same workflows as your other findings.
A daily sweep checks what is live against what you approved.
Each program lists the websites and app store listings to watch. The sweep runs once a day, and whenever you click Sweep now. It crawls each website breadth-first through its sitemap and same-site links, follows robots.txt, and stops at the page cap. It reads iOS and Android listings and searches the public web for the partner's marketing on affiliate sites, social posts and paid ads. The sweep captures every page. When a page's content hash changes, the sweep stores a new capture and runs the program's pattern rules on the change. The sweep never decides a review and never changes a state you set.
Live assets across programs: 4 match what was approved, 1 drifted, 4 were never approved, including an affiliate review page and a paid ad.
- Pending review
- Submitted and not yet decided. Not live yet
- Matches approved
- The live capture's text matches the approved version
- Drifted from approved
- The live text moved away from the approved version
- Never approved
- Live without an approval on record
- Rejected
- The last review rejected it
- Removed
- The page is gone (404 or 410), or the asset was taken down
Daily sweep · new capture
Earn 4.50% APY 4.25% APY on every dollar. Limited time: new accounts opened by Nov 30 earn a $50 bonus after a $500 deposit.
A capture whose text differs from the approved version is drifted. A page live with no approval on record is never approved. A page that returns 404 or 410 is removed.
Data
| State | Meaning |
|---|---|
| Pending review | Submitted and not yet decided. Not live yet |
| Matches approved | The live capture's text matches the approved version |
| Drifted from approved | The live text moved away from the approved version |
| Never approved | Live without an approval on record |
| Rejected | The last review rejected it |
| Removed | The page is gone (404 or 410), or the asset was taken down |
The live savings page changed its rate from 4.50% to 4.25% APY and added a bonus line after approval MKT-2026-0402. The new flag cites 12 CFR 1030.8(c).
When a submission arrives, Coverbase also searches the web for the same copy. If the partner published before submitting, or an affiliate copied the partner's copy, the page shows up as a live asset before the reviewer decides.
A confirmed flag on a live asset also raises a Radar alert on a system-managed Marketing detector, so it appears in the alert queue, on the partner's Radar tab, and in the partner's residual risk. Flags on submitted assets never raise an alert.
One export per program and period, built from the records as they stand.
Reports shows submissions, median turnaround against SLA, first-pass approval, live violations and never-approved assets found, per program and period. Export exam packet downloads a zip in six parts for one program. A later decision changes the next export, never one you already sent.
Turnaround, first-pass approval and live violations per program, and the six-part exam packet.
inventory.csvInventory of reviewed assetsEvery submission with its decision, reviewer, date, rulebook version and approval coderulebooks.json, rule_revisions.jsonRulebooks in forceEach rule as it read during the period, with its citation and the dates it changedcaptures/*.txtCaptures and evidenceThe text and hash of every approved version and every flagged live capturefindings.csvFindings and remediationLive violations, the partner's commitments, and the closing capturesignoff.csvReviewer sign-off and model recordThe human decision on each flag, dismissal reasons, and the model and evaluation behind each rulescorecard.pdfScorecardSubmissions, turnaround, first-pass approval, live violations and never-approved assets for this program and period
The six parts of an exam packet for one program and period.
Data
| Part | File | Contents |
|---|---|---|
| Inventory of reviewed assets | inventory.csv | Every submission with its decision, reviewer, date, rulebook version and approval code |
| Rulebooks in force | rulebooks.json, rule_revisions.json | Each rule as it read during the period, with its citation and the dates it changed |
| Captures and evidence | captures/*.txt | The text and hash of every approved version and every flagged live capture |
| Findings and remediation | findings.csv | Live violations, the partner's commitments, and the closing capture |
| Reviewer sign-off and model record | signoff.csv | The human decision on each flag, dismissal reasons, and the model and evaluation behind each rule |
| Scorecard | scorecard.pdf | Submissions, turnaround, first-pass approval, live violations and never-approved assets for this program and period |
How a flag is produced.
- 01
Each rule has a citation, a severity and a check method. Placeholders, for example
{bank_name}and{partner_name}, fill from the program's approved language. - 02
Pattern rules run deterministically, with no model: a required phrase, a forbidden phrase, or a trigger term without its companion disclosure within 60 words.
- 03
AI rules run in one structured call per version. Each returns pass, flag or cannot check, with the quote, the reasoning, a suggested fix, a severity and a confidence.
- 04
When a version has no screenshot, a rule that needs an image returns cannot check.
- 05
When the AI quotes a passage that is not in the captured text, Coverbase keeps the flag and marks it low confidence, quote not located.
- 06
A reviewer confirms or dismisses every flag. The exam packet records each decision, each dismissal reason, and the model behind each rule.
What marketing compliance does not cover yet.
Social profiles, ad libraries and email senders. You can add them as watched properties, but the sweep does not read them until a connector exists. Public web search still finds social posts and paid ads.
Crawl limits. A website crawl stops at the property's page cap and at robots.txt. To include a missing page, add it as its own property.
Rulebooks outside bank sponsorship. The library ships banking, card network, endorsement, email and SMS, and UDAAP rules. There are no FINRA, SEC or state insurance rulebooks. You can fork a rulebook and write your own rules.
One version per approval. An approval covers the captured version only. Any change needs a new submission.
Exam packets cover one program. To export, pick one program.
Radar alerts need Radar. If you do not use Radar, flags, notifications and findings still work.
What marketing compliance checks.
Submissions, rules, sweeps and the exam packet.
What can partners submit?
A URL, pasted text, or a file: a PDF, an image or an email file, up to 50 MB. The partner submits in the Marketing section of the supplier portal, or your team submits it for the partner.
Which rules does Coverbase check?
The shipped library has 34 rules in 8 rulebooks: FDIC Part 328 Subpart B, Reg DD, Reg Z, Reg E, Visa and Mastercard brand standards, endorsements, email and SMS, and UDAAP. Each program applies the rulebooks you pick. Fork a rulebook to edit its rules or add your own.
Does the AI approve or reject marketing?
No. The pre-review flags passages and suggests fixes. A reviewer confirms or dismisses every flag, and approval stays unavailable while any flag is open.
How often does Coverbase check what is live?
A sweep runs once a day for every program, and whenever you click Sweep now. It crawls the watched websites, reads app store listings, and searches the public web for the partner's marketing.
What does the exam packet contain?
For one program and period: the inventory of reviewed assets, the rulebooks in force, captures and evidence, findings and remediation, reviewer sign-off and the model record, and a scorecard.
Do partners see the flags?
Partners see requests for changes, approvals and confirmed flags on live assets, posted to the asset's thread in the portal. They never see an open flag.