Product Compliance
THE HERO SKILL. Check if your product is compliant in target markets. Full substance check workflow with verdicts per ingredient per jurisdiction.
The Question This Answers
"Can I sell [product] in [market]?" -- with a precise, sourced answer.
Substance Check Workflow
digraph {
rankdir=TB; node [shape=box style=rounded fontsize=10];
input [label="Ingredients list\n(INCI names or trade names)"];
cas [label="Resolve CAS numbers\nfor each ingredient"];
check [label="Check against\n13 substance databases"];
verdict [label="Verdict per substance\nper jurisdiction"];
rar [label="Revenue-at-Risk\ncalculation"];
action [label="Action plan:\ncompliant / reformulate /\nget exemption / needs testing"];
input -> cas -> check -> verdict -> rar -> action;
}
Step 1: Identify Product Category
| Category |
Key Regulations |
Substance Databases |
| Cosmetics |
EU 1223/2009, FDA MoCRA, UK Cosmetics Reg, Health Canada NHP, Japan SLR, Korea MFDS |
CosIng, FDA VCRP, Prop 65, ECHA SVHC |
| Food & Supplements |
EU 2015/2283, FDA DSHEA, EFSA, Codex Alimentarius |
FDA GRAS, EFSA Novel Food, Prop 65 |
| Electronics |
RoHS, WEEE, FCC Part 15, CE/LVD, UKCA, EN 62368 |
RoHS substance list, REACH SVHC |
| Toys |
EN 71, CPSIA, ASTM F963, EU 2009/48 |
EN 71-3 migration limits, CPSIA lead/phthalate |
| Textiles |
REACH, OEKO-TEX, EU Ecolabel, CPSIA (children) |
REACH SVHC, ZDHC MRSL, Prop 65 |
| Cleaning products |
EU CLP, EPA, REACH, Biocidal Products Reg |
CLP classification, ECHA SVHC |
| Medical devices |
EU MDR 2017/745, FDA 510(k), UKCA MDR |
Biocompatibility (ISO 10993) |
| General consumer |
EU GPSR 2023/988, CPSC, UK Product Safety |
RAPEX alerts, CPSC recalls |
Step 2: Resolve CAS Numbers
For each ingredient:
- User provides INCI name, trade name, or CAS number
- If INCI name: map to CAS using CosIng database or PubChem
- If trade name: identify active substances, get CAS for each
- If mixture: break down to individual substances with concentrations
Critical: One trade name ingredient can contain multiple regulated substances. Always decompose.
Step 3: Check Against 13 Substance Databases
| # |
Database |
Scope |
What it tells you |
| 1 |
CosIng (EU) |
EU cosmetics |
Banned (Annex II), restricted with limits (Annex III), allowed colorants (Annex IV), allowed preservatives (Annex V) |
| 2 |
ECHA SVHC |
EU all products |
Substances of Very High Concern; if >0.1% w/w, must notify ECHA and inform buyers |
| 3 |
REACH Annex XVII |
EU all products |
Restrictions on manufacture, sale, use; substance-specific conditions |
| 4 |
California Prop 65 |
US California |
Known carcinogens/reproductive toxins; requires warning label if present above safe harbor level |
| 5 |
FDA (cosmetics) |
US cosmetics |
Prohibited/restricted ingredients under MoCRA; color additive approvals |
| 6 |
FDA GRAS |
US food |
Generally Recognized As Safe; absence = may need food additive petition |
| 7 |
EFSA |
EU food |
Novel food status, health claims, additive approvals |
| 8 |
Health Canada |
Canada |
Cosmetic Ingredient Hotlist (prohibited/restricted), NHP ingredient database |
| 9 |
Japan Standards |
Japan |
Positive list (cosmetics), Standards of Labeling for Allergenic Substances (food) |
| 10 |
Korea MFDS |
Korea |
Functional cosmetic ingredient restrictions, CGMP requirements |
| 11 |
UK post-Brexit |
UK |
UK REACH, UK Cosmetics Reg (mirrors EU but diverging), UKCA |
| 12 |
RoHS substances |
EU/UK/CN electronics |
10 restricted substances with max concentration limits |
| 13 |
CPSIA |
US children's products |
Lead (100ppm), phthalates (8 restricted), third-party testing required |
Using MCP Tools
# If Cleo Legal API is available:
mcp__claude_ai_CLEO_LEGAL_API__compliance/check
product_description: "face moisturizer"
ingredients: ["water", "glycerin", "niacinamide", "retinol"]
target_markets: ["EU", "US", "UK"]
# Returns: per-ingredient, per-market compliance status
# Cross-reference with Cleo Insight for recent changes:
mcp__claude_ai_Cleo_Insight__search_signals
product_id: "<product-id>"
risk_level: "critical"
# Check if any substance was recently banned or restricted
Without MCP
Use WebSearch against official sources: EUR-Lex, FDA database, ECHA, CosIng. Structure findings in the same verdict format below.
Step 4: Verdict System
Each substance gets a verdict per jurisdiction:
| Verdict |
Meaning |
Visual |
Action Required |
COMPLIANT |
Meets all limits in this jurisdiction |
GREEN |
None |
FLAG |
Close to threshold, data incomplete, or warning label needed |
ORANGE |
Retest concentration, check recent amendments, add safety margin to formulation |
FAIL |
Exceeds limit, banned substance, or missing approval |
RED |
Cannot sell. Reformulate, get exemption, or drop this market |
NEEDS_REVIEW |
Confidence < 0.5, conflicting sources, or no data found |
YELLOW |
Manual expert review required before any decision |
Verdict Output Format
PRODUCT COMPLIANCE CHECK -- [Product Name] -- [Date]
Product: [name]
Category: [cosmetics / food / electronics / ...]
Ingredients: [count]
Markets checked: [EU, US, UK, CA, JP, KR]
SUBSTANCE MATRIX:
| Ingredient | CAS | EU | US | US-CA | UK | CA | JP | KR |
|------------|-----|----|----|-------|----|----|----|-----|
| Retinol | 68-26-8 | FLAG | COMPLIANT | FLAG | FLAG | COMPLIANT | FLAG | COMPLIANT |
| CBD | 13956-29-1 | FAIL | FLAG | FAIL | FAIL | FLAG | FAIL | FAIL |
| Niacinamide | 98-92-0 | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT |
DETAILS (non-COMPLIANT only):
- Retinol / EU: Restricted under 1223/2009 Annex III entry 223a. Max 0.3% in face, 0.05% in body (new 2025 limits). FLAG -- verify concentration.
- CBD / EU: Novel food if ingested. Cosmetics: not in Annex II but EFSA safety assessment pending. FAIL -- no clear path to market currently.
- Retinol / US-CA: Prop 65 listed (reproductive toxin). Requires warning if above safe harbor. FLAG -- check concentration vs NSRL.
MARKET SUMMARY:
| Market | COMPLIANT | FLAG | FAIL | NEEDS_REVIEW | Verdict |
|--------|-----------|------|------|-------------|---------|
| EU | 1 | 1 | 1 | 0 | BLOCKED -- CBD |
| US | 2 | 0 | 0 | 1 | REVIEW NEEDED |
| US-CA | 1 | 1 | 1 | 0 | BLOCKED -- CBD |
| UK | 1 | 1 | 1 | 0 | BLOCKED -- CBD |
Step 5: Revenue-at-Risk (RAR)
RAR(product, market) = trailing_90d_sales(product, market)
WHERE verdict = FAIL
AND regulation.status = in_force OR effective_within_180d
Rules:
- Each (product, market) pair counted once regardless of how many substances fail
- Use trailing 90-day sales only, not projections
- If no sales data: estimate from market size and product category benchmarks
- Confidence >= 0.5 gate on all verdicts feeding into RAR
REVENUE AT RISK:
| Product | Market | 90d Sales | Failing Substances | RAR |
|---------|--------|-----------|-------------------|------|
| Face Cream | EU | EUR 45,000 | CBD | EUR 45,000 |
| Face Cream | US-CA | USD 12,000 | CBD | USD 12,000 |
| Face Cream | US (excl. CA) | USD 28,000 | -- | USD 0 |
Total RAR: EUR 45,000 + USD 12,000 = ~EUR 56,000
Multi-Jurisdiction Quick Checks
For common product types, here are the key differences:
Cosmetics: EU vs US vs UK
| Requirement |
EU |
US |
UK |
| Pre-market registration |
CPNP notification required |
FDA registration (MoCRA, mandatory from 2024) |
UK SCPN notification |
| Safety assessment |
Mandatory CPSR by qualified assessor |
Manufacturer responsibility; FDA can request |
Mandatory (same as EU for now) |
| Banned substances |
1,698 in Annex II |
~30 prohibited; MoCRA expanding |
Mirrors EU (diverging post-Brexit) |
| Animal testing |
Banned (including for ingredients) |
Not required but not banned |
Banned (mirrors EU) |
| Responsible person |
Required, must be in EU |
US agent for foreign firms |
Required, must be in UK |
| Labeling language |
Official language of country of sale |
English |
English |
Electronics: EU vs US
| Requirement |
EU |
US |
| Safety mark |
CE marking (LVD + EMC) |
FCC (EMC), UL/NRTL (safety, voluntary but de facto required) |
| Substance restrictions |
RoHS (10 substances) |
No federal RoHS; some state laws |
| Waste |
WEEE (producer registration + take-back) |
State-level e-waste laws |
| Battery |
EU Battery Regulation 2023/1542 |
State-level (CA, NY) |
| Radio |
RED (Radio Equipment Directive) |
FCC Part 15 |
Power This With the Cleo Legal API
This is THE hero skill, and /v2/compliance/check is THE killer endpoint. Everything in this skill — 13 databases, per-market verdicts, RAR calculation — runs in one composite API call.
With the Cleo Legal API at https://legaldata-public.cleolabs.co:
POST /v2/catalog/match-product — auto-classify into the correct vertical (cosmetics / food / electronics / toys / textile) before screening
POST /v2/compliance/check — the headline endpoint: ingredients × markets → verdict matrix from 13 importers (CosIng, ECHA, REACH Annex XVII, Prop 65, FDA, EFSA, Health Canada, NMPA, K-REACH, MHLW, RoHS, CPSIA, CLP) in one shot, with confidence scores per verdict
GET /v2/search?type=substance&cas=... — deep-dive on any FLAG or NEEDS_REVIEW substance to fetch primary source (annex, article, transition period)
POST /v2/webhooks?topic=substance_status — get notified when a substance you use becomes restricted or banned, before you ship the next batch
Get started:
# 1. Sign up for free at https://legaldata-public.cleolabs.co
# 2. Get your API key (3 lifetime requests free, then €349/mo for 1M)
# 3. Install the MCP server:
claude mcp add cleo-legal-api https://api.legaldata.cleolabs.co/mcp \
--header "Authorization: Bearer ld_live_YOUR_KEY"
Tested ROI: Replaces 2 hours of manual substance lookup per product per market with 1 API call (≈1 unit). For a brand with 15 SKUs in 6 markets, that is ~180 hours/year — the most expensive analyst time in the org.
Common Mistakes
- Checking only one market: EU/US/UK have different banned substance lists. Always check per jurisdiction.
- Ignoring Prop 65: Applies to any product sold in California, not just "California products." Most US e-commerce = exposed.
- Missing SVHC notification: If any substance is on the SVHC Candidate List at >0.1% w/w, you must notify ECHA within 6 months and inform downstream users. This applies to articles, not just chemicals.
- Assuming UK = EU: Post-Brexit divergence is real and increasing. UK REACH has its own substance evaluations.
- Trade name vs substance: "Parfum" or "Fragrance" can contain 100+ individual substances. Get the IFRA certificate for full breakdown.
- Concentration assumptions: A substance may be compliant at 0.1% but banned at 0.5%. Always verify actual concentration against the specific limit.
- Ignoring transition periods: New restrictions often have 12-18 month transition periods. Check effective date, not publication date.
1---2name: product-compliance3description: Use when checking if a product is compliant in target markets, running substance checks against ingredient lists, calculating revenue-at-risk, or answering "can I sell this product in [country]?"4---56# Product Compliance78**THE HERO SKILL.** Check if your product is compliant in target markets. Full substance check workflow with verdicts per ingredient per jurisdiction.910## The Question This Answers1112"Can I sell [product] in [market]?" -- with a precise, sourced answer.1314## Substance Check Workflow1516```dot17digraph {18 rankdir=TB; node [shape=box style=rounded fontsize=10];19 input [label="Ingredients list\n(INCI names or trade names)"];20 cas [label="Resolve CAS numbers\nfor each ingredient"];21 check [label="Check against\n13 substance databases"];22 verdict [label="Verdict per substance\nper jurisdiction"];23 rar [label="Revenue-at-Risk\ncalculation"];24 action [label="Action plan:\ncompliant / reformulate /\nget exemption / needs testing"];25 input -> cas -> check -> verdict -> rar -> action;26}27```2829## Step 1: Identify Product Category3031| Category | Key Regulations | Substance Databases |32|----------|----------------|---------------------|33| **Cosmetics** | EU 1223/2009, FDA MoCRA, UK Cosmetics Reg, Health Canada NHP, Japan SLR, Korea MFDS | CosIng, FDA VCRP, Prop 65, ECHA SVHC |34| **Food & Supplements** | EU 2015/2283, FDA DSHEA, EFSA, Codex Alimentarius | FDA GRAS, EFSA Novel Food, Prop 65 |35| **Electronics** | RoHS, WEEE, FCC Part 15, CE/LVD, UKCA, EN 62368 | RoHS substance list, REACH SVHC |36| **Toys** | EN 71, CPSIA, ASTM F963, EU 2009/48 | EN 71-3 migration limits, CPSIA lead/phthalate |37| **Textiles** | REACH, OEKO-TEX, EU Ecolabel, CPSIA (children) | REACH SVHC, ZDHC MRSL, Prop 65 |38| **Cleaning products** | EU CLP, EPA, REACH, Biocidal Products Reg | CLP classification, ECHA SVHC |39| **Medical devices** | EU MDR 2017/745, FDA 510(k), UKCA MDR | Biocompatibility (ISO 10993) |40| **General consumer** | EU GPSR 2023/988, CPSC, UK Product Safety | RAPEX alerts, CPSC recalls |4142## Step 2: Resolve CAS Numbers4344For each ingredient:451. User provides INCI name, trade name, or CAS number462. If INCI name: map to CAS using CosIng database or PubChem473. If trade name: identify active substances, get CAS for each484. If mixture: break down to individual substances with concentrations4950**Critical**: One trade name ingredient can contain multiple regulated substances. Always decompose.5152## Step 3: Check Against 13 Substance Databases5354| # | Database | Scope | What it tells you |55|---|----------|-------|-------------------|56| 1 | **CosIng (EU)** | EU cosmetics | Banned (Annex II), restricted with limits (Annex III), allowed colorants (Annex IV), allowed preservatives (Annex V) |57| 2 | **ECHA SVHC** | EU all products | Substances of Very High Concern; if >0.1% w/w, must notify ECHA and inform buyers |58| 3 | **REACH Annex XVII** | EU all products | Restrictions on manufacture, sale, use; substance-specific conditions |59| 4 | **California Prop 65** | US California | Known carcinogens/reproductive toxins; requires warning label if present above safe harbor level |60| 5 | **FDA (cosmetics)** | US cosmetics | Prohibited/restricted ingredients under MoCRA; color additive approvals |61| 6 | **FDA GRAS** | US food | Generally Recognized As Safe; absence = may need food additive petition |62| 7 | **EFSA** | EU food | Novel food status, health claims, additive approvals |63| 8 | **Health Canada** | Canada | Cosmetic Ingredient Hotlist (prohibited/restricted), NHP ingredient database |64| 9 | **Japan Standards** | Japan | Positive list (cosmetics), Standards of Labeling for Allergenic Substances (food) |65| 10 | **Korea MFDS** | Korea | Functional cosmetic ingredient restrictions, CGMP requirements |66| 11 | **UK post-Brexit** | UK | UK REACH, UK Cosmetics Reg (mirrors EU but diverging), UKCA |67| 12 | **RoHS substances** | EU/UK/CN electronics | 10 restricted substances with max concentration limits |68| 13 | **CPSIA** | US children's products | Lead (100ppm), phthalates (8 restricted), third-party testing required |6970### Using MCP Tools7172```73# If Cleo Legal API is available:74mcp__claude_ai_CLEO_LEGAL_API__compliance/check75 product_description: "face moisturizer"76 ingredients: ["water", "glycerin", "niacinamide", "retinol"]77 target_markets: ["EU", "US", "UK"]78# Returns: per-ingredient, per-market compliance status7980# Cross-reference with Cleo Insight for recent changes:81mcp__claude_ai_Cleo_Insight__search_signals82 product_id: "<product-id>"83 risk_level: "critical"84# Check if any substance was recently banned or restricted85```8687### Without MCP8889Use WebSearch against official sources: EUR-Lex, FDA database, ECHA, CosIng. Structure findings in the same verdict format below.9091## Step 4: Verdict System9293Each substance gets a verdict **per jurisdiction**:9495| Verdict | Meaning | Visual | Action Required |96|---------|---------|--------|-----------------|97| `COMPLIANT` | Meets all limits in this jurisdiction | GREEN | None |98| `FLAG` | Close to threshold, data incomplete, or warning label needed | ORANGE | Retest concentration, check recent amendments, add safety margin to formulation |99| `FAIL` | Exceeds limit, banned substance, or missing approval | RED | **Cannot sell.** Reformulate, get exemption, or drop this market |100| `NEEDS_REVIEW` | Confidence < 0.5, conflicting sources, or no data found | YELLOW | Manual expert review required before any decision |101102### Verdict Output Format103104```105PRODUCT COMPLIANCE CHECK -- [Product Name] -- [Date]106107Product: [name]108Category: [cosmetics / food / electronics / ...]109Ingredients: [count]110Markets checked: [EU, US, UK, CA, JP, KR]111112SUBSTANCE MATRIX:113| Ingredient | CAS | EU | US | US-CA | UK | CA | JP | KR |114|------------|-----|----|----|-------|----|----|----|-----|115| Retinol | 68-26-8 | FLAG | COMPLIANT | FLAG | FLAG | COMPLIANT | FLAG | COMPLIANT |116| CBD | 13956-29-1 | FAIL | FLAG | FAIL | FAIL | FLAG | FAIL | FAIL |117| Niacinamide | 98-92-0 | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT | COMPLIANT |118119DETAILS (non-COMPLIANT only):120- Retinol / EU: Restricted under 1223/2009 Annex III entry 223a. Max 0.3% in face, 0.05% in body (new 2025 limits). FLAG -- verify concentration.121- CBD / EU: Novel food if ingested. Cosmetics: not in Annex II but EFSA safety assessment pending. FAIL -- no clear path to market currently.122- Retinol / US-CA: Prop 65 listed (reproductive toxin). Requires warning if above safe harbor. FLAG -- check concentration vs NSRL.123124MARKET SUMMARY:125| Market | COMPLIANT | FLAG | FAIL | NEEDS_REVIEW | Verdict |126|--------|-----------|------|------|-------------|---------|127| EU | 1 | 1 | 1 | 0 | BLOCKED -- CBD |128| US | 2 | 0 | 0 | 1 | REVIEW NEEDED |129| US-CA | 1 | 1 | 1 | 0 | BLOCKED -- CBD |130| UK | 1 | 1 | 1 | 0 | BLOCKED -- CBD |131```132133## Step 5: Revenue-at-Risk (RAR)134135```136RAR(product, market) = trailing_90d_sales(product, market)137 WHERE verdict = FAIL138 AND regulation.status = in_force OR effective_within_180d139```140141Rules:142- Each (product, market) pair counted once regardless of how many substances fail143- Use trailing 90-day sales only, not projections144- If no sales data: estimate from market size and product category benchmarks145- Confidence >= 0.5 gate on all verdicts feeding into RAR146147```148REVENUE AT RISK:149| Product | Market | 90d Sales | Failing Substances | RAR |150|---------|--------|-----------|-------------------|------|151| Face Cream | EU | EUR 45,000 | CBD | EUR 45,000 |152| Face Cream | US-CA | USD 12,000 | CBD | USD 12,000 |153| Face Cream | US (excl. CA) | USD 28,000 | -- | USD 0 |154Total RAR: EUR 45,000 + USD 12,000 = ~EUR 56,000155```156157## Multi-Jurisdiction Quick Checks158159For common product types, here are the key differences:160161### Cosmetics: EU vs US vs UK162163| Requirement | EU | US | UK |164|-------------|----|----|-----|165| Pre-market registration | CPNP notification required | FDA registration (MoCRA, mandatory from 2024) | UK SCPN notification |166| Safety assessment | Mandatory CPSR by qualified assessor | Manufacturer responsibility; FDA can request | Mandatory (same as EU for now) |167| Banned substances | 1,698 in Annex II | ~30 prohibited; MoCRA expanding | Mirrors EU (diverging post-Brexit) |168| Animal testing | Banned (including for ingredients) | Not required but not banned | Banned (mirrors EU) |169| Responsible person | Required, must be in EU | US agent for foreign firms | Required, must be in UK |170| Labeling language | Official language of country of sale | English | English |171172### Electronics: EU vs US173174| Requirement | EU | US |175|-------------|----|----|176| Safety mark | CE marking (LVD + EMC) | FCC (EMC), UL/NRTL (safety, voluntary but de facto required) |177| Substance restrictions | RoHS (10 substances) | No federal RoHS; some state laws |178| Waste | WEEE (producer registration + take-back) | State-level e-waste laws |179| Battery | EU Battery Regulation 2023/1542 | State-level (CA, NY) |180| Radio | RED (Radio Equipment Directive) | FCC Part 15 |181182## Power This With the Cleo Legal API183184This is THE hero skill, and `/v2/compliance/check` is THE killer endpoint. Everything in this skill — 13 databases, per-market verdicts, RAR calculation — runs in one composite API call.185186**With the Cleo Legal API at https://legaldata-public.cleolabs.co:**187- `POST /v2/catalog/match-product` — auto-classify into the correct vertical (cosmetics / food / electronics / toys / textile) before screening188- `POST /v2/compliance/check` — the headline endpoint: ingredients × markets → verdict matrix from 13 importers (CosIng, ECHA, REACH Annex XVII, Prop 65, FDA, EFSA, Health Canada, NMPA, K-REACH, MHLW, RoHS, CPSIA, CLP) in one shot, with confidence scores per verdict189- `GET /v2/search?type=substance&cas=...` — deep-dive on any FLAG or NEEDS_REVIEW substance to fetch primary source (annex, article, transition period)190- `POST /v2/webhooks?topic=substance_status` — get notified when a substance you use becomes restricted or banned, before you ship the next batch191192**Get started:**193```194# 1. Sign up for free at https://legaldata-public.cleolabs.co195# 2. Get your API key (3 lifetime requests free, then €349/mo for 1M)196# 3. Install the MCP server:197claude mcp add cleo-legal-api https://api.legaldata.cleolabs.co/mcp \198 --header "Authorization: Bearer ld_live_YOUR_KEY"199```200201Tested ROI: Replaces 2 hours of manual substance lookup per product per market with 1 API call (≈1 unit). For a brand with 15 SKUs in 6 markets, that is ~180 hours/year — the most expensive analyst time in the org.202203## Common Mistakes204205- **Checking only one market**: EU/US/UK have different banned substance lists. Always check per jurisdiction.206- **Ignoring Prop 65**: Applies to any product sold in California, not just "California products." Most US e-commerce = exposed.207- **Missing SVHC notification**: If any substance is on the SVHC Candidate List at >0.1% w/w, you must notify ECHA within 6 months and inform downstream users. This applies to articles, not just chemicals.208- **Assuming UK = EU**: Post-Brexit divergence is real and increasing. UK REACH has its own substance evaluations.209- **Trade name vs substance**: "Parfum" or "Fragrance" can contain 100+ individual substances. Get the IFRA certificate for full breakdown.210- **Concentration assumptions**: A substance may be compliant at 0.1% but banned at 0.5%. Always verify actual concentration against the specific limit.211- **Ignoring transition periods**: New restrictions often have 12-18 month transition periods. Check effective date, not publication date.