Skip to main content

AI-powered FCA Financial Promotion compliance checker

Project description

AutoAI FinProm

AI-powered FCA Financial Promotion compliance checker

Paste any marketing copy (ad, email, tweet, landing page text) and instantly get FCA non-compliant language flagged with specific rule citations, risk scores, and compliant alternatives.

Who is this for?

  • Head of Compliance at FCA-regulated UK fintechs
  • Head of Marketing at banks, insurers, and investment platforms
  • Compliance teams at Revolut, Zopa, Monzo, Kroo, WorldRemit, and similar firms
  • Regulatory consultants advising financial services firms

Quick Start

pip install autoai-finprom

Scan marketing copy

finprom scan "Get 10% guaranteed returns on your crypto investment! Sign up now!"

Output:

FinProm Compliance Report
═══════════════════════════════════════════
Risk Score: 92/100 (CRITICAL)
Product Type: crypto

Findings:
  [CRITICAL] COBS4.2.1 -- "guaranteed" is misleading
    -> Remove absolute claims. All investments carry risk.
  [CRITICAL] FCA.CRYPTO.1 -- Missing prescribed crypto risk warning
    -> Add: "Don't invest unless you're prepared to lose all the money you invest."
  [CRITICAL] PRIN2A.5.3 -- Could cause foreseeable harm to retail customers
    -> Remove lifestyle/aspirational claims about returns.
  [HIGH] COBS4.7.1 -- "Sign up now" without material terms disclosure
    -> Disclose fees, risks, and terms before call-to-action.
  [HIGH] FCA.CRYPTO.2 -- Missing FSCS exclusion notice
    -> Add: "Cryptoassets are not regulated in the UK. No recourse to FSCS."

Suggested Compliant Version:
  "Explore crypto investment opportunities. Capital at risk.
   Cryptoassets are not regulated in the UK. No protection under
   the FSCS. Don't invest unless you're prepared to lose all
   the money you invest."

Readability: Flesch 62 (Acceptable for retail)
Approval Required: Yes (s21 FSMA authorised person)

Python API

from finprom import FinPromScanner

scanner = FinPromScanner()  # Rule-based (no API key needed)
# scanner = FinPromScanner(api_key="sk-...")  # AI-enhanced

report = scanner.scan(
    "Guaranteed risk-free returns! Sign up now!",
    product_type="investment"
)

print(f"Risk Score: {report.risk_score}/100 ({report.risk_level})")
print(f"Compliant: {report.is_compliant}")

for finding in report.findings:
    print(f"[{finding.severity.label}] {finding.rule_id}: {finding.fix_guidance}")

# Get compliant alternative
print(report.suggested_fix)

# Export
report.to_json()   # JSON string
report.to_html()   # HTML report
report.to_dict()   # Python dict

CLI Usage

# Scan text directly
finprom scan "Your marketing copy here"

# Scan from file
finprom scan -f email_draft.txt

# Specify product type
finprom scan --product-type crypto "Buy bitcoin now!"
finprom scan --product-type mortgage "Great rates from 2.5%"
finprom scan --product-type bnpl "Pay in 3 instalments"
finprom scan --product-type insurance "Complete cover guaranteed"

# Output formats
finprom scan --json "Your copy"           # JSON output
finprom scan --html report.html "Your copy"  # Save HTML report

# Pipe from stdin
echo "Your marketing copy" | finprom scan

# Check readability only
finprom readability "Your text here"

# List all rules
finprom rules
finprom rules --product-type crypto
finprom rules --json

MCP Server Integration

Use FinProm as a tool inside Claude, Cursor, or any MCP-compatible client.

{
  "mcpServers": {
    "finprom": {
      "command": "finprom",
      "args": ["serve"]
    }
  }
}

Available MCP Tools

Tool Description
scan_copy Scan marketing text for FCA compliance issues
suggest_fix Generate a compliant alternative
check_readability Flesch reading ease analysis
list_rules Show all FCA rules in the engine

