FCA Compliance Software Development for UK Financial Services
Bracket Mind builds FCA compliance software for UK financial services: tools that pre-check financial promotions against the FCA Handbook and flag potential issues for human review. An FCA pre-checker we rescued from a Bolt.new prototype retrieves rules from eight sourcebooks routed by sector, decides severity in code, and records how every result was reached.
Updated
What does FCA compliance software need to get right?
A financial-promotion pre-check is only useful if a compliance officer can trust it: it has to cite the rules that actually govern the product, catch what is missing as well as what is wrong, and never show a pass it has not earned.
Sector comes first. COBS governs designated investment business, so a regulated mortgage advert is judged under MCOB, insurance under ICOBS and consumer credit under CONC. In the FCA pre-checker we rescued, every scan is routed to the sourcebooks for its sector, with PRIN (the Consumer Duty) and PERG (the financial-promotion perimeter) applied to all of them, and citations to rulebooks that don't govern the product are stripped out.
Most real breaches are omissions, so plain code checks for the warnings a promotion has to carry: capital at risk, past performance, the effect of charges on a quoted figure, and the COBS 4.12A prescribed risk warning, word for word. A flag fires only when a warning is required and missing, so the FCA's own prescribed wording is never flagged.
- Financial-promotion pre-checks for adverts, emails, social posts, web pages, brochures and documents
- FCA Handbook ingestion from the JSON the Handbook's own web app loads, one chunk per provision
- Sector routing across COBS, MCOB, ICOBS, CONC, ESG, SUP, PRIN and PERG
- Deterministic checks for required warnings and prescribed wording
- Change detection when the FCA amends a section your rules rely on
- Audit trails that record the rule-pack version, Handbook snapshot and prompt hash
Why not let an LLM decide what's compliant?
Because a compliance tool that grades the same text two ways can't be trusted, and a model's own severity call can change from one run to the next. In the pre-checker, Claude decides only what is wrong and which rule it breaches, which are genuine language judgments. Code decides how serious it is, from a versioned rule pack: the most serious rule cited sets the severity, and a breach of prescribed wording is always high.
The model is also kept away from questions code can answer exactly. Asking the model about exact details such as a firm's FRN flagged them as missing on essentially every scan, so required wording is checked by deterministic code. Claude's output is constrained to a schema and validated, and every rule ID it cites must be in the rule registry or among the provisions retrieved for that scan, so an invented ID is dropped rather than shown as a real provision.
How do you make every result explainable?
Every scan records the rule-pack version, the date of the Handbook snapshot its rules were verified against, a SHA-256 hash of the system prompt, and the Handbook provisions retrieved to ground it. Any past result can be explained months later, and compared fairly with a scan made after a rule change.
When part of a scan fails, the result says so. If retrieval fails, the scan still runs and is labeled as ungrounded; if the model fails, the deterministic findings are still returned, no risk score is invented, and the user's quota is refunded. A result can show a clean verdict only when both the deterministic checks and the model's review ran.
Rules change, so the corpus is checked against its source. Each Handbook section's last-modified date in the FCA's API is stored with the provisions we ingested, and a change checker lists exactly which sections have moved, so only the affected sourcebook is re-ingested.
Accuracy is measured, not asserted. A 34-case labeled eval corpus covers breaches across sectors, genuinely compliant copy, adversarial inputs including prompt injection, and out-of-scope documents, alongside 250+ automated tests. We won't quote an accuracy figure from it until a qualified UK compliance professional has reviewed the cases.
Proof: systems we built
RegTech · AI-Built App RescueProduction
FCA Compliance Scanner
An FCA compliance pre-checker for UK financial promotions — inherited as a Bolt.new prototype that looked finished and wasn't. Now it works, and it says so when it can't.
- Rescued a Bolt.new prototype
- Severity decided in code, not by the model
- 250+ tests on the compliance engine
Founder-built · Read the case study
Questions buyers ask
Can AI check financial promotions against FCA rules?
It can pre-check them, and that is where it helps: flagging wording that may breach a rule, citing the provision and spotting a missing warning. It should not be the final word. In the pre-checker we rescued, Claude flags potential issues, deterministic code checks the required warnings and sets the severity, and the result goes to a person with compliance authority for review.
Do you guarantee FCA compliance?
No, and no software can honestly promise it. Whether a promotion can be published is a judgment for the firm's compliance function, which keeps the sign-off. What we build flags potential issues for that review, cites the rules behind each one, and says plainly when part of a check could not run.
Which FCA sourcebooks can you work with?
The pre-checker we rescued is grounded in eight: COBS 4 and the pension and retirement sections of COBS 19, PRIN 2A on the Consumer Duty, PERG 8 on the financial-promotion perimeter, MCOB 3A for mortgages, ICOBS 2 for insurance, CONC 3 for consumer credit, ESG 4 on anti-greenwashing and SUP 12 for appointed representatives. They are ingested from the JSON the FCA Handbook's own web app loads, one chunk per provision, because a provision is the unit a compliance officer cites. Other sourcebooks can be added the same way.
Why not just scrape the FCA Handbook website?
Because the Handbook website is a JavaScript application, and fetching its pages returns an empty shell. The scanner we inherited had been ingesting exactly that, building an empty knowledge base for months while reporting success. We ingest the JSON the Handbook's web app itself loads, and a health check asserts on what the corpus actually contains.
Can a Pakistani company build FCA compliance software for UK firms?
Yes. The FCA pre-checker described here runs in production for a RegTech client, and we work remotely in English with hours that overlap the UK and Europe and part of the US day. Bracket Mind has a UK point of contact in Glasgow, and our client work is described by sector, never by client name.