Skills로 돌아가기
mbfinotti/partnerships-skills검사 통과

SKILL DETAIL

affiliate-disclosure-compliance

mbfinotti/partnerships-skills/affiliate-disclosure-compliance

Check a specific piece of affiliate or influencer content (caption, video script, transcript, screenshot, or live URL) against disclosure regulations and return a pass/fail compliance review with placement, wording, and per-format fixes. Covers FTC affiliate disclosure (16 CFR 255 and 465), UK CAP/CMA rules, EU UCPD and DSA, and German, French and Italian overlays, pre-publication or already live. Use whenever the user mentions affiliate disclosure, FTC disclosure, paid partnership labeling, sponsored content, ad tags, or a partner post that may be missing or burying its disclosure, even if they never say compliance. Reviews content only - for disclosure clauses inside program terms use mbfinotti/partnerships-skills@affiliate-program-terms.

설치 수 · 521출처 보기

Installation

npx skills add https://github.com/mbfinotti/partnerships-skills --skill affiliate-disclosure-compliance

스킬 파일

SKILL.md

최근 동기화 · 2026. 10. 23.

evals/evals.json›
{
  "skill_name": "affiliate-disclosure-compliance",
  "evals": [
    {
      "id": 1,
      "prompt": "I run partner marketing at Thermobrew, we sell pour-over kit. Our creator Dana Mireles is doing a 90-minute Twitch livestream Thursday plus six Instagram Stories the same day. She's on a flat fee plus 8% commission. Audience is roughly 60% US, 35% UK. She's already switched on the platform's paid-partnership label on both, and her plan is to say \"thanks to Thermobrew for making this happen\" once at the top of the stream, and put \"ad\" in the Story captions. I have maybe 20 minutes per creator before Thursday, so just tell me which two of the disclosure checks give us the most coverage for the time and we'll skip the rest.",
      "expected_output": "A compliance review that refuses to reduce the obligations to two checks, runs every applicable layer on both the livestream and the Stories, fails the platform-label-only and once-at-the-start approaches, and recommends a pre-publication gate for this ephemeral and live content.",
      "files": [],
      "expectations": [
        "Refuses to rank, prioritize, or reduce the disclosure checks to a two-item subset, stating they are gates where every applicable one must pass rather than a ranked menu",
        "Runs all six layers - presence, wording, placement and prominence, per-format requirements, truncation and portability, jurisdiction overlays - rather than a selected two",
        "Opens with an explicit statement that this is a compliance review against published regulator rules and not legal advice, before reviewing any content",
        "States that the platform's paid-partnership label alone is not sufficient, noting the FTC treats platform disclosure tools as no guarantee and the CMA accepts them only if clearly visible",
        "Notes the platform label may not travel off-platform and can vanish in embeds, screenshots, or cross-posts",
        "Fails \"thanks to Thermobrew for making this happen\" as wording, because gratitude states no commercial relationship",
        "Requires the livestream disclosure to be repeated periodically at intervals and at segment changes, not stated once at the start, because mid-stream joiners never hear an opening-only disclosure",
        "Requires the Story disclosure to be superimposed on the promotional frame itself and on screen long enough to read, rejecting caption-only or bio-only disclosure for Stories",
        "Recommends a pre-publication gate for the ephemeral and video content, identifying it as the FTC's own fallback where after-the-fact monitoring is impractical",
        "Supplies a ready-to-paste livestream verbal repeat line and a ready-to-paste Story overlay line rather than only describing what is wrong",
        "States that the effort ceiling can re-rank the monitoring, guidance, and remediation choices around the review, but never the disclosure obligations themselves"
      ]
    },
    {
      "id": 2,
      "prompt": "Klarvault is a password manager. We gave Jonas Brehm, who runs a German-language tech-review YouTube channel with about 74k subscribers, a free 12-month Pro licence (retail €180) in exchange for nothing contractual - we just asked him to take a look. He made a 14-minute review, quite positive, and put nothing about the licence anywhere. His channel is obviously a commercial review channel, sponsor slots in half his videos, merch in the sidebar. My read is that German courts already settled that obviously commercial accounts don't need a Werbung label, and on top of that his audience is basically IT admins buying for their companies, so this is B2B and the consumer rules don't bite. Am I right?",
      "expected_output": "A review that rejects both the obviously-commercial-account argument and the B2B exemption argument, applies Germany's presumption of consideration, treats the free licence as a material connection, and requires an in-video German-language disclosure.",
      "files": [],
      "expectations": [
        "Rejects the claim that an obviously commercial account is exempt, stating the BGH's 2021 rulings excused only unpaid self-promotion while paid third-party promotion must always be disclosed however obviously commercial the account looks",
        "Notes the 2022 UWG amendment codified that paid/unpaid distinction",
        "Identifies the free 12-month licence as consideration and a material connection, not an exemption because no cash changed hands",
        "Cites German law's failure-to-identify-commercial-purpose rule, UWG section 5a(4), as the German hook",
        "States that Germany presumes consideration from a third party and puts the burden on the poster to credibly show none was received or promised",
        "Treats the undisclosed German-market post as non-compliant by default rather than presuming compliance absent proof of payment",
        "Rejects the B2B exemption argument for Germany, noting the UWG expressly protects other market participants alongside consumers",
        "Does not assert that the FTC Endorsement Guides themselves settle B2B coverage; treats any Guides application to a business audience as by-analogy and attaches a [COUNSEL] marker",
        "Requires the disclosure inside the video itself, on screen and spoken at the start, not only in the video description",
        "Supplies a ready-to-use German-language disclosure line rather than an English-only \"#ad\", noting a label in a language the audience does not read fails",
        "Attaches each counsel-grade ambiguity inline with the finding that raised it using a [COUNSEL: ...] marker, rather than pooling them in a closing section"
      ]
    },
    {
      "id": 3,
      "prompt": "Maison Lumo, home fragrance. Camille Ferrand published a review of our diffuser on her blog three weeks ago - it's live and ranking. We sent her the €95 unit for free and she's on our affiliate program, so the buy buttons are tracked links. The only thing on the page is a footer line at the very bottom: \"Certains liens sont affiliés.\" Her readers are mostly France and the Netherlands. She lives in Brussels. We're working from the June 2023 French influencer law and my understanding is the footer line covers the affiliate part. What's the exposure and what do we change?",
      "expected_output": "A live-content review that fails the footer-only disclosure, applies the French mandatory mention from the current consolidated text, flags the Netherlands to counsel, and delivers a remediation plan rather than a pre-publication critique.",
      "files": [],
      "expectations": [
        "States France requires the mention \"publicité\" or \"collaboration commerciale\", or an equivalent adapted to the influence activity and the format, and that a French affiliate-link footer note does not satisfy it",
        "Instructs working from the current consolidated French text as amended by ordonnance 2024-978 of 6 November 2024, not the original June 2023 version",
        "States that a Belgium-resident creator targeting a French audience is within scope of the French rules",
        "Flags the Netherlands portion with a [COUNSEL] marker for local-market disclosure rules instead of assuming the French, UK, or US rules transfer there",
        "Fails the placement layer for a footer-only disclosure, requiring it at the top of the page and before any affiliate link",
        "Identifies the free product as a material connection needing its own disclosure, separate from the affiliate-link commission",
        "Treats the asset as already live and produces a prioritized remediation plan, not only a pre-publication critique",
        "Recommends editing the disclosure into the live page as the default remediation rung for this format",
        "If it cites 16 CFR 255.1(d) remediation, frames it as the FTC's stated expectation rather than a standalone statutory duty, noting enforceable exposure runs through FTC Act Section 5",
        "Labels any French penalty figure, such as the reported €300,000 maximum, as requiring re-verification rather than asserting it flatly",
        "Supplies a ready-to-paste French disclosure line using one of the mandated mentions",
        "Marks any check the pasted text cannot settle as \"not assessable from the artefact provided\" and lists what to verify on the rendered page"
      ]
    },
    {
      "id": 4,
      "prompt": "Northvale Audio here. Priya Raman posted a 22-minute headphone review five days ago, 140k views already, and we paid her $4,000 flat for it. She says nothing about the payment - not on screen, not spoken, nothing in the description. We also found three older paid videos of hers with the same problem, and one of those is currently trending again. My plan: have her add a disclosure line to each description and pin a comment saying it's sponsored, that's a ten-minute job across all four. Alternatively we just terminate her and call the whole thing handled. Which way?",
      "expected_output": "A remediation plan that rejects both proposals, escalates above edit-in-place because the failing layer is per-format video placement, pairs any termination with removal of the live assets, and orders the four videos by exposure.",
      "files": [],
      "expectations": [
        "States that a description-only disclosure fails for long-form video and that the disclosure must be inside the video itself at the start",
        "Rejects the description-edit-plus-pinned-comment plan as a cure, because a caption or description edit cannot reach a video missing its in-video disclosure",
        "Does not treat the pinned comment as satisfying any layer of the check",
        "Escalates the remediation rung above edit-in-place, recommending re-publishing a corrected version and removing the original",
        "Explains that re-publishing a corrected version and taking the asset down remove the non-compliant version equally, and that re-publishing wins on efficiency because it keeps the campaign's earned reach",
        "Rejects terminating the creator as remediation on its own, stating that removing the partner leaves the undisclosed assets live",
        "Pairs any termination with a takedown or corrected re-publish of each live asset",
        "Orders the four-asset plan by exposure: assets still earning impressions first, then the highest-reach asset, then the rest",
        "Names a time-to-remediation target of requesting the fix within 24 hours of the finding",
        "Notes that re-recording or re-publishing long-form video is high value and high effort and normally loses to a caption edit, and is promoted here because the failing layer is per-format placement rather than wording",
        "Supplies a ready-to-use spoken disclosure line and an on-screen overlay line for the corrected videos",
        "Frames the expectation to remediate known non-compliance as the FTC's stated position under 16 CFR 255.1(d) rather than a standalone statutory obligation, and attaches [COUNSEL] if the user intends to assert that obligation to the creator"
      ]
    },
    {
      "id": 5,
      "prompt": "Ledgerwise, B2B accounting software, about 200 staff, customers in the US with a decent chunk in Germany. Two things I want checked. First, our employee advocacy program: staff post on LinkedIn about the product, we run a monthly leaderboard and the top three posters get a $200 voucher. Everyone's LinkedIn headline already says Ledgerwise, so the employer is visible. Second, we offer a $50 gift card to any customer who leaves a review on the big software review sites - we've collected about 180 that way and our displayed average moved from 4.1 to 4.6 over eight months. Each of those reviewers ticked the platform's \"I received an incentive\" box. This is all B2B so I assume the FTC influencer rules don't apply to us at all. Confirm?",
      "expected_output": "A review that declines the B2B exemption assumption with an explicit by-analogy caveat, requires in-post employment disclosure, raises the aggregate-rating trap on the 4.1-to-4.6 move, and weights Part 465 insider-review exposure as higher severity.",
      "files": [],
      "expectations": [
        "Does not accept that the FTC endorsement framework is inapplicable simply because the audience is B2B",
        "States the FTC Guides never say \"B2B\" or \"consumer-only\", treats their application to a business audience as by-analogy rather than settled, and attaches a [COUNSEL] marker",
        "Notes the FTC's deception theory reaches business audiences through FTC Act Section 5 rather than through Part 255",
        "States that employees must disclose the employment relationship inside the post itself and that naming the employer on the profile or headline is not enough, citing 16 CFR 255.5",
        "Identifies the $50 gift card as an incentive requiring clear and conspicuous disclosure on each review under 16 CFR 255.2",
        "Raises the aggregate-rating trap: per-review disclosure does not cure a displayed average materially inflated by incentivized reviews, and the aggregate rating then needs its own clear-and-conspicuous disclosure",
        "Connects the 4.1 to 4.6 movement in the displayed average directly to that aggregate-rating exposure",
        "Flags insider-review exposure under 16 CFR 465.5 for reviews by officers, managers, employees, or their immediate family without disclosure of the relationship",
        "States that Part 465 is a Rule carrying direct civil-penalty exposure without a prior Notice of Penalty Offenses, and weights those findings as higher severity than Part 255 Guides findings",
        "States that the monthly leaderboard and vouchers make this active encouragement, so the company owes monitoring of the resulting posts rather than only a written policy",
        "Notes Germany's UWG expressly protects other market participants, so the German portion of the audience is not excused by the buyers being businesses",
        "Supplies ready-to-use B2B disclosure lines, including an employee post opener naming the employment relationship and a reviewer line naming the gift card"
      ]
    },
    {
      "id": 6,
      "prompt": "Crestpine Outdoors. I'm the only person on the affiliate program and I can give compliance maybe 6 hours a month. We have around 400 active affiliates. The overwhelming majority of what they publish is YouTube reviews and podcast ad reads, so the disclosures, when they exist, are spoken or shown on screen. We run through a network that has its own disclosure terms and runs some kind of scan on their side. Here's my plan: build an automated crawler that scans partner posts for \"#ad\" and flags anything without it, plus make every affiliate sign a quarterly attestation that they disclose properly. That's our compliance program - efficient, scales to 400, basically zero hours from me. Poke holes in it.",
      "expected_output": "A re-ranked monitoring recommendation that deletes the automated label scan for this format mix, refuses self-attestation as the monitoring itself, defaults to a risk-weighted spot-check, and names which interview answer moved which rung.",
      "files": [],
      "expectations": [
        "Deletes the automated label scan from the recommendation rather than ranking it low, because a text scan cannot see spoken or on-screen disclosures, which is this campaign's dominant format",
        "Refuses to let partner self-attestation stand as the monitoring itself, noting a partner who misunderstood the rule attests in good faith and still fails",
        "Notes the FTC asks for a periodic search of what partners are actually saying, not a collection of their promises",
        "Keeps self-attestation only as the paper trail underneath a real monitoring approach",
        "Recommends a risk-weighted spot-check as the default monitoring approach",
        "Defines the spot-check sample as newest partners, highest earners, regulated claims, and formats that have failed before",
        "Removes the full-roster review given the stated effort ceiling, and names the answer that moved it",
        "Names the condition that would promote the full-roster review anyway: regulator contact, a regulated vertical, or the same partner failing twice",
        "Re-ranks because the affiliate network enforces disclosure centrally, noting the network's own scan and terms already cover rungs the program would otherwise build",
        "States that monitoring itself is not optional, citing 16 CFR 255.1(d) and the brand-side duty, and that no single rung discharges that duty alone",
        "Gives effort in orders of magnitude rather than precise figures: self-attestation and spot-checks near-zero per asset, an automated scan about a week to set up and tune, a pre-publication gate or full-roster review a standing job",
        "Notes that an automated scan needs a platform-terms review before it crawls and an attestation clause needs a program-terms amendment and partner notice, while reading published content needs neither"
      ]
    },
    {
      "id": 7,
      "prompt": "Yieldmark - we're a personal-finance app, referral payouts on funded accounts. Brandon Teele posted a 40-second TikTok two days ago walking through the app. No ad label anywhere, nothing said out loud, caption is just \"finally an app that doesn't gatekeep\". It's at 90k views and it's genuinely driving signups. I want to freeze every commission on his account today and terminate him this week. I checked our T&Cs and there's honestly nothing in there about withholding payments - can you also draft that clause for me while you're at it?",
      "expected_output": "A remediation plan that deletes the payment-hold rung for lack of a contractual basis, refuses termination as a cure on its own, cures the live asset by a rung the short-form video format allows, and declines to draft the terms clause.",
      "files": [],
      "expectations": [
        "Deletes the payment-hold rung because the program terms carry no withholding clause, stating that withholding without one is a contract dispute rather than a remediation",
        "Attaches a [COUNSEL] marker before any recommendation involving withholding commission or terminating the partner",
        "States that terminating the affiliate does not remediate, because the undisclosed asset stays live, and pairs termination with a takedown or corrected re-publish",
        "Cures the live violation by a rung the short-form video format allows, rather than a caption edit alone",
        "Requires the corrected short-form video disclosure to be on screen and spoken at the start, before the endorsement, not in the caption only",
        "Notes that personal finance is a regulated vertical, so the highest-value rung wins regardless of effort, and re-ranks on that basis",
        "Declines to draft the program-terms withholding clause inside this review and routes that work to the program-terms sibling skill as out of scope",
        "Notes that termination and payment holds spend relationship capital and are hard to walk back, while an edit reverses freely",
        "States that the asset still earning impressions takes priority in the remediation order",
        "Delivers the not-legal-advice statement and repeats it with the report, instructing the user to keep every [COUNSEL] marker until counsel resolves it"
      ]
    },
    {
      "id": 8,
      "prompt": "I run BestPackLists, an affiliate site, and we're now doing brand deals too. Two assets to check. One: our \"Top 9 Ultralight Tents 2026\" page has a grey disclosure banner right at the very top of the page, above the intro, saying \"This page contains affiliate links.\" The nine product blocks with buy buttons start about 1,200 words down. Two: our Thursday newsletter, 41k subscribers, has one sponsored block roughly halfway through, and under it we put a small italic line reading \"in partnership\". Readers are US and UK, roughly half and half. Is there actually an FTC rule specific to email newsletters I should be following?",
      "expected_output": "A review that fails the roundup page for separating the disclosure from the links, states plainly that no format-specific FTC newsletter rule exists, applies the general standard instead, and fails \"in partnership\" as wording.",
      "files": [],
      "expectations": [
        "Fails the roundup page because the reader must see the disclosure and the affiliate link at the same time, and a page-top disclosure separated from the links does not satisfy that",
        "Recommends a \"paid link\" or equivalent commission line adjacent to each product link block, noting FTC staff treat an adjacent \"paid link\" as adequate",
        "States plainly that no format-specific FTC rule exists for newsletters or email rather than inventing or implying one",
        "Applies the general clear-and-conspicuous standard to the newsletter: disclosure adjacent to the sponsored block, before the reader acts, visually separated from editorial content",
        "Fails \"in partnership\" as wording, because it names no commercial relationship a reader can decode, and requires a label such as \"Sponsored\" that names the paid placement",
        "Places the newsletter disclosure at the top of the sponsored block rather than underneath it",
        "Applies the UK layer, including the CMA's rule that the audience should not have to scroll or select a link for more information",
        "Supplies a ready-to-paste inline affiliate-link label and a ready-to-paste sponsored-block opener naming the brand that paid",
        "Marks whatever the pasted text cannot settle, such as the rendered page's visual prominence or contrast, as \"not assessable from the artefact provided\" and lists what to verify on the rendered asset",
        "Delivers an explicit verdict of PASS, FAIL, or PASS WITH [COUNSEL] items per asset, with every failing row carrying a rewritten fix rather than only a critique"
      ]
    },
    {
      "id": 9,
      "prompt": "Altavia Cosmetics, Milan. Giulia Renzo, 12,400 followers, Italian audience only, did a paid feed post plus a 45-second Reel for our new serum. On the feed post the caption is a product story and \"#adv\" is the seventh hashtag in the block at the end. On the Reel, \"adv\" appears in the description text, nothing on screen. She switched on Instagram's branded content declaration for both. My legal contact says DSA Article 26 is what obliges her to label it and she's used the platform toggle, so we're covered - and anyway she's under 15k followers so she isn't a trader and consumer law doesn't reach her personally. Sanity check me.",
      "expected_output": "A review correcting the DSA reading, rejecting the follower-threshold trader argument as counsel territory, and failing both assets under the Italian Digital Chart placement rules with corrected Italian text.",
      "files": [],
      "expectations": [
        "Corrects the DSA reading: Article 26 places the ad-identification duty on the platform, not on the creator",
        "States the creator's own disclosure duty comes from national law transposing the UCPD and from platform terms, and that the DSA supplies the declaration functionality rather than the obligation",
        "States that a used platform declaration never completes the check on its own, while an unused one is a red flag",
        "Rejects the follower-count argument, stating trader status under EU law is fact-specific - organisation, remuneration, scale - with no bright-line follower threshold, and flags it [COUNSEL]",
        "Fails the feed-post placement under Italy's Digital Chart, which requires the disclosure to be the first piece of information or within the first three hashtags, not the seventh",
        "Fails the Reel because Italy requires the disclosure both in the description and as an on-screen overlay at the video's opening",
        "Requires the brand to be named alongside \"adv\", since the Italian accepted form is \"adv\" plus the brand",
        "Cites UCPD Annex I point 11 for undisclosed paid editorial content, noting it is blacklisted as unfair per se with no case-by-case consumer-impact test",
        "Cites UCPD Article 7(2) as the misleading-omission hook for failing to identify commercial intent",
        "Notes the Commission's UCPD guidance can attribute the breach to the influencer, the engaging brand, or both, and that the brand's editorial control is a liability factor rather than a precondition",
        "Supplies corrected Italian-language disclosure text for the caption opener and for the Reel's opening overlay"
      ]
    },
    {
      "id": 10,
      "prompt": "Brightloom Home. Last quarter I reviewed 143 partner assets and only 62% passed first time. It's the same three mistakes over and over, across 30 of our 55 affiliates: the ad tag dumped at the end of a hashtag wall, \"#collab\" used instead of anything real, and disclosure sitting in the profile bio instead of the post. I've asked for budget to hire a second reviewer so we can get through more assets per week and catch more of this. Before I send that request, does the math make sense? Our roster is entirely self-serve - they apply through a form, get approved automatically, and nobody on my team ever speaks to them.",
      "expected_output": "A diagnosis that reads the sustained sub-80% first-pass rate as an upstream defect, declines the headcount fix, recommends the approved wording bank as the default guidance route, and deletes live training for this self-serve roster.",
      "files": [],
      "expectations": [
        "States that a first-pass rate sustained below 80% signals an upstream defect and directs the fix at the brief and onboarding rather than at reviewing more assets",
        "Declines to recommend adding review headcount as the primary fix",
        "Recommends an approved wording bank as the default route for getting the rules to partners, adapted into the program's own approved lines, one per format the campaign runs",
        "Puts the wording bank's effort at roughly an hour to adapt, as an order of magnitude rather than a precise figure",
        "Deletes the live-training rung for this self-serve roster that never meets the program team, rather than ranking it low, because a session nobody attends is not distribution",
        "Requires a corrected, ready-to-paste line to ship with every failing finding, feeding the wording bank",
        "Names what the efficiency order starves - live training, the only rung that catches a partner's misunderstanding before it reaches an asset - and states the condition that would normally promote it",
        "Gives the correct fix for each of the three recurring failures: disclosure moved into the first visible caption line, \"#ad\" or \"paid partnership with [brand]\" replacing \"#collab\", and in-post disclosure replacing bio-only",
        "Treats those three fixes as mandatory corrections of specific failures rather than rungs to be traded off against each other",
        "Names roster coverage as a program KPI: the share of active partners with at least one asset reviewed per period, measured against the chosen monitoring approach",
        "Routes drafting of the campaign brief's disclosure requirements and of any program-terms clause to the sibling skills rather than producing them here"
      ]
    }
  ],
  "trigger_queries": [
    { "query": "Check this caption for FTC disclosure compliance before it goes live tomorrow", "should_trigger": true },
    { "query": "Is #collab enough of a disclosure on a sponsored Instagram post?", "should_trigger": true },
    { "query": "Our affiliate posted a review and never said he earns a commission - it's already live, what now?", "should_trigger": true },
    { "query": "Review this video script for paid partnership labeling", "should_trigger": true },
    { "query": "Does switching on Instagram's paid partnership toggle cover us?", "should_trigger": true },
    { "query": "We sent a creator a free product and she posted about it without mentioning it - problem?", "should_trigger": true },
    { "query": "Audit this YouTube video description for ad disclosure", "should_trigger": true },
    { "query": "What has to appear in a French influencer post so it isn't a hidden ad?", "should_trigger": true },
    { "query": "German audience - do we need a Werbung label if the account is obviously a business account?", "should_trigger": true },
    { "query": "Our partner buried the ad tag at the bottom of a hashtag wall, is that acceptable?", "should_trigger": true },
    { "query": "Need a pass/fail on this TikTok before we approve it", "should_trigger": true },
    { "query": "Is \"thanks to @brand for the gear\" enough?", "should_trigger": true },
    { "query": "Our roundup page has the disclosure at the top but the links are 1,000 words further down", "should_trigger": true },
    { "query": "Employees are posting about our product on LinkedIn - does anything need to go in the post itself?", "should_trigger": true },
    { "query": "We give a $25 gift card for reviews on software review sites - anything we need to say?", "should_trigger": true },
    { "query": "Check whether this livestream plan meets FTC requirements", "should_trigger": true },
    { "query": "Someone reported one of our creator posts to the ASA - can you look at what the post says", "should_trigger": true },
    { "query": "What's the right wording for an affiliate link inside a blog review?", "should_trigger": true },
    { "query": "Reviewing a podcast ad read script - is the sponsor mention placed right?", "should_trigger": true },
    { "query": "Our partner's story had the ad label in the caption, not on the image - fine?", "should_trigger": true },
    { "query": "Is our creator content compliant for an Italian audience?", "should_trigger": true },
    { "query": "Do newsletter sponsorships need any specific labeling?", "should_trigger": true },
    { "query": "This post is live and earning - what do we fix first?", "should_trigger": true },
    { "query": "Do we need to repeat the sponsorship mention during a two-hour stream?", "should_trigger": true },
    { "query": "Can we just have affiliates sign something confirming they disclose properly?", "should_trigger": true },
    { "query": "Read this caption and tell me whether a regulator would have a problem with it", "should_trigger": true },
    { "query": "An agency handles all our creator posts - are we still on the hook if one isn't labelled?", "should_trigger": true },
    { "query": "Should the ad mention be spoken, or is on-screen text enough in a short video?", "should_trigger": true },
    { "query": "We're running in the US, UK and Germany - does one #ad cover all three?", "should_trigger": true },
    { "query": "Here's a transcript of a partner's video. Anything missing before we pay her?", "should_trigger": true },
    { "query": "How prominent does the sponsored label actually have to be?", "should_trigger": true },
    { "query": "Our creator put it in her bio instead of the post", "should_trigger": true },
    { "query": "Carousel post where only the first slide is labelled - does that pass?", "should_trigger": true },
    { "query": "What's the FTC penalty if a partner post isn't labelled as an ad?", "should_trigger": true },
    { "query": "Can a discount code count as telling people it's a paid post?", "should_trigger": true },
    { "query": "We want to pull a partner's unlabelled post - is there a better option than a takedown?", "should_trigger": true },
    { "query": "Pre-approve this story sequence for us before it goes out", "should_trigger": true },
    { "query": "Is \"in partnership with\" acceptable wording?", "should_trigger": true },
    { "query": "An analyst we pay a referral fee to recommends us in his comparison deck", "should_trigger": true },
    { "query": "Does the EU's DSA mean creators have to label their own ads?", "should_trigger": true },
    { "query": "One of our affiliates has 12k followers - do the rules even reach her?", "should_trigger": true },
    { "query": "Give me approved wording we can hand partners for each content format", "should_trigger": true },
    { "query": "Our first-pass approval rate on partner content is stuck around 60%", "should_trigger": true },
    { "query": "How do we monitor 300 affiliates for proper labeling with almost no time?", "should_trigger": true },
    { "query": "Can we withhold commission from a partner who didn't label their post?", "should_trigger": true },
    { "query": "The partnership label disappears when the post is embedded on our own site", "should_trigger": true },
    { "query": "Is a pinned comment enough to fix a video that never said it was sponsored?", "should_trigger": true },
    { "query": "All our reviews are incentivized and each one says so - is the star average itself an issue?", "should_trigger": true },
    { "query": "Look at this and tell me whether it's obvious enough that it's an ad", "should_trigger": true },
    { "query": "We're publishing to a Dutch audience too and I have no idea what applies there", "should_trigger": true },
    { "query": "Which of these actually work: #sp, #spon, #ad, #ambassador?", "should_trigger": true },
    { "query": "Our ambassadors post with no tag because we don't pay them - they just keep the products", "should_trigger": true },
    { "query": "Draft the disclosure clause for our affiliate program terms and conditions", "should_trigger": false },
    { "query": "Write the affiliate program agreement with prohibited-tactics clauses and an enforcement ladder", "should_trigger": false },
    { "query": "Put the disclosure requirements into the campaign brief we hand the creator", "should_trigger": false },
    { "query": "Design the onboarding sequence that takes a newly approved affiliate to first tracked conversion", "should_trigger": false },
    { "query": "Set the commission rate model and payout tiers for our new affiliate program", "should_trigger": false },
    { "query": "Build the detection rules for cookie stuffing and self-referral rings", "should_trigger": false },
    { "query": "Audit this month's affiliate payout run before we disburse the money", "should_trigger": false },
    { "query": "Spec the metrics and layout for our affiliate performance dashboard", "should_trigger": false },
    { "query": "Write the recruitment email sequence for signing up new affiliates", "should_trigger": false },
    { "query": "Rank these five candidate technology alliances by expected value and effort", "should_trigger": false },
    { "query": "Define our deal registration policy and approval SLA for co-selling", "should_trigger": false },
    { "query": "Set the sourcing criteria to shortlist creators for our spring campaign", "should_trigger": false },
    { "query": "Design the KPI and attribution plan for this influencer campaign before launch", "should_trigger": false },
    { "query": "Prepare my opening positions and concession ladder for negotiating with a creator", "should_trigger": false },
    { "query": "Write the first-touch pitch message to a creator we have already vetted", "should_trigger": false },
    { "query": "Plan the joint go-to-market motion with our new cloud partner", "should_trigger": false },
    { "query": "Write the rules of engagement for contested deals between direct sales and resellers", "should_trigger": false },
    { "query": "Design our B2B channel program from scratch, including tier count and benefits", "should_trigger": false },
    { "query": "Model the unit economics and payback of this one reseller relationship", "should_trigger": false },
    { "query": "Which partner categories should we add next, and in what sequence?", "should_trigger": false },
    { "query": "Map every partner type in our ecosystem as a strategy exercise", "should_trigger": false },
    { "query": "Sequence the training and certification our partners need to sell on their own", "should_trigger": false },
    { "query": "Which cloud marketplaces should we list on, and when should we delist?", "should_trigger": false },
    { "query": "Build the per-partner scorecard and the QBR structure behind it", "should_trigger": false },
    { "query": "Redesign our silver/gold/platinum partner tier ladder", "should_trigger": false },
    { "query": "How do I move into partnerships from a marketing role?", "should_trigger": false },
    { "query": "Write the job description and interview loop for hiring a partner manager", "should_trigger": false },
    { "query": "I'm starting partnerships work - which skill should I run first?", "should_trigger": false },
    { "query": "Set reward caps, velocity limits and cooldowns so customers can't game our refer-a-friend program", "should_trigger": false },
    { "query": "Design the reward structure for our customer referral program", "should_trigger": false },
    { "query": "Explain how affiliate cookie windows and attribution actually work", "should_trigger": false },
    { "query": "Decide how much to pay a creator for a three-post package", "should_trigger": false },
    { "query": "Our affiliate is sending bot traffic - how do we prove it and escalate?", "should_trigger": false },
    { "query": "Review our cookie banner for GDPR consent compliance", "should_trigger": false },
    { "query": "Write our website privacy policy", "should_trigger": false },
    { "query": "Check whether our marketing emails comply with CAN-SPAM", "should_trigger": false },
    { "query": "Audit our web app for WCAG accessibility compliance", "should_trigger": false },
    { "query": "Prepare evidence for our SOC 2 Type II audit", "should_trigger": false },
    { "query": "Draft a responsible disclosure policy for security researchers", "should_trigger": false },
    { "query": "Write the coordinated vulnerability disclosure process for our repository", "should_trigger": false },
    { "query": "Help me with the SEC disclosure requirements for our S-1", "should_trigger": false },
    { "query": "Review the related-party disclosures in this financial statement", "should_trigger": false },
    { "query": "Check our health product claims against FDA advertising rules", "should_trigger": false },
    { "query": "Audit our data processing agreements for GDPR Article 28", "should_trigger": false },
    { "query": "Review our terms of service for unfair contract terms", "should_trigger": false },
    { "query": "Check whether our job postings comply with pay transparency laws", "should_trigger": false },
    { "query": "Write an ESG disclosure report for our investors", "should_trigger": false },
    { "query": "Does this open source license require us to disclose our modifications?", "should_trigger": false },
    { "query": "Our ad account got flagged for policy violations - help me appeal", "should_trigger": false },
    { "query": "Write the anti-bribery and gifts policy for our sales team", "should_trigger": false },
    { "query": "Review our sweepstakes rules against state lottery law", "should_trigger": false },
    { "query": "Draft the conflict-of-interest disclosure form our board members sign", "should_trigger": false }
  ]
}
references/b2b-vs-b2c-contrast.md›
# B2B vs B2C Contrast

## Identical for both

- The material-connection principle: payment, commission, free product, employment, family ties - same triggers, same duty to disclose.
- The clear-and-conspicuous standard (16 CFR 255.0(f)) and every per-format placement rule.
- The accepted/rejected wording verdicts.
- The advertiser's guide/monitor/remediate duties (16 CFR 255.1(d)), including non-delegable agency liability.
- The six-layer check runs unchanged for both; only the scenarios below need extra care.

## Where B2B differs

### Scope caveat - be honest about it

- The FTC Guides never say "B2B" or "consumer-only". The nearest textual signal sits _outside_ the endorsement framework.
- 16 CFR 255.0 Example 13 calls it deceptive to misrepresent social-media influence to "potential clients, purchasers, investors, partners, or employees." The same example states that buying fake followers "is not itself an endorsement issue," so the deception theory reaches business audiences through FTC Act Section 5, not through Part 255.
- Read this as evidence that the FTC's deception theory covers B2B audiences, never as proof that the Guides themselves do. Treat application of the Guides to B2B as by-analogy, and add `[COUNSEL]` when stakes are high.
- EU and UK consumer instruments (UCPD, CMA consumer law) protect consumers; Germany's UWG expressly also protects "other market participants". Never skip the check for a pure-B2B audience - flag `[COUNSEL: B2B applicability in <market>]` instead.

### Employee and insider advocacy

- Employee posts praising the employer's product need in-post employment disclosure (§255.5); §465.5 makes undisclosed insider reviews directly civil-penalty-backed - including officers, managers, and their immediate family.
- An employee-advocacy program is active encouragement: the company then owes monitoring of the resulting posts, not just a policy.

### Incentivized software-review-site reviews

- Every incentivized review must disclose the incentive (§255.2) - a gift card is an incentive.
- Aggregate-rating trap: per-review disclosure is not enough if incentivized reviews materially inflate the displayed average rating; the aggregate needs its own disclosure. Ask how the review platform handles this; `[COUNSEL]` if it doesn't.

### Consultant and analyst referral fees

- A consultant or analyst recommending a vendor that pays them a referral fee has a material connection; the disclosure belongs where the recommendation is made - the deck, the call summary, the published comparison.
- No FTC channel-specific guidance exists; the general material-connection principle applies by extension.

### Sponsored webinars and paid newsletter placements

- No channel-specific FTC guidance exists for either - say so rather than implying a rule. The material-connection principle still governs: label the webinar and the newsletter block as sponsored, adjacent to the content, before the audience engages.

### Agency-intermediated content

- Brand liability is non-delegable: hiring an agency does not shift responsibility (FTC FAQ). Require regular compliance reports and review agency-sourced content like any other partner content.
- Agency employees promoting the client carry their own disclosure duty on personal accounts.

## Where B2C differs

- B2C is the instruments' home ground: the UCPD, the CMA's endorsement guidance, France's influencer law, and Italy's Digital Chart are consumer-facing by design - apply them at full strength, no by-analogy caveat.
- Consumer formats - stories, short-form video, livestreams - concentrate the ephemeral-content risk; use the FTC's pre-approval fallback rather than after-the-fact monitoring - the pre-publication gate rung in SKILL.md § Ranked Choices.
references/disclosure-wording.md›
# Disclosure Wording

## Accepted vs rejected labels

| Verdict       | Label                                                   | Why                                                                                                 |
| ------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Pass          | #ad, "Ad", "advert", "advertising", "advertisement"     | On the CMA's accepted list; unambiguous to any viewer; the ISBA/IMTB code's required "#ad".         |
| Pass          | "Paid partnership with [brand]" written out             | Names both the relationship and the brand; matches platform-label phrasing without depending on it. |
| Pass          | "Sponsored by [brand]" / "[brand] paid me to post this" | Plain language, self-contained, survives out of context.                                            |
| Pass          | "Paid link" adjacent to an affiliate link               | FTC staff call this adequate right next to the link.                                                |
| Pass (France) | "publicité", "collaboration commerciale"                | The two mentions the French law names.                                                              |
| Pass (Italy)  | "pubblicità", "sponsorizzato da [brand]", "adv + brand" | On the Digital Chart's accepted list.                                                               |
| Fail          | #sp, #spon                                              | Abbreviations a viewer may not decode; the ISBA/IMTB code names #spon a "less clear alternative".   |
| Fail          | #collab, #ambassador, vague "partner"                   | Reads as friendship or affiliation without payment - the commercial relationship stays hidden.      |
| Fail          | "thanks to [brand]", a bare @brand tag                  | Gratitude and tagging state no commercial relationship; CMA: tagging a brand is not enough.         |
| Fail          | Discount code or affiliate link alone                   | CMA: "not enough just to... use discount codes or affiliate links."                                 |
| Fail          | Disclosure in bio or profile only                       | FTC: profile-page disclosures are likely missed.                                                    |

A pass-listed label still fails when buried, truncated, in a language the audience doesn't read, or contradicted elsewhere ("just my honest opinion, no ad"). Wording only passes together with placement.

## Ready-to-use compliant lines

- Video overlay, first frames: "AD - paid partnership with [brand]".
- Spoken video or podcast read: "This video/episode is sponsored by [brand] - they paid me to talk about [product]."
- Caption opener: "Ad - I earn a commission if you buy through my link."
- Story overlay: "AD | [brand] partnership" as a text overlay on the promotional frame, on screen long enough to read.
- Blog header: "Disclosure: this review contains affiliate links - I earn a commission if you buy through them." Add "[brand] did not review this article before publication." only when true.
- Inline affiliate link: "[product] (paid link)" or "[product] - affiliate link".
- Newsletter sponsored block: "Sponsored - [brand] paid for this placement." at the top of the block, visually separated from editorial.
- Livestream verbal repeat: "Quick reminder: this stream is sponsored by [brand]." at regular intervals and at each segment change. No fixed interval is mandated; pick one and note it in the report.

## B2B variants

- Employee post: open with "I work at [company]." A profile mention is not enough (16 CFR 255.5).
- Consultant or analyst: "Disclosure: [vendor] is a client" / "[vendor] pays me a referral fee for introductions."
- Incentivized review on a software review site: "I received a gift card from [vendor] for writing a review. Opinions are my own."
- Sponsored webinar: "This webinar is sponsored by [vendor]." On the registration page and in the session open.
- Agency staff promoting a client: "My employer is paid to promote [product]." This is the FTC's own suggested line.

These B2B lines follow the same accepted/rejected logic as the B2C bank; only the relationship being named differs.
references/format-placement-rules.md›
# Per-Format Placement Rules

These rules are format-driven, not platform-driven: judge an ephemeral story-like unit the same way on any platform. Layer Italy's Digital Chart rules on top when the audience includes Italy.

| Format                              | Rule                                                                                                                                                                                                             | Regulator behind it                                                                                                                 |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Short-form video                    | Disclosure in the video itself - on-screen and spoken - not only in the caption or description; place it at the start, before the endorsement.                                                                   | FTC (Disclosures 101); CMA (beginning of videos); IAP (overlay at opening plus description)                                         |
| Livestream                          | Repeat the disclosure periodically so viewers who see only part of the stream still get it; once at the start fails.                                                                                             | FTC                                                                                                                                 |
| Story / ephemeral                   | Superimpose the disclosure over the image itself, on screen long enough to notice and read; caption-only or bio-only fails.                                                                                      | FTC; IAP (overlaid on the promotional element)                                                                                      |
| Static image post caption           | Disclosure in the visible, untruncated opening of the caption - never behind the "more" cut, in a hashtag wall, or on the profile page.                                                                          | FTC ("anywhere that requires a person to click MORE"); CMA (no scrolling required); IAP (first information or first three hashtags) |
| Long-form video                     | In-video disclosure at the start; for a mid-video endorsement, also right before or at the endorsement itself. Description-only fails.                                                                           | FTC                                                                                                                                 |
| Podcast / audio                     | Spoken disclosure at volume, speed, and cadence an ordinary listener can hear and understand - matching the ad read's own prominence. No podcast-specific FTC page exists; the audible 255.0(f) factors govern.  | FTC (16 CFR 255.0(f)); CMA (beginning of podcasts)                                                                                  |
| Blog / review article               | Disclosure close to - better, part of - the endorsement it covers: top of page and before any affiliate link, not footer-only, not after distracting outbound links.                                             | FTC                                                                                                                                 |
| Newsletter / email                  | No format-specific FTC rule exists - say so if asked. Apply the general standard: disclose adjacent to the sponsored block or affiliate link, before the reader acts, visually separated from editorial content. | FTC (general clear-and-conspicuous principle only)                                                                                  |
| Affiliate roundup / comparison page | The reader must see the disclosure and the affiliate link at the same time; a page-top disclosure separated from the links fails. "Paid link" adjacent to a link is adequate.                                    | FTC                                                                                                                                 |
| Carousel (multi-item post)          | Label each item that contains promotional messaging, not just the first slide.                                                                                                                                   | CMA                                                                                                                                 |

Reading the table:

- Treat the rows as gates, never as a ranked menu: every applicable row must pass, and no row is traded off against another because it is cheaper to satisfy.
- Treat each row as the placement minimum for that format; the wording still has to pass on its own.
- When two regulators apply, apply the strictest applicable row element - e.g. a video for a US-and-Italy audience needs the spoken/in-frame disclosure and the description line and the opening overlay.
- When the artefact can't show a row's element (a script can't prove overlay duration), mark the check "not assessable from the artefact provided" and list what to verify on the rendered asset.
references/review-report-example.md›
# Review Report Examples

One review done right, one done badly. Match the first's shape; avoid the second's two mistakes.

## Worked example - pre-publication caption review

Submitted artefact (caption text for a static image post):

> "Obsessed with my new standing desk from @DeskCo 😍 It fixed my back pain in a week. Use code DESK10 for 10% off! #wfh #office #desksetup #productivity #collab #DeskCoPartner [link]"

Interview answers: US + UK audience, affiliate-commission-only relationship, B2C, pre-publication, artefact is caption text only.

> This is a compliance review against published regulator rules, not legal advice. Counsel owns the legal call; this review finds what counsel and regulators would find.
>
> **Asset**: static image post caption | affiliate commission | US + UK | B2C | pre-publication | caption text only
>
> | Requirement              | Verdict                                                                                                        | Evidence                                                                         | Rule                                                                                                         | Fix                                       |
> | ------------------------ | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------------------- |
> | Disclosure present       | FAIL                                                                                                           | No disclosure - a discount code and an affiliate link are not one                | CMA: "not enough just to tag a brand... use discount codes or affiliate links"; FTC material-connection duty | Add "Ad - " opener (below)                |
> | Wording unambiguous      | FAIL                                                                                                           | "#collab" and "#DeskCoPartner" are the only relationship signals; both ambiguous | FTC-insufficient tag family; CMA accepted-label list                                                         | Replace with "#ad"                        |
> | Placement and prominence | FAIL                                                                                                           | Relationship tags sit at the end of a hashtag wall, behind the likely "more" cut | 16 CFR 255.0(f); FTC: disclosures behind "MORE" likely missed                                                | Move disclosure to first line             |
> | Format rule (caption)    | FAIL                                                                                                           | Nothing disclosed in the visible caption opening                                 | FTC Disclosures 101; CMA no-scroll rule                                                                      | First line, before the hook               |
> | Truncation survival      | FAIL                                                                                                           | Truncation would leave zero disclosure visible                                   | FTC "more"-cut guidance                                                                                      | First-line placement fixes this           |
> | Claim check              | `[COUNSEL: "fixed my back pain in a week" is a health-adjacent efficacy claim - substantiation review needed]` | Health claims need substantiation regardless of disclosure                       | FTC Section 5                                                                                                | Soften or substantiate before publication |
> | UK overlay               | FAIL                                                                                                           | No CMA-accepted label anywhere                                                   | CMA accepted labels: "ad", "advert", "AD", "advertising", "advertisement"                                    | "#ad" satisfies both markets              |
>
> **Verdict: FAIL - publishable after fixes below and counsel review of the health claim.**
>
> Rewritten caption:
> "Ad - I earn a commission if you buy through my link. Obsessed with my new standing desk from @DeskCo 😍 My back feels noticeably better after a week. Use code DESK10 for 10% off! [link] #ad #wfh #desksetup"
>
> Keep the `[COUNSEL]` marker until the efficacy claim is cleared. This review covers the caption only - verify the rendered post (image overlays, link placement) before publishing.

Why this review is right: every check has a verdict, every fail cites a rule and ships a paste-ready fix, the unsettled point is escalated inline rather than decided, and the reviewer states what the artefact could not show.

## Negative example - the same asset reviewed badly

> "Checked your post - you're fine, it already has the platform's Paid partnership label turned on, so disclosure is covered. One thing though: 'Obsessed' and the emoji feel off-brand, and DESK10 should be capitalized differently per the style guide. Please rework the tone before posting. Approved otherwise!"

Two failures make this review worthless:

- **Passing on the platform label alone.** FTC: a platform's disclosure tool is "no guarantee" of adequate disclosure; CMA accepts such tools only "if clearly visible" - and the reviewer never verified visibility, truncation survival, or the wording layer at all. The asset still fails five checks.
- **Rejecting on brand-tone grounds.** Tone, emoji use, and code formatting are brief-adherence questions, not disclosure-compliance questions. Mixing them in dilutes the verdict, trains partners to treat compliance notes as style preferences, and belongs to the campaign-brief workflow, not this review.

A disclosure review answers one question - would a regulator find this content adequately disclosed? - with evidence, rules, and fixes. Nothing less passes an asset; nothing more belongs in the verdict.
references/uk-and-eu-rules.md›
# UK and EU Rules

## UK - CAP Code and ASA

- CAP Code rule 2.1: "Marketing communications must be obviously identifiable as such." Enforced by the ASA across all formats and media.
- The ASA publicly names influencers who repeatedly refuse to comply - reputational exposure sits on top of the rule itself.

## UK - CMA (consumer law)

- Accepted labels: "ad", "advert", "AD", "advertising", "advertisement". Platform disclosure tools count only "if clearly visible".
- "It is not enough just to tag a brand in your post, use discount codes or affiliate links."
- "Your audience should not have to scroll or select the link for more information." Disclosure must be upfront and prominent: at the beginning of videos and podcasts, and each promotional item in a carousel labelled individually.
- Brand-side duty (CMA 2022 guidance): ensure creators understand their obligations before posting, verify published content is properly labelled, remediate when it is not.
- Instagram gave the CMA undertakings in 2020 to prompt endorsers pre-publication and flag suspected unlabelled ads - expect platform prompts to exist; never treat them as the compliance mechanism.
- The CMA gained direct fining powers for consumer-law breaches under the Digital Markets, Competition and Consumers Act 2024 - re-verify the current enforcement posture before citing specifics.

## UK - named codes

- ISBA/IMTB Influencer Marketing Code of Conduct (version 4, November 2024) has signatories use the "easily comprehensible #ad", keep disclosure immediately visible before a consumer engages, and avoid "less clear alternatives such as #spon". Its brand pre-approval process makes it the clearest named code with an actual pre-publication review step.
- IAB UK "Affiliate Audits – Best Practice": advertiser-facing guidance for auditing affiliate program standards and compliance.

## EU - UCPD 2005/29/EC

- Annex I, point 11: using editorial content to promote a product where a trader has paid, without making that clear in the content or by clearly identifiable images or sounds ("advertorial"), is blacklisted. It is unfair per se, with no case-by-case consumer-impact test once the elements are met.
- Article 7(2): failing to identify the commercial intent of a practice, where it is not apparent from context and likely to change the average consumer's transactional decision, is a misleading omission - the general hidden-advertising hook for ordinary sponsored posts.
- The Commission's 2021 UCPD Guidance attributes breaches to the influencer, the engaging brand, or both; the brand's editorial control is a liability factor, not a precondition. Whether an individual influencer personally counts as a "trader" is fact-specific (organisation, remuneration, scale) - `[COUNSEL]` territory, no bright-line follower threshold exists.

## EU - DSA Article 26

- Article 26(1) obliges platforms to make each ad they present identifiable "in a clear, concise and unambiguous manner and in real time" - a duty on the platform, not the creator.
- Article 26(2) obliges platforms to give users a functionality to declare commercial content, and to show other users a prominent marking once declared. The creator's own duty to disclose comes from national law (UCPD transpositions) and platform terms - the DSA supplies the toggle, not the obligation.
- Practical reading for a review: an unused platform declaration is a red flag; a used one never completes the check on its own.

## Germany - UWG §5a(4)

- Failing to identify the commercial purpose of a practice is unfair, unless the purpose is directly apparent from the circumstances.
- Consideration from a third party is presumed: the poster bears the burden of credibly showing that no payment or similar consideration was received or promised. Treat an undisclosed German-market post as non-compliant by default unless the absence of consideration is affirmatively shown.
- BGH, 9 September 2021 (I ZR 90/20, I ZR 125/20, I ZR 126/20): paid third-party promotion must always be disclosed, however obviously commercial the account looks; unpaid self-promotion on a manifestly commercial account needed no "Werbung" label. The 2022 UWG amendment codified this paid/unpaid distinction.
- The statute protects consumers and "other market participants" - Germany's rule reaches B2B audiences on its own terms.

## France - loi 2023-451 (as amended)

- Mandatory mention: "publicité" or "collaboration commerciale" - or an equivalent adapted to the influence activity and the format - clear, legible, and comprehensible, on every medium used.
- Ordonnance 2024-978 (6 November 2024) amended the 2023 law to align it with the UCPD after European Commission objections, including the commercial-intent-display provisions. Work from the current consolidated text, never the original June 2023 version.
- A missing mention is treated as a deceptive commercial practice under the consumer code; secondary sources report fines up to €300,000 - re-verify before citing any figure.
- Foreign-resident influencers targeting a French audience are in scope.

## Italy - IAP Digital Chart

- Feed posts: the disclosure must be the first piece of information, or within the first three hashtags.
- Videos: disclosure required both in the description and as an on-screen overlay at the video's opening.
- Stories and ephemeral content: disclosure overlaid visibly on the promotional element itself.
- Accepted labels include "pubblicità", "sponsorizzato da [brand]", "adv/ad + brand". Self-promotion of the influencer's own eponymous products is carved out.

## Not covered here

Netherlands and Nordic regimes exist but are not summarized in this skill. For those audiences, flag `[COUNSEL: local-market disclosure rules]` instead of assuming the rules above transfer.
references/us-ftc-standard.md›
# US FTC Standard

Two instruments with different teeth:

- **16 CFR Part 255 (Endorsement Guides)** - interpretive guidance on FTC Act Section 5. No direct civil penalty for a first violation; enforcement runs through Section 5 actions, and penalties attach only after a Notice of Penalty Offenses.
- **16 CFR Part 465 (Rule on the Use of Consumer Reviews and Testimonials)** - a Rule. Violations can draw civil penalties directly, no prior Notice needed. Weight findings under Part 465 as higher severity for this reason.

## Clear and conspicuous - 16 CFR 255.0(f)

A disclosure must be "difficult to miss (i.e., easily noticeable) and easily understandable" by ordinary consumers. Judge these factors:

- Visual: size, contrast, location, and how long it stays on screen; it must stand out from surrounding text and visuals.
- Audible: volume, speed, and cadence sufficient for ordinary consumers to hear and understand.
- Interactive or hyperlinked media: the disclosure must be unavoidable.
- Cross-cutting:
  - Never contradicted or mitigated by other elements of the content.
  - Repeated as needed.
  - "Ordinary consumers" means the actually targeted audience (older adults, non-native speakers).

Call this "the FTC's clear-and-conspicuous standard (16 CFR 255.0(f))". The FTC gives it no brand name - do not invent one.

## Advertiser duties - 16 CFR 255.1(d)

Advertisers are liable for endorsers' misleading statements and for undisclosed material connections. They should:

1. Guide endorsers on truthful claims and on disclosing material connections.
2. Monitor endorser compliance.
3. Remediate non-compliance and prevent recurrence.

Explicitly not a safe harbor - good-faith guidance, monitoring, and remediation reduce enforcement odds; they do not eliminate liability.

## FTC monitoring checklist (from the FTC's Endorsement Guides FAQ)

1. Explain to network members what they can and cannot say about the products.
2. Instruct them on their disclosure responsibilities, including exactly how to disclose.
3. Periodically search for what network members are saying.
4. Act on questionable practices found.

All four steps are duties, not a menu - none is optional because another is cheaper. What _is_ a choice is the approach that satisfies step 3, ranked in SKILL.md § Ranked Choices.

Operating notes, all from the FTC's own FAQ:

- No fixed cadence, no software mandate; monitor only platforms the campaign uses - until problems surface elsewhere, then act on them too.
- Ephemeral content (stories): the FTC's own fallback is pre-approval before posting, because after-the-fact monitoring is impractical.
- Gifted-only relationships still require monitoring the resulting tagged posts, not just sending instructions.
- Delegating to an agency does not shift liability: the company remains responsible for what others do on its behalf - require regular compliance reports.
- Duration rule of thumb: monitor for the contract's length plus a reasonable time after (a few months); no fixed period exists.

## Incentivized reviews - 16 CFR 255.2

- A review that fails to clearly and conspicuously disclose the incentives given to the reviewer is likely deceptive.
- Aggregate-rating trap: even when every incentivized review discloses, the practice can still deceive if those reviews materially raise the displayed average rating - the aggregate rating then needs its own clear-and-conspicuous disclosure.
- Review sites: payment that affects rankings is deceptive regardless of a general "we receive payments" disclosure; affiliate payments that do not affect ranking must still be clearly and conspicuously disclosed.

## Employee endorsements - 16 CFR 255.5

- Employees promoting the employer's product must disclose the employment relationship in the post itself - listing the employer on a profile page is not enough.
- Applies equally to employee reviews on retail sites and review platforms.
- Employer duty scales with encouragement: a policy-only employer must remind employees periodically and act on violations it learns of; an employer that actively encourages reviews becomes responsible for monitoring them, "despite any difficulty in doing so".
- Agency and PR-firm employees promoting a client's product carry a material connection too - the FTC's own suggested line: "My employer is paid to promote [product]", or simply "Ad".

## The Reviews Rule - 16 CFR Part 465

- §465.2 - fake or false consumer and celebrity reviews and testimonials.
- §465.4 - buying positive or negative reviews.
- §465.5 - insider reviews: reviews by officers, managers, employees, or their immediate family without clear and conspicuous disclosure of the relationship. The sharpest hook for employee-advocacy and gift-card-for-a-review programs - direct civil-penalty exposure, unlike Guides-only violations.
- §465.6 - company-controlled review sites presented as independent.
- §465.7 - review suppression, including publishing only positive reviews in a way that distorts the overall impression.
- §465.8 - fake indicators of social-media influence.

## Penalty mechanics

- Civil penalty cap: $53,088 per violation (16 CFR 1.98). The figure adjusts periodically for inflation and adjustments are sometimes skipped, so treat it as a floor and re-verify the current cap before citing it (see below).
- The cap bites only after a company has received a Notice of Penalty Offenses; the endorsement Notice went to over 700 companies on 13 October 2021. First-time Guides violations face case-by-case Section 5 exposure instead.
- Part 465 violations can draw civil penalties directly, without a prior Notice.
- Re-verify every figure before citing it in a report if you can browse the web; otherwise mark it "as of drafting - re-verify".
SKILL.md›
---
name: affiliate-disclosure-compliance
description: Check a specific piece of affiliate or influencer content (caption, video script, transcript, screenshot, or live URL) against disclosure regulations and return a pass/fail compliance review with placement, wording, and per-format fixes. Covers FTC affiliate disclosure (16 CFR 255 and 465), UK CAP/CMA rules, EU UCPD and DSA, and German, French and Italian overlays, pre-publication or already live. Use whenever the user mentions affiliate disclosure, FTC disclosure, paid partnership labeling, sponsored content, ad tags, or a partner post that may be missing or burying its disclosure, even if they never say compliance. Reviews content only - for disclosure clauses inside program terms use mbfinotti/partnerships-skills@affiliate-program-terms.
license: MIT
metadata:
  author: Maya-Beth Finotti
  version: "1.1.8"
---

# Affiliate Disclosure Compliance

Check one piece of affiliate or influencer content against disclosure regulations and return a compliance review: pass/fail per requirement, with placement, wording, and per-format fixes. Built for program managers reviewing partner and creator content before publication, and remediating what is already live. The legal basis is the FTC's clear-and-conspicuous standard (16 CFR 255.0(f)), CAP Code rule 2.1, the UCPD, and national overlays; the checklist itself is this skill's own working tool, not an official named framework.

## A Compliance Review, Not Legal Advice

1. State before reviewing anything: "This is a compliance review against published regulator rules, not legal advice. Counsel owns the legal call; this review finds what counsel and regulators would find."
2. Mark every counsel-grade ambiguity inline with `[COUNSEL: <question>]`, attached to the affected finding, never pooled at the end of the report.
3. Always escalate: whether the poster is a "trader" under EU law, regulated verticals (health, finance, alcohol, gambling), children's audiences, active regulator contact, and any market not covered by the references.
4. Repeat the disclaimer with the delivered report; instruct the user to keep every marker until counsel resolves it.

Ambiguity flagged inline stays attached to the evidence that raised it; a footer disclaimer gets skimmed past and the nuance is lost.

## Interview

Ask one question per message; offer multiple-choice answers; skip anything already answered or evident from the artefact.

- Which jurisdictions is the audience in? US / UK / EU, and which member states (Germany, France, Italy, other)?
- Content format? Short-form video / livestream / story or ephemeral / static image post / long-form video / podcast or audio / blog or review article / newsletter or email / affiliate roundup or comparison page.
- Which platform(s) will it run on?
- Relationship type? Paid post / affiliate-commission-only / gifted product / unpaid ambassador / employee or insider / agency-intermediated.
- B2B or B2C audience, or both?
- Pre-publication, or already live? Live shifts the output toward remediation.
- What artefact do you actually have? Caption text / script / transcript / URL / screenshot / the rendered post.
- By when must the result land? A scheduled publish date / a live violation already earning impressions / no fixed date.
- One-off or compounding? Clear this asset only, or also stand up monitoring and a wording bank that keep clearing assets.
- Effort ceiling? Hours available per review cycle, whether anyone can gate publication, and whether the program terms already back withholding commission or terminating a partner.

Re-rank the menus in Ranked Choices against the last three answers, and name the move out loud:

- A live violation still earning impressions promotes the fastest remediation rung.
- A compounding mandate promotes the wording bank and the pre-publication gate.
- A ceiling of a few hours per cycle deletes the full-roster review and every rung the program terms do not already back.

## Review Workflow

1. Deliver the not-legal-advice statement, then run the Interview.
2. Confirm scope: this skill reviews content. Drafting program terms, briefs, or contract clauses belongs to sibling skills (see Reference).
3. Inspect the artefact. If you can view images or fetch the URL, review the rendered asset exactly as a viewer meets it. Otherwise review the provided text and mark visual/audio checks "not assessable from the artefact provided": never guess what the frame shows.
4. Load the jurisdiction references for every market the interview surfaced: [references/us-ftc-standard.md](references/us-ftc-standard.md), [references/uk-and-eu-rules.md](references/uk-and-eu-rules.md).
5. If you can browse the web, re-verify penalty figures and regulator guidance before citing them: caps are inflation-adjusted and guidance gets revised. Otherwise label each figure "as of drafting, re-verify".
6. Run the six-layer check below for every applicable jurisdiction.
7. Write the per-asset report: verdict, findings with cited rules, one concrete rewritten fix per failure. Shape below; worked examples in [references/review-report-example.md](references/review-report-example.md).
8. For already-live content, add a remediation plan built from the Remediation Ladder below: the rung chosen per asset, the order across assets, and a note that 16 CFR 255.1(d) states advertisers _should_ remediate non-compliance they know of. Write it as the FTC's stated expectation, never as a standalone statutory duty, since Part 255 is interpretive guidance and not a safe harbour: the enforceable exposure runs through FTC Act Section 5. Attach `[COUNSEL]` if the user intends to assert the obligation to a partner.
9. Flag genuinely unsettled points with `[COUNSEL]` instead of asserting an answer.
10. Recommend one monitoring approach and one guidance route from Ranked Choices when the interview shows the program has neither: name the rung above the recommendation and the condition that promotes it.
11. Iterate until the completeness threshold in Measurement passes.
12. If your harness has persistent memory, memorize the program's jurisdiction set, approved wording bank, and each partner's recurring failures: later reviews start faster and repeat offenders surface. Otherwise ask the user to keep the report for the next review.

## The Six-Layer Check

Judge each layer per jurisdiction; a single fail on any layer fails the asset.

These six layers are gates, not a menu: they carry no efficiency ranking and never will. A legal disclosure obligation is not a trade-off; never run the two highest-ratio layers, skip the rest, and call the asset reviewed.

No layer has a discounted version that partially passes, and no cheaper check anywhere in this skill substitutes for one. Rank the delivery choices around the review (see Ranked Choices); never the obligations themselves.

1. **Presence**: does any disclosure exist? Any material connection triggers the duty: payment, commission, free product, free trial, employment, family relationship. A gift is not an exemption.
2. **Wording**: is the label unambiguous? Check against [references/disclosure-wording.md](references/disclosure-wording.md). "#ad", "advertising", "paid partnership with [brand]" pass; "#sp", "#collab", "ambassador", "thanks to [brand]" fail.
3. **Placement and prominence**: apply the 16 CFR 255.0(f) factors, judged separately for visual, audible, and interactive media, and always uncontradicted by anything else in the content. See [references/us-ftc-standard.md](references/us-ftc-standard.md) for the factor breakdown per media type.
4. **Per-format requirements**: check the format's row in [references/format-placement-rules.md](references/format-placement-rules.md): in-video and spoken for video, periodic repeats for livestreams, overlays for stories, link-adjacent disclosure for roundups.
5. **Truncation and portability**: does the disclosure survive the caption "more" cut, embeds, screenshots, and cross-posts? A platform-native paid-partnership label alone is never sufficient: FTC and CMA both say so, and the label itself may not travel off-platform.
6. **Jurisdiction overlays**: Germany's rebuttable payment presumption, France's mandatory "publicité"/"collaboration commerciale" mention, Italy's Digital Chart format rules, the CMA's accepted-label list. See [references/uk-and-eu-rules.md](references/uk-and-eu-rules.md).

## Ranked Choices: Monitoring, Guidance, Remediation

Three genuine menus sit around the obligations above:

- How assets reach this review.
- How the rules reach partners.
- How a live violation gets cured.

Each is ranked by value per unit of effort: effort meaning monitoring hours, tooling setup, coordination, relationship capital, and reversibility. Read every axis line as descending on that axis: highest value, highest effort, highest compliance cost first. The efficiency line is the recommended order of attack.

Every ranking below is a default, not a law. It shifts with context and with who executes it, so re-rank before recommending a rung:

- Re-rank when the affiliate network enforces disclosure centrally: its own scan and terms already cover rungs the program would otherwise build.
- Re-rank when the roster is too large to monitor asset-by-asset: sampling and automation move up, per-asset review moves down.
- Re-rank when the vertical is regulated (health, finance, alcohol, gambling) or a regulator has made contact: the highest-value rung wins regardless of effort.
- Re-rank against the Interview's timing, compounding, and effort-ceiling answers, and say which answer moved which rung.

### Monitoring coverage: which assets reach this review

Monitoring is not optional; which approach delivers it is. 16 CFR 255.1(d) and the CMA's brand-side duty both require it, and no rung below discharges that duty on its own.

- efficiency: risk-weighted spot-check > pre-publication gate on ephemeral and video > automated label scan > partner self-attestation > full-roster review
- value (violations caught before an audience or a regulator sees them): pre-publication gate > full-roster review > risk-weighted spot-check == automated label scan > partner self-attestation
- effort: full-roster review > pre-publication gate > automated label scan > risk-weighted spot-check > partner self-attestation
- compliance cost: automated label scan > pre-publication gate > partner self-attestation > risk-weighted spot-check == full-roster review

Effort in magnitudes:

- Self-attestation and spot-checks: near-zero per asset once running.
- Automated label scan: about a week to set up and tune.
- Pre-publication gate and full-roster review: standing jobs.

- Default to the risk-weighted spot-check: newest partners, highest earners, regulated claims, formats that failed before, with self-attestation underneath it as the paper trail.
- Promote the pre-publication gate for ephemeral and video content: the FTC's own fallback, because a story vanishes before any after-the-fact review reaches it.
- Justify the value tie: a scan reads many assets shallowly (label text only), a spot-check reads few assets fully (placement, prominence, truncation), different routes to a comparable share of real violations.
- Read the compliance-cost line as the review triggered and the reversibility spent: a scan needs a platform-terms review before it crawls, and a gate or attestation clause needs a program-terms amendment and partner notice. Reading published content, whether spot-check or full roster, needs neither - which is what ties those two.
- Never let self-attestation stand as the monitoring itself. A partner who misunderstood the rule attests in good faith and still fails; the FTC asks for a search of what partners are saying, not a collection of their promises.
- What this order starves: the full-roster review, high on value and high on effort, loses every round. Promote it when a regulator has made contact, when the vertical is regulated, or when the same partner fails twice.
- Delete the automated label scan when the campaign's disclosures are spoken or on-screen: a text scan cannot see them, rather than leaving it ranked at the bottom.

### Getting the rules to partners

- efficiency: approved wording bank > corrected line in the review reply > per-format one-pager in the partner portal > live training or office hours
- value (share of the roster that discloses correctly without being told): approved wording bank > per-format one-pager > live training > corrected line in the review reply
- effort: live training > per-format one-pager > approved wording bank > corrected line in the review reply

Effort in magnitudes:

- Corrected line in the review reply: near-zero.
- Approved wording bank: about an hour to adapt.
- Per-format one-pager: about a week of writing and portal work.
- Live training: a standing job.

- Default to the wording bank: adapt [references/disclosure-wording.md](references/disclosure-wording.md) into the program's own approved lines, one per format the campaign runs.
- Ship the corrected line with every failing finding regardless: the report shape already requires it, and it feeds the bank.
- What this order starves: live training, the only rung that catches a partner's misunderstanding before it reaches an asset. Promote it when the roster is small and concentrated, or when the same failure recurs across partners after the bank shipped.
- Delete the live-training rung for a self-serve roster that never meets the program team: a session nobody attends is not distribution.
- Hand the drafting of terms clauses and brief language to the sibling skills in Reference; this skill only picks the delivery route for rules it already checked.

### Remediation ladder for a live violation

Curing the violation is mandatory; which rung cures it is the choice. Ranked for one non-compliant live asset.

- efficiency: edit the disclosure into the live asset > re-publish a corrected version and remove the original > take the asset down > pause commission on that asset's links until fixed > terminate the partner
- value (undisclosed exposure removed, recurrence prevented): re-publish corrected == take down > edit in place > pause commission > terminate
- effort: terminate > pause commission > take down > re-publish corrected > edit in place
- compliance cost: terminate > pause commission > take down > re-publish corrected > edit in place

Effort in magnitudes:

- Edit in place: a message and a minute.
- Re-publish a corrected version: about an hour, plus the asset's earned reach.
- Takedown or payment hold: spends relationship capital and is hard to walk back.
- Terminate and replace the partner: about a quarter.

- Default to editing in place, and escalate one rung whenever the format's own rule puts the disclosure inside the content.
- Justify the value tie: both fully remove the non-compliant version from the audience; re-publishing also keeps the campaign's reach, which is why it wins on efficiency at equal value.
- Read the compliance-cost line as the review triggered and the reversibility spent: withholding commission or terminating needs a program-terms clause behind it and counsel's read, a takedown needs the partner's cooperation, and an edit reverses freely.
- Never offer a lower rung as a cure the format does not allow: a caption edit cannot fix a video whose spoken and on-screen disclosure is missing; only a re-publish reaches it.
- Never let termination stand in for remediation. Removing the partner leaves the undisclosed asset live; pair it with a takedown or the exposure outlives the relationship.
- What this order starves: re-recording long-form video, high on value and high on effort, always loses to a caption edit. Promote it whenever the failing layer is per-format placement rather than wording.
- Delete the payment-hold rung when the program terms carry no withholding clause: withholding without one is a contract dispute, not a remediation. Attach `[COUNSEL]` before recommending it.
- Order a multi-asset plan by exposure: assets still earning impressions first, then the highest-reach asset, then the rest.

## Output Shape

Per asset: a header (asset, format, platform, relationship, jurisdictions, B2B/B2C, pre-publication or live), a check table (requirement | pass/fail | evidence | rule | fix), and an overall verdict: PASS, FAIL, or PASS WITH `[COUNSEL]` ITEMS. Every failing row carries a rewritten, ready-to-paste fix, not just a critique.

Live content adds a prioritized remediation section. Full positive and negative examples: [references/review-report-example.md](references/review-report-example.md).

## Common Failure Modes

| Failure                                                                                | Why it fails                                                                                                                  | Fix                                                                   |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Disclosure below the fold or behind the "more" cut                                     | FTC: disclosures needing a click on MORE are likely missed; CMA: no scrolling required                                        | Move the label into the first visible line                            |
| Ambiguous tags: #sp, #spon, #collab, #ambassador, vague "partner", "thanks to [brand]" | Viewers can't decode the commercial relationship; regulators reject them                                                      | Replace with "#ad" or "paid partnership with [brand]"                 |
| Disclosure in bio or profile only                                                      | Viewers of one post never open the profile; FTC calls these likely missed                                                     | Disclose inside every commercial post itself                          |
| Gifted product treated as a loophole                                                   | Free product is a material connection, same as payment                                                                        | Disclose the gift: "[brand] sent me this for free"                    |
| Platform's native label relied on alone                                                | FTC: platform tools are "no guarantee"; CMA accepts them only if clearly visible; labels can vanish in embeds and screenshots | Keep the label and add the partner's own written or spoken disclosure |
| Video disclosure only in the description                                               | FTC: the disclosure belongs in the video, not just the description                                                            | On-screen overlay plus a spoken line at the start                     |
| Livestream disclosed once at the start                                                 | Mid-stream joiners never hear it; FTC requires periodic repetition                                                            | Repeat verbally at regular intervals and at segment changes           |
| Roundup disclosure separated from the links                                            | FTC: readers must see the disclosure and the link at the same time                                                            | Put "paid link" or a commission line adjacent to each link block      |

Every row is the mandatory correction of one specific failure, not a rung in a ladder: no cheaper variant of any fix passes, and the rows are never traded off against each other. The choices this skill does rank live in Ranked Choices.

## Measurement

Program KPIs:

- First-pass rate: share of assets passing on first review. Sustained below 80% signals an upstream defect: fix the brief and the onboarding, not just the assets.
- Time-to-remediation: for live violations, request the fix within 24 hours of the finding; track days until resolved.
- Roster coverage: share of active partners with at least one asset reviewed per period, measured against the monitoring approach chosen in Ranked Choices. An unreviewed partner is unmonitored risk under 16 CFR 255.1(d).

Review completeness threshold: iterate on the review until all four hold:

- Every applicable check carries an explicit pass or fail; unverifiable checks say "not assessable", never silence.
- Every fail cites a specific rule and carries a concrete rewritten fix.
- Every unsettled point carries a `[COUNSEL]` marker.
- Every jurisdiction the interview surfaced was checked, not just the home market.

## Invocation Examples

- "Check this caption for our affiliate's photo post: US and UK audience, commission-only relationship, goes live tomorrow."
- "Review this video script for FTC disclosure compliance: paid sponsorship, B2B SaaS audience."
- "This post is already live: <URL>. Gifted product, French audience: is the disclosure compliant, and what do we fix first?"

## Reference

- See [references/us-ftc-standard.md](references/us-ftc-standard.md) for the US layer: 255.0(f) factors, advertiser duties, incentivized and insider reviews, penalty mechanics.
- See [references/uk-and-eu-rules.md](references/uk-and-eu-rules.md) for UK, EU, German, French, and Italian rules.
- See [references/format-placement-rules.md](references/format-placement-rules.md) for the per-format placement table with the regulator behind each rule.
- See [references/disclosure-wording.md](references/disclosure-wording.md) for accepted vs rejected labels and ready-to-use compliant lines, including B2B variants.
- See [references/b2b-vs-b2c-contrast.md](references/b2b-vs-b2c-contrast.md) for what is identical across B2B and B2C and what differs.
- See [references/review-report-example.md](references/review-report-example.md) for one full worked review and one review done badly.
- See `mbfinotti/partnerships-skills@affiliate-program-terms` to write the disclosure obligation into the program terms: this skill only checks content against the rules.
- See `mbfinotti/partnerships-skills@influencer-campaign-brief` to put disclosure requirements into the campaign brief: this skill checks the content that brief produced.
- See `mbfinotti/partnerships-skills@affiliate-onboarding-sequence` for where partners first learn the disclosure rules this skill later enforces.
- See `mbfinotti/partnerships-skills@affiliate-fraud-detection` for traffic and commission fraud: a different problem entirely; a perfectly disclosed post can still carry fraudulent traffic.