> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coverbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Marketing compliance guide

> How a sponsor bank reviews the marketing its fintech partners submit, watches what is live every day, confirms or dismisses each flag, approves with a code, and exports the exam packet. Programs, watched properties, reviews, the screenshot view, live assets and sweeps, notifications and reports.

For AI agents: a documentation index is available at [https://docs.coverbase.com/llms.txt](https://docs.coverbase.com/llms.txt). This page is also available in markdown by appending .md to the URL.

> [!NOTE]
>
> This guide is part of the [User Guides](https://docs.coverbase.com/user-guides/overview.md) collection. It covers **Marketing** in the left navigation and the **Marketing reviews** section of the partner portal. For what each shipped rule checks and how to edit a rulebook, see [The marketing rule library](https://docs.coverbase.com/user-guides/marketing-rule-library.md). For what your partners see, see [The partner portal, for partners](https://docs.coverbase.com/user-guides/marketing-partner-portal.md). For the alert a confirmed live flag raises, see the [Radar signals guide](https://docs.coverbase.com/user-guides/radar-signals.md).

> [!NOTE]
>
> Marketing compliance is an optional module. If you do not see **Marketing** in the left navigation, ask your Coverbase account team to turn it on.

Marketing compliance does two jobs for a sponsor bank. Before a partner publishes a page, listing, email, text or ad about a product you sponsor, the partner submits it and a reviewer at the bank decides on it. After it is live, a daily sweep reads the partner's websites and app listings, searches the public web for the partner's marketing elsewhere, and reports whether what is live still matches what was approved.

Both jobs produce evidence. Every submission and every sweep stores an immutable version of the asset: its text, a rendered copy and a screenshot of the live page. Every flag quotes the passage it is about, cites the rule and records the rulebook version that raised it. Every decision records who made it and when.

The mistake people make most often is reading an approval as covering the asset from then on. An approval is tied to one captured version. When the partner changes the page, the next sweep reports it as **Drifted from approved**, and a resubmission opens a new review on a new version. See [Live assets and sweeps](#live-assets-and-sweeps).

## Where it lives

Open **Marketing** in the left navigation. Six tabs sit across the top. The **Live Assets** list also appears as the **Marketing** tab under **Radar**, next to **Dark Web**, so whoever watches signals can read it without leaving Radar.

| Tab | What it is for |
| - | - |
| **Overview** | What needs you today: reviews waiting, reviews past SLA, live assets with open flags, live assets never approved, and the programs being monitored. **New submission** and **Sweep now** are here. |
| **Reviews** | The queue of submitted assets, with the AI pre-review result, the reviewer and the SLA clock. |
| **Live Assets** | Everything a sweep or an approval knows is live, with its state against the approved version. |
| **Programs** | One row per partner product, and the program page behind it. |
| **Rulebook** | The shipped library and your forks. See [The marketing rule library](https://docs.coverbase.com/user-guides/marketing-rule-library.md). |
| **Reports** | Submissions, turnaround, first-pass approval, live violations and flags by rule for a period, and the exam packet export. |

The partner's side is the **Marketing** section of the supplier portal, which you switch on per portal template. See [Turning on the partner portal section](#turning-on-the-partner-portal-section).

## Programs and watched properties

A program is one partner product under your sponsorship. Everything else attaches to it: the rules that run, who reviews, how long they have, and which websites and listings are watched.

### Creating a program

Open **Marketing**, then **Programs**, then **New program**.

| Field | What to enter |
| - | - |
| **Name** | The product as the partner markets it. |
| **Partner** | The partner's vendor record. The program's findings and Radar alerts land on this vendor. |
| **Status** | **Launching**, **Active**, **Paused** or **Exited**. |
| **Products** | One or more of **Deposit**, **Debit card**, **Credit card**, **Prepaid**, **Loan**, **Buy now, pay later**, **Payments**, **Earned wage access** and **Crypto**. A rule scoped to a product type runs only on programs that offer it. |
| **Card Network** | **None**, **Visa** or **Mastercard**. The network's brand standards rulebook needs this to check the issuing statement. |
| **Channels** | Where the partner markets: **Website**, **App store**, **Social**, **Email**, **SMS**, **Paid ad**, **Print**, **Video**, **In app** and **Affiliate**. A rule scoped to a channel runs only on assets in that channel. |
| **Review SLA (business days)** | How long a reviewer has from submission. The queue's **Due** column and the **Past SLA** tile count from it. |
| **Rulebooks** | The rulebooks whose rules run on this program's assets. Pick the ones that match the products. |
| **Approved Language** | **Not a Bank Statement**, **Card Issuing Statement** and **Deposit Insurance Statement**: the exact wording the partner must use. **Approved Claims**: each claim the partner may make about rates, fees, speed, limits, rewards and insurance. Rules substitute these passages when they check this program's assets, so a rule that requires the issuing statement checks for yours, not a generic one. |

The program also carries its reviewers, a program manager, the people to notify (its watchers), and the terms used for the public web search, with a switch to turn that search off. Change any of these with **Edit program** on the program page.

### Watched properties

A watched property is a place the sweep reads. On the program page, under **Watched Properties**, click **Add property**.

| Kind | What to enter | What the sweep does with it |
| - | - | - |
| **Website** | The partner's domain or a page address | Crawls the site: the page, its sitemap and same-site links, respecting `robots.txt`, up to the page cap you set for the property |
| **iOS app** | The App Store listing URL or app id | Reads the listing |
| **Android app** | The Google Play package name | Reads the listing |
| **Brand search** | Search terms | Runs the public web search for the partner's marketing elsewhere |
| **Social profile**, **Ad library**, **Email sender** | A handle, an advertiser id or page, a sender address | Can be added, but the sweep marks the property as needing a connector and reads nothing from it |

Each property has a **Label** (optional, shown in place of the value) and a cadence under **Sweep every (hours)**; 24 sweeps once a day. The property table shows **Cadence**, **Assets** (how many live assets it has filed), **Last Sweep** and **Status**, which reads **The last sweep succeeded** or **The last sweep failed**.

### The program page

Click a program to open it.

![A Marketing program page with the partner's name, Live since date and program manager in the header, the Edit program and Scorecard buttons, five tiles reading Open Reviews, SLA Met over 90 Days, First-pass Approval, Live Assets and Open Flags Live, a Program card listing products, network, channels and rulebooks with their versions, an Approved Language card with the not-a-bank, card issuing and deposit insurance statements and the approved claims, a Review and SLA card naming the reviewers, the SLA in business days and the manager, and a Watched Properties table with a website and two app listings, each with its cadence, asset count and last sweep.](https://mintcdn.com/coverbase/ASfsL9ARZRU6mOkd/images/user-guides/marketing-compliance-program.png?fit=max\&auto=format\&n=ASfsL9ARZRU6mOkd\&q=85\&s=c5ce700e49564592390f645ddc701fc8)

One program: the tiles, the program record with its approved language, the reviewers and SLA, and the websites and listings the sweep reads.

Five tiles sit at the top.

| Tile | What it counts |
| - | - |
| **Open Reviews** | Reviews not yet decided, and how many are past SLA |
| **SLA Met, 90 Days** | The share of reviews decided within the SLA in the last 90 days, with how many were decided on time |
| **First-pass Approval** | The share of submissions approved without a request for changes |
| **Live Assets** | What sweeps found or approvals made live, split into how many match, drifted and were never approved |
| **Open Flags, Live** | Open flags on live assets, and the worst severity among them |

Below the tiles are the program record, **Approved Language** and **Review and SLA** cards, then **Watched Properties**, then the program's own **Reviews** and **Live assets** lists and its **Scorecard**. **Scorecard** in the header downloads the scorecard as a PDF. **Open partner record** opens the vendor.

## Submissions and reviews

### Submitting an asset

The partner submits from the portal. Your own team submits on the partner's behalf with **New submission** on the **Overview** tab.

| Field | What to enter |
| - | - |
| **Program** | Which program the asset belongs to. This decides which rules run. |
| **Title** | What the asset is, in the partner's words. |
| **Channel** | One of the program's channels. |
| **Kind** | Landing page, carousel, campaign email, and so on. |
| **URL**, **Pasted Text**, **File** | A URL, pasted text, a file, or more than one. For a page, the staging link is best: the approval is tied to what was captured. A file is a PDF, an image (PNG, JPEG or WebP) or an email saved as .eml, up to 50 MB; it uploads as soon as it is chosen. |
| **Planned Launch** | When the partner intends to publish. |
| **Audience** | Who the asset is for, such as prospects or existing customers. |
| **Claims** | What the copy claims: a rate, fees, insurance, speed, a bonus, security, a comparison, a testimonial. |

Click **Submit for review**.

### How a review arrives

A submission sets four things in motion.

1. **Capture.** Coverbase fetches the URL, takes the pasted text, or reads the file (a PDF's pages, an email's body, or the words visible in an image), and stores an immutable version: the text, a rendered copy, a screenshot of the live page, a word count and a content hash. A file submission keeps the file, and **Open original** on the review opens it. Nothing edits a version after it is stored.
2. **Pattern checks.** The program's pattern rules run at once, so the review opens with its first flags.
3. **AI checks.** The program's AI rules run within minutes. Until they finish, the queue's **AI Pre-review** column reads **Checking…** and the review's **Checks** card says the pre-review is still running.
4. **Public web search.** Coverbase searches the public web for the same copy. See [Checked against the web](#checked-against-the-web).

The review lands on the **Reviews** tab with the program's SLA as its due date. A second submission on the same asset creates a new version and a new review, and the prior open review moves to **Withdrawn**.

### The review queue

Open **Marketing**, then **Reviews**.

![The Marketing Reviews tab with the Waiting for me, All open and Decided segments, a Program filter, a Status filter, a search box reading Search assets, programs and approval codes, and a table whose columns are Asset, Program, Channel, Submitted, Due, AI Pre-review, Reviewer and Status, with rows showing flag counts such as 3 flags, due dates such as Due in 2 days and Overdue by 1 day, reviewer names or Unassigned, and statuses such as In review and Changes requested.](https://mintcdn.com/coverbase/ASfsL9ARZRU6mOkd/images/user-guides/marketing-compliance-reviews.png?fit=max\&auto=format\&n=ASfsL9ARZRU6mOkd\&q=85\&s=c7031d65be06f2084d3e2742c69a8db7)

The review queue, worst first: every open review with its AI pre-review result, its reviewer and where it stands against the SLA.

* **Waiting for me**, **All open** and **Decided** switch between reviews assigned to you, every open review, and reviews with a decision.
* **Program** and **Status** narrow the list. The search box matches asset titles, program names and approval codes.
* **AI Pre-review** shows how many flags the checks raised, **No flags**, or **Checking…** while the AI rules run.
* **Due** reads **Due in N days**, **Due tomorrow**, **Overdue by N days**, or **Waiting on partner** once changes were requested.
* Select several rows to **Assign to me** or **Assign to…** someone else.

| Status | Meaning |
| - | - |
| **Submitted** | The review is open and nobody has been assigned |
| **In review** | A reviewer is assigned |
| **Changes requested** | The reviewer sent the confirmed flags back to the partner, and a new version is expected |
| **Approved** | Approved, or approved with conditions, with a code |
| **Rejected** | Rejected |
| **Withdrawn** | A newer version replaced this one before it was decided |

## Reading and deciding a review

Click a review to open it.

![A Marketing review page with the asset title, Version 2 of 2, the submission date and submitter, a Reviewer picker with Assign to me, a More actions menu with Re-run pre-review and Open original URL, the asset on the left in the Text view with numbered highlights on three passages, a Checks card on the right reading 14 rules apply to this website asset with segments for 3 flags, 11 passed and All, three flag cards each showing a severity, a confidence, the quoted passage, the rule name and citation, the reasoning, a Suggested fix and Confirm, Confirm and raise finding and Dismiss buttons, and a footer with Reject, Request changes, Approve with conditions and Approve buttons, the last reading 3 open flags, confirm or dismiss each before approving.](https://mintcdn.com/coverbase/ASfsL9ARZRU6mOkd/images/user-guides/marketing-compliance-review.png?fit=max\&auto=format\&n=ASfsL9ARZRU6mOkd\&q=85\&s=19bb4d978a5789c51f242b32e48cf338)

A review: the captured asset on the left with each flagged passage numbered, and the checks on the right, one card per flag with its quote, citation, reasoning and suggested fix.

The header names the asset, the version (**Version 2 of 2**), when and by whom it was submitted, and the **Reviewer**. **Assign to me** takes it. **More actions** holds **Re-run pre-review**, which runs every rule again on the same version, and **Open original URL**.

The left side is the asset. The control above it switches between **Rendered** (the captured copy of the page), **Text** (the extracted text, with each flagged passage highlighted and numbered) and **Screenshot**; see [The screenshot view](#the-screenshot-view). **Version** picks an earlier version, and **Compare with vN** shows a word diff between the two. Under the asset, **Versions** lists every version with its source (**Submitted** or **Captured**) and date, **Messages** is the thread with the partner, and **Activity** records the submission, each pre-review run and the decision.

The right side is **Checks**. It says how many rules apply to this asset in its channel, and splits them into flags and rules that passed. Click a flag's number on the asset, or the flag card, and both scroll together.

### Flags

Each flag card shows:

* The **severity** (**High**, **Medium** or **Low**) and the **confidence**. **Low confidence, quote not located** means the AI described a problem but its quote could not be found in the text, so nothing is highlighted. Read the reasoning and judge it yourself.
* The **quote**, the rule's name and **citation**, and **Rule vN**, the rulebook version that raised it.
* Whether it came from a **Pattern check** or the **AI pre-review**.
* The reasoning and a **Suggested fix**, which is the remediation text the partner sees.

Decide each one:

* **Confirm** records that the flag is a real break.
* **Confirm and raise finding** does the same and opens a finding on the partner vendor, with the source **Marketing flag**, assigned to you and linked back to the flag. From there it is an ordinary finding; see [Findings and remediation](https://docs.coverbase.com/user-guides/findings-and-remediation.md).
* **Dismiss** asks for a reason, records it on the flag, and keeps the flag visible as **Dismissed: reason**.
* **Reopen** puts a decided flag back to **Open**.

### Deciding

The footer holds the decision. **Approve** and **Approve with conditions…** are available only when no flag is **Open**: the footer reads **N open flags · confirm or dismiss each before approving** until then. A confirmed flag is a real break, so with one confirmed you request changes or reject, or dismiss it with a reason.

| Decision | What happens |
| - | - |
| **Approve** | The review records the decision and hands out an approval code, `MKT-YYYY-NNNN`, numbered per program and year, valid for 365 days. The code is copied onto the asset, and the partner can download the approval. |
| **Approve with conditions…** | The same, plus the **Conditions** you write, which the partner sees with the code. |
| **Request changes** | Sends your **Note to the Partner** and the confirmed flags, each with its suggested fix, to the portal. The review's **Due** reads **Waiting on partner** until a new version arrives. |
| **Reject** | Records the decision with your note. |

Each dialog ends with **Record decision**. One review takes one decision. To change your mind, ask for a new version.

## The screenshot view

Every version stores a screenshot of the live page as it was when it was captured. On the review, choose **Screenshot** in the control above the asset, next to **Rendered** and **Text**.

The image carries a numbered highlight on each flagged passage, using the same numbers as the **Text** view and the flag cards. Use it when placement matters: whether the not-a-bank statement is on the screen itself or in a footer several screens down, whether a rate's companions sit in the same view, and whether the network mark is as prominent as the partner's. Rules that need to see the page, such as the Visa and Mastercard mark rules, say in their reasoning when only text was available.

Live assets store a screenshot with every capture too, so a drifted page can be compared as it looked and as it reads.

## Checked against the web

When a submission arrives, Coverbase searches the public web for the same copy and lists what it finds on the review: each page where the copy is already live, on the partner's own site or on a third party, with how closely it matches the submitted text and, when it differs, a summary of what differs.

Two things follow from a match:

* The page is added to **Live Assets**, filed under the program, and watched from then on.
* The program's watchers are notified that the submission is already live. See [Notifications](#notifications).

Use it to catch a partner who submits after publishing, and an affiliate or creator who copied the partner's copy before the bank saw it.

## Live assets and sweeps

Open **Marketing**, then **Live Assets**. Four tiles sit at the top: **Live Assets** (across how many programs), **Match What Was Approved**, **Drifted** and **Never Approved**. **Last sweep** and **Sweep now** sit beside them.

### What a sweep does

A sweep runs once a day for every program, and whenever someone clicks **Sweep now**. One sweep runs at a time for your organization; a second click reports **A sweep is already running**.

For each watched property the sweep:

1. **Crawls a website fully.** It fetches the property's page, then its sitemap and same-site links, breadth-first, respecting `robots.txt`, up to the property's page cap. Pages it filed on earlier sweeps are fetched again.
2. **Classifies each page.** Marketing and disclosure pages are filed as live assets, with a kind such as **Fees page**, **Disclosures**, **Blog post** or **Referral page**. Support, help and careers pages are not filed.
3. **Reads app store listings** for **iOS app** and **Android app** properties.
4. **Searches the public web** for the partner's marketing elsewhere: affiliates, social posts, paid ads. Each hit is filed as a live asset in its channel.
5. **Stores a capture** for every page: the text, a rendered copy, a screenshot and a content hash. A page whose hash changed gets a new capture with a change summary, and the program's pattern rules run on the change. A page that now returns **404** or **410** moves to **Removed**.

The sweep only ever captures. It never decides a review, and it never changes a state you set.

### Asset states

| State | Meaning | Listed under |
| - | - | - |
| **Pending review** | Submitted and not yet decided. Not live yet. | The review |
| **Matches approved** | The live capture's text matches the approved version | **All live** |
| **Drifted from approved** | The live text moved away from the approved version | **Needs attention**, **All live** |
| **Never approved** | Live without an approval on record | **Needs attention**, **All live** |
| **Rejected** | The last review rejected it | **Removed** |
| **Removed** | The page is gone, or the asset was taken down | **Removed** |

The views **Needs attention**, **All live** and **Removed** switch between these. The table shows **Asset**, **Program**, **Channel**, **State**, **Open Flags**, **Approval** (the code, or **None**) and **Captured**. Each asset's origin reads **Submitted by the partner** or **Found by a sweep**. **Open live page** opens the URL; **Open in program** opens the program.

### Reading a live asset

Click a row.

![A Marketing live asset page with the asset title, a Drifted from approved badge, Approved as MKT-2026-0031 on a date, the Open live page and Capture now buttons, a capture card set to Diff against approved with removed words struck through and added words underlined, a legend reading Removed and Added, a line reading Live capture with its date and hash and approved capture with its date and 4 changes, a Flags on This Capture card reading 2 open flags await a decision and 9 rules ran on the change, 7 passed, with two flag cards offering Confirm and notify the partner and Create finding, an On the Partner Record card saying no finding yet and that residual risk moves only when a flag is confirmed, and a Capture History list of four captures with their sources, hashes and word counts.](https://mintcdn.com/coverbase/ASfsL9ARZRU6mOkd/images/user-guides/marketing-compliance-live-asset.png?fit=max\&auto=format\&n=ASfsL9ARZRU6mOkd\&q=85\&s=7afb1ba349a9edde40a592630d3d5823)

A drifted live asset: the word diff between the live capture and the approved version, the flags the rules raised on the change, and what sits on the partner record.

* The capture card reads the capture three ways: **Diff against approved** (a word diff, removed words marked **Removed** and added words marked **Added**, with the number of changes), **Live capture** and **Approved version**. The line beneath names the live capture's date and hash and the approved capture it is compared with.
* **Flags on This Capture** says how many rules ran on the change and how many passed, and lists the flags, each with its quote, citation and suggested fix. Open flags await a decision; decided flags stay listed.
* **On the Partner Record** shows the finding and the Radar alert raised from this asset, if any, and reminds you that the partner's residual risk moves only when a flag is confirmed.
* **Capture History** lists every capture and submission for the asset, with its source, content hash, word count, and **Approved · code** on the approved one.

**Capture now** fetches the page again without waiting for the sweep. An asset still in review shows **This asset is in review** with **Open review**, because its flags are decided there and an approval moves it here.

### Confirming a live flag

A flag on a live asset is decided on the asset page, not on a review.

* **Confirm and notify {partner}** confirms the flag and posts a message to the partner's portal naming the asset, the rule and the suggested fix. The card then reads **Partner notified**.
* **Create finding** opens a finding on the partner vendor with the capture attached, source **Marketing flag**.
* 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 and on the partner's Radar tab, counts toward the partner's residual risk through Radar's risk-impact flow, and reaches whoever receives Radar alert notifications. Dismissing the flag takes the alert with it. See the [Radar signals guide](https://docs.coverbase.com/user-guides/radar-signals.md).

Flags on submitted assets never raise an alert. They are decided on the review.

## Turning on the partner portal section

Partners submit, read the rules, and see their live issues in the supplier portal. Open **Configuration → Portal Templates**, open the central portal, and switch on the **Marketing reviews** section. Partners then see **Marketing** in their portal. For what they see, see [The partner portal, for partners](https://docs.coverbase.com/user-guides/marketing-partner-portal.md). The portal itself is described in [Centralized supplier portal](https://docs.coverbase.com/user-guides/centralized-supplier-portal.md).

## Notifications

Marketing compliance sends four notifications, listed under **Marketing** in each person's notification settings (**Settings** in the **Notifications** menu). Watchers are set on the program with **Edit program**.

| Notification | Sent when | To |
| - | - | - |
| **Sweep findings** | A sweep finds a drifted or never-approved asset, or raises a flag, on a program. One email per sweep per program. | The program's watchers |
| **Submission received** | A submission arrives | The assignee, or the program's reviewers, watchers and manager when nobody is assigned |
| **Already live on the web** | The public web search finds a submission's copy already live | The program's watchers |
| **Live flag confirmed** | A flag on a live asset is confirmed | The program's watchers |

The partner is told through the portal: a request for changes, an approval, and a confirmed live flag each post to the asset's thread, and the partner's portal members are emailed. A finding raised from a flag follows the findings workflow and [its notifications](https://docs.coverbase.com/user-guides/findings-and-remediation.md#emails-and-notifications). The catalog of every notification is in [Email and notifications](https://docs.coverbase.com/user-guides/email-notifications.md#marketing-compliance).

## Reports and the exam packet

Open **Marketing**, then **Reports**. Pick a **Program** (or **All programs**) and a **Period** (the last N days).

| Tile | What it shows |
| - | - |
| **Submissions** | Submissions in the period, and the rate per month |
| **Median Turnaround** | Days from submission to decision, with the SLA and the share met |
| **First-pass Approval** | The share of submissions approved without a request for changes |
| **Live Violations Found** | Confirmed flags on live assets, how many were remediated, and the median days to remediate |
| **Never-approved Assets Found** | Live assets found without an approval, and how many were submitted afterwards |

**Programs** lists the same figures per program, and **Flags by Rule** counts confirmed flags by rule for the period.

**Export exam packet** needs one program picked. It downloads a zip with six parts:

| Part | Contents |
| - | - |
| **Inventory of reviewed assets** | Every submission with its decision, reviewer, date, rulebook version and approval code |
| **Rulebooks in force** | Each rule as it read during the period, with its citation and the dates it changed |
| **Captures and evidence** | The text and hash of every approved version and every flagged live capture |
| **Findings and remediation** | Live violations, the partner's commitments, and the closing capture |
| **Reviewer sign-off and model record** | The human decision on each flag, dismissal reasons, and the model and evaluation behind each rule |
| **Scorecard** | The figures above for this program and period |

Every part is built from the records as they stand, so a later decision changes the next export, never this one.

## Who can do what

Marketing compliance has its own permission, on the `marketing_asset` resource. It is organization-wide, so it is not narrowed by vendor assignment.

| Permission | Allows |
| - | - |
| `marketing_asset:read` | See every **Marketing** tab, each review, each live asset, each program and the rulebooks |
| `marketing_asset:create` | **New submission** |
| `marketing_asset:update` | Assign reviews, confirm and dismiss flags, decide, message the partner, create and edit programs and properties, fork and edit rulebooks |

**Sweep now**, **Capture now** and the **Reports** tab are covered by the `run` and `report` permissions on the same resource.

| Default role | Access |
| - | - |
| **Admin** | Everything above |
| **Member** | Read. Members see every tab but cannot submit, decide or edit. |

Custom roles are built in [Permissions and roles](https://docs.coverbase.com/user-guides/permissions-and-roles.md). Partner users never hold these permissions: they work through the portal, which shows them only the bank's position, never an open flag.

## Troubleshooting

| Symptom | Cause | Fix |
| - | - | - |
| **Marketing** is missing from the left navigation | The module is off for your organization, or your role has no marketing permission | Ask your Coverbase account team to turn it on. If colleagues can see it, ask an admin for `marketing_asset:read`. |
| **Approve** is grayed out | At least one flag is still **Open** | Confirm or dismiss every flag. A confirmed flag blocks approval too; dismiss it with a reason or request changes. |
| **AI Pre-review** reads **Checking…** for a long time | The AI rules are still running, or the run failed | Open the review and choose **Re-run pre-review** from **More actions**. |
| A flag reads **Low confidence, quote not located** | The AI described a problem but its quote is not in the captured text | Read the reasoning and the **Screenshot** view. Dismiss it with a reason if it is wrong. |
| A review moved to **Withdrawn** | A newer version of the same asset was submitted | Open the newer review. **Compare with vN** shows what changed. |
| The partner's page is live but **Live Assets** does not list it | No property covers that page, or no sweep has run since the property was added | Add the website under **Watched Properties**, then **Sweep now**. |
| A property's **Status** reads **The last sweep failed** | The site could not be fetched, or the property kind needs a connector | Check the value. **Social profile**, **Ad library** and **Email sender** properties are not read until a connector exists. |
| A website property filed fewer pages than the site has | The page cap, or `robots.txt`, stopped the crawl | Raise the page cap on the property, or add the missing page as its own property. |
| **Sweep now** reports **A sweep is already running** | One sweep runs at a time per organization | Wait for it to finish. The tables refresh on their own. |
| An approved asset reads **Drifted from approved** | The partner changed the page after approval | Open the asset and read **Diff against approved**. Ask the partner for a new version if the change matters. |
| A confirmed live flag raised no Radar alert | Radar is not on for your organization | Ask your Coverbase account team. The flag, the notification and the finding still work. |
| The partner says they cannot see **Marketing** in the portal | The **Marketing reviews** section is off on the portal template | Open **Configuration → Portal Templates** and switch it on. |
| **Export exam packet** is grayed out | **All programs** is selected | Pick one program. |

## Related

> [card] [The marketing rule library](https://docs.coverbase.com/user-guides/marketing-rule-library.md)
>
> Every shipped rulebook, what each rule checks, forking, versions and testing a rule.

> [card] [The partner portal, for partners](https://docs.coverbase.com/user-guides/marketing-partner-portal.md)
>
> What a partner sees when they submit, get changes back, and download an approval.

> [card] [Findings and remediation](https://docs.coverbase.com/user-guides/findings-and-remediation.md)
>
> What happens to a flag once you raise a finding from it.

> [card] [Working Radar signals](https://docs.coverbase.com/user-guides/radar-signals.md)
>
> Where a confirmed live flag appears as an alert, and how it moves residual risk.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.