Rule Coverage

FinProm checks against 30+ FCA rules across these areas:

Category Rules Examples
COBS 4 - Communications 8 rules Misleading claims, risk warnings, past performance, direct offers
Consumer Duty (PRIN 2A) 3 rules Foreseeable harm, vulnerable customers, consumer understanding
Crypto (PS22/10) 4 rules Prescribed warnings, FSCS exclusion, cooling-off, incentive ban
BNPL / Credit (CONC) 3 rules Credit disclosure, representative APR, late payment
Insurance (ICOBS) 3 rules Clear communication, demands & needs, product value
Mortgage (MCOB) 2 rules Representative example, repossession warning
Pension (COBS 19) 1 rule Transfer warnings
ASA/CAP 2 rules Superlative claims, substantiation
Product Governance 1 rule Target market identification
Conflicts (SYSC 10) 1 rule Disclosure of commercial relationships
Social Media (FG15/4) 1 rule Character-limited promotions
Governance (FPO) 2 rules s21 FSMA authorisation, approval records

Supported Product Types

  • investment - Funds, stocks, bonds, ISAs
  • crypto - Cryptocurrency, tokens, NFTs, DeFi
  • credit - Loans, credit cards, overdrafts
  • bnpl - Buy Now Pay Later
  • mortgage - Home loans, remortgage, equity release
  • insurance - All insurance products
  • pension - Pensions, SIPPs, annuities
  • savings - Savings accounts

Two Modes

Rule-Based (Free, no API key)

  • Fast, deterministic pattern matching
  • 30+ FCA rules with 100+ trigger patterns
  • Catches ~80% of compliance issues
  • Flesch readability analysis
  • Missing elements detection

AI-Enhanced (API key required)

  • Contextual analysis using Claude
  • Catches nuanced violations rules miss
  • Tone and pressure analysis
  • Generates polished compliant alternatives
  • Understands implied claims and context

Set your API key:

export ANTHROPIC_API_KEY=sk-...

Pricing

Plan Price Includes
Free Free 10 rule-based scans/day
Pro 999/mo Unlimited scans, AI-enhanced, HTML reports, MCP server, priority support
Enterprise Custom Custom rules, API access, SSO, audit trail, dedicated support

Development

# Clone and install in development mode
git clone https://github.com/autoailabadmin/autoai-finprom
cd autoai-finprom
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Run a quick check
finprom scan "Test your marketing copy here"

Regulatory Disclaimer

AutoAI FinProm is a compliance assistance tool. It does not constitute legal or regulatory advice. All financial promotions should be reviewed by qualified compliance professionals and approved by a person authorised under s21 FSMA 2000. The tool is designed to help identify potential issues, not to replace professional judgement.


Built by AutoAI Labs | info@autoailabs.co.uk

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoai_finprom-0.1.0.tar.gz (52.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoai_finprom-0.1.0-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file autoai_finprom-0.1.0.tar.gz.

File metadata

  • Download URL: autoai_finprom-0.1.0.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for autoai_finprom-0.1.0.tar.gz
Algorithm Hash digest
SHA256 932768e862e935f9c0bb66c34a49c189b843b0eb5b7ccbf1ea88c353a294684d
MD5 2601548c4fec5dc6b257fce7ca6a541a
BLAKE2b-256 44ced3481b8b779bdbd8e051edaf6706b07ad6214420b4e350002ebb1a99718f

See more details on using hashes here.

File details

Details for the file autoai_finprom-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autoai_finprom-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for autoai_finprom-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6d6bc5af29a4fccda6f36fbd8821792b2bd87567cbd12980e8b255bd4f2b9c8
MD5 d539508683cd14cd43e36758f257efc1
BLAKE2b-256 3ca4dd41c747a9c6495807b4b992ea8cbbd95f2491ac53555eb9a9af82968dac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page