WorkflowInvestment Compliance & Surveillance

Compliance Rule Coding

Compliance rule coding that reads every clause twice, tests every rule and cites it before it loads

Mandate rules live in a day, not two weeks, each read twice, tested and cited.

See one case, screen by screen ↓
demo47clausesfound in a German and English mandate package and drafted into 41 cited rules in 36 minutes
demo3daysover the 10% limit in the 12-month back-test under the literal reading — none under the defined term
target1dayfrom signed mandate to tested rules, not two weeks
demo98.6%of 6,412 live rules cited to a clause; the other 89 are being back-cited
In short

What is Compliance Rule Coding?

Compliance rule coding, also called investment compliance rule coding or guideline coding, is the work of turning the investment restrictions in an investment management agreement, its guidelines schedule, a prospectus or a side letter into rules the compliance engine runs before and after every trade. Compliance Rule Coding is investment compliance software that gives the rule analyst seven agents that find every restriction clause, draft each rule in plain English and engine parameters cited to its clause, read it a second time blind, test it and prepare the load. The analyst decides every interpretation, and a senior compliance officer who did not code the rule checks it.

AI in asset management: a buyer's guide to agentic AI for investment managers →

Updated

The problem

Why compliance rule coding takes two weeks a mandate

Compliance rule coding starts every time a mandate is won, a fund launches or an agreement is amended. A rule analyst reads the investment management agreement, its guidelines schedule, the prospectus or offering memorandum and every side letter, often in the client's own language, fills an annotation spreadsheet clause by clause, chases each defined term through the agreement and hand-codes every investment restriction into the order management system's compliance rules engine, for pre-trade compliance and the daily post-trade check. The side letter and the client's exclusion list arrive days later and restart the work.

The risk sits in single words. "Issuers in emerging markets" can mean domicile or country of risk; "5% per issuer" can mean the issuer or its whole group; "cash" may or may not include money market funds. Read the wrong way, the rule misses real breaches or blocks good trades for years. The checker often ticks the coded rule without the clause, few rules are back-tested on real holdings, and when a client, an auditor or an examiner asks how clause 3(2) is coded and tested, the trail is rebuilt from email.

typical$4millionSEC penalty on an adviser that did not follow a fund's stated investment criteria (October 2024)
typical$2.7millionpenalty where collective trusts held one issuer at 30% to 89% of assets against a 10% limit
demo11daysmedian from signed documents to rules live by hand, at the sample firm in 2025
Where a new mandate's business days goestimated
By hand11 days
With the solution1 days
  • Collecting the package and finding every restriction clause1.5 → 0.1 d
  • Chasing defined terms, side letters and overrides2 → 0.1 d
  • Coding each rule into the compliance engine3 → 0.2 d
  • Four-eyes check of every rule1.5 → 0.2 d
  • What-if tests and back-testing2 → 0.2 d
  • Load, first-batch tuning and the evidence1 → 0.2 d

Estimated split for a mandate of about 40 restrictions, coded by hand and with the solution. The sample firm's 2025 median by hand was 11 business days.

How it works

How a mandate becomes tested rules

Seven agents read, draft, read again blind, test and load; the analyst decides and a different officer checks.

What comes in
Documents in150 mandates, 2,000 changes a year · agreements in the client's language
Agents at work
Intake agentclauses, overrides
Then
Coding agentcited draft
Reading agentblind second reading
Then
Mapping agentterms to data
Tester agentedge cases, 12 months
Then
Load agentdry-run, verify
Evidence agenttrail and pack
A person decides
Rule analystdecides; a different officer checks
What comes out
Tested rule in the engine
Clause citation
Evidence pack
One case, step by step

Compliance rule coding for one mandate, clause by clause

Pensionskasse Rheinhafen, a German pension fund, has awarded Quillfield Capital a €1,698.4 million (about $1.8 billion) segregated Global Equity Opportunities mandate, account RH01. The client funds on Monday, November 2; the rules are due live on Wednesday, October 28. Here is how its investment guidelines become investment compliance rules, screen by screen, in the working solution.

  1. 01Monday morning

    Everything that needs her, and what the agents did over the weekend

    Nadia Brennan · Compliance rule analyst

    Nadia's Today screen shows 9 decisions waiting for her — 6 on Rheinhafen, 3 on rule changes — 23 mandates onboarding, 184 rule changes open with 32 due in 2 days, and 98.6% of live rules cited to a clause. The agents' morning brief reads like a conversation: the Reading agent agrees with the drafts on 37 clauses and differs on 4, and the Tester agent re-ran 64 rules overnight after a benchmark reclassification notice.

    “People decide; agents never load a rule.”

  2. 02Friday, 15:20 London

    The mandate package, read in the language it was signed in

    Intake agent

    Ravi Menon filed the package from document management: the Investment Management Agreement (64 pages), Schedule 2 Investment Guidelines (9 pages), a German side letter, the Nebenvereinbarung (6 pages), and the client's 212-issuer exclusion list, the Ausschlussliste. The mandate page walks the work in seven stages — documents, clauses, draft, second reading, tests, checker, load — with 47 clauses found, 3 side-letter overrides and 41 rules, each cited.

    “The side letter overrides Schedule 2 in 3 places (§2: the side letter prevails). 3 clauses link to house rules already live.”

  3. 0336 minutes

    Every step of the run, with its sources and timing

    The agents

    Replaying the run shows what each agent did. The Coding agent drafted 41 rules in 9 min 12 s, every element cited to its clause, median confidence 0.93. The Reading agent read all 47 clauses blind, on a different model, with no access to the drafts. The Mapping agent tied terms to data and matched 203 of 212 excluded issuers; the Tester agent ran 8 edge cases per rule and a 251-day back-test; the Load agent dry-ran 40 engine rules with 0 breaches.

    “Hand-off to Nadia Brennan · 6 items need a person. Disagreements are never resolved by an agent. Nothing has been loaded.”

  4. 04The rule bench

    Emerging-market issuers at most 10%: two readings, side by side

    Nadia Brennan · Compliance rule analyst

    Side letter §3(2) caps issuers “mit Sitz in Schwellenländern” at 10% of portfolio value. Reading A, the Coding agent's draft, codes it literally — issuer domicile, country of incorporation — at confidence 0.71. Reading B, the Reading agent's, follows the side letter's §1(1) to IMA definition 1.14, Emerging Market Issuer by Country of Risk, at 0.93. The test bench shows today's transition plan at 8.7%, eight edge cases passing, and the engine parameters cited field by field.

    Limit: “≤ 10.00% (‘nicht überschreiten’: 10.00% is allowed)”

  5. 05The definitions trail

    The German original, the English beside it

    Reading agent

    One click on the definitions trail opens the source: side letter §1(1) in German, “Die in dieser Nebenvereinbarung verwendeten Begriffe haben die im Vermögensverwaltungsvertrag vom 9. Oktober 2026 festgelegte Bedeutung”, and the English beside it — terms carry the meaning given in the Investment Management Agreement of October 9, 2026. The trail runs from SL §1(1) to IMA 1.14, 1.9 Country of Risk and 1.17 Portfolio Value.

    The English is the Intake agent's translation, checked by the Reading agent; the German stays the source.

  6. 0609:41

    She asks for the breach days, then decides

    Nadia Brennan · Compliance rule analyst

    The Tester agent ran both readings for 251 business days: domicile would have been over 10% on March 11–13, 2026, peaking at 10.4%; country of risk peaked at 9.1%. Four holdings explain the gap — two Cayman-incorporated China issuers count only under country of risk, real China exposure the literal reading misses. Nadia chooses Reading B with the reason code “Defined term governs” and sends it to Tomás Ferreira; a one-line client confirmation is drafted for Ravi Menon in German and English.

    Coding agent: “I agree the defined term should govern. I have not changed the draft: the choice is yours.”

  7. 07A failing test

    Nine excluded issuers that don't match the security master

    Mapping agent

    The client exclusion list, side letter §4(6), is matched by ISIN, then LEI, then name with the parent hierarchy. 203 of 212 issuers matched; 7 renamed or merged issuers have proposed matches at confidence 0.91–0.99, and 2 need a person — one delisted, one ambiguous name. The rule stays “Test failing” until they are resolved: a pre-trade compliance hard block and a daily post-trade check, with list changes applying ten business days after notice.

    The Mapping agent never guesses an identifier below 0.90 confidence; it asks.

  8. 08London, the same morning

    The checker sees the clause, the decision and the tests on one page

    Tomás Ferreira · Senior compliance officer

    Nadia sends the 34 agreed, passing rules in one step and R-RH01-014 with her decision. Tomás opens it: the German clause and the English, the rule, Nadia's decision and reason, 8 of 8 edge cases, 0 days over in a 251-day back-test, and the version of the Coding agent that drafted it. He works a four-point checklist — clause read in its original language, defined terms applied, tests cover the clause, decision sound — then signs off or returns it with a reason code.

    On a rule he coded himself: “You coded or decided this rule. Segregation of duties: another checker must sign it.”

  9. 09Before release

    A dry-run, a diff against production, then the Head releases

    Load agent · Helen Achebe

    Package RP-2026-1019-RH01 compiles in the engine's test environment as 40 engine rules and 1 manual control. The dry-run on the 64-holding transition plan shows 0 breaches and 1 warning: emerging markets at 8.7% against the 8.5% warning level. Against production it is 41 new, 0 changed, 0 retired. Nothing reaches production before a checker's signature on each rule and Helen Achebe's release; after the load the agent verifies the first pre-trade check and the first overnight batch.

    “Only the Head of Investment Compliance releases packages over 25 rules.”

  10. 10When audit asks

    One evidence pack for the mandate

    Mireille Okafor · Internal audit

    From the audit trail, one export collects the mandate's 47 source clauses in German and English, both readings for every rule, the analyst's decisions with reason codes, checker sign-offs, edge cases and 12-month back-tests, the engine dry-run and load results, and the agent and model versions. The pack — PDF report, CSV event log and JSON bundle — comes with a SHA-256 manifest, and the export itself is logged. It answers what an auditor testing investment guidelines compliance asks: which clause, which reading, who signed and what was tested.

    “Every file is listed in a SHA-256 manifest so a regulator or auditor can prove nothing changed after export.”

Who it’s for

Built for everyone who signs a rule.

The same mandate, seen by the five people who carry it from award to audit — what their week looked like, and what it looks like now.

NB
Nadia BrennanCompliance rule analyst, New York · about 30 mandates and 400 changes a year
Compliance rule analyst
Before
Reads every clause, chases every definition and hand-codes each rule, with a back-test only when there is time.
Now
Opens a rule already drafted, read twice and tested; decides only where the readings differ — “tell me where the two readings differ and what each one would have flagged.”
TF
Tomás FerreiraSenior compliance officer, London · the checker
Senior compliance officer
Before
Ticks a coded rule in the engine, often without the clause in front of him and with no tests to look at.
Now
Sees the clause, the decision and the tests on one page, and is blocked from checking a rule he coded — “show me the clause, the decision and the tests. Then I sign.”
HA
Helen AchebeHead of Investment Compliance · 6,412 live rules across 742 portfolios
Head of Investment Compliance
Before
Answers for a rule library where some rules have no clause behind them and nobody can say why they exist.
Now
Releases each package after a dry-run and a diff against production, and sees every live rule with its clause, versions and signatures — “every rule in the library must have a clause, a test and two names.”
RM
Ravi MenonClient onboarding manager, London · 23 mandates from award to funding
Client onboarding manager
Before
Chases compliance by email to find out whether the rules will be ready before the client's money arrives.
Now
Sees each mandate's stages, its rules-live date and its funding date on one page, and sends the client the confirmations the agents draft — “will the rules be live before the client funds on November 2?”
MO
Mireille OkaforInternal audit, London · tests the coding control every year
Internal audit
Before
Rebuilds one rule's history from email, spreadsheets and engine logs to test the control.
Now
Exports one rule or one mandate end to end, with every signature, time and source, under a hash manifest — “give me one rule end to end, with every signature and time.”
Built on the engine

7 agents. Each with one job, and hard limits.

Seven agents read, draft, read again blind, test and load; the analyst decides and a different officer checks.

Intake agent

Collects the mandate package from document management on award and starts the investment management agreement review: classifies each document, reads every page in its original language with English beside it, splits the clauses, builds the document hierarchy and finds where a side letter overrides the guidelines schedule. It watches for amendments.

  • Never discards a page it cannot read — it flags it
  • Flags a low-confidence translation
Coding agent

Drafts each rule in plain English and in engine parameters — scope, numerator, denominator, data field, limit, warning and test timing — maps it to the rule templates and cites every element to its clause, with its confidence.

  • Never loads a rule
  • Never resolves a disagreement
Reading agent

Reads each clause again, independently, on a different model family, following the definitions across documents, and writes its own rule. Agreement is shown; a difference goes to the analyst with both readings.

  • No access to the Coding agent's draft
  • Must run on a different model family
Mapping agent

Maps defined terms to the data that measures them — country of risk, issuer group, ratings, vendor revenue data — and resolves exclusion-list names to ISIN, CUSIP and LEI.

  • Never guesses an identifier below 0.90 confidence — it asks
Tester agent

Builds edge-case portfolios from the clause's own words, runs today's holdings and a 12-month back-test under each reading, shows the holdings that make the readings differ, and re-tests affected rules after every change.

  • Never marks a rule tested with fewer than 6 edge cases
Load agent

Builds the engine package, dry-runs it in the engine's test environment, diffs it against production, loads after release, verifies the first pre-trade check and overnight batch, and rolls back on request.

  • Never loads a rule without a checker's signature and a release
Evidence agent

Writes every step to the audit trail, assembles evidence packs with a hash manifest, back-cites legacy rules that have no clause, and runs the yearly re-certification of the library.

  • Never edits a signed record
  • Back-citations need a person's approval
Rule analyst

Decides; a senior officer who did not code it checks. The agents propose; a named person decides.

Ask in plain words

Ask about any mandate, rule or clause, in plain words

Ask about any mandate, rule, clause or change — the answer comes with its source, and the agents can act on it.

Which Rheinhafen rules still need a decision?

Six: four where the two readers disagree — R-RH01-014 emerging markets (domicile or country of risk), R-RH01-006 single issuer (issuer or group), R-RH01-009 cash (money market funds), R-RH01-031 thermal coal (second limb) — and two failing tests, R-RH01-027 derivatives (v2 to test) and R-RH01-033 exclusion list (9 identifiers).

Why did the agents disagree on the 10% emerging-markets limit?

The side letter says issuers “mit Sitz in Schwellenländern” — with their seat (domicile) in emerging markets. But its §1(1) gives its terms the IMA's meaning, and IMA 1.14 defines an Emerging Market Issuer by country of risk. Under domicile, the back-test shows 3 days over 10% (March 11–13, 2026); under country of risk, none.

Show the 3 breach days

Under domicile: March 11, 10.2%; March 12, 10.4%; March 13, 10.1%. Marisol Brands rose 18% after its results on March 10, lifting the domicile count. Under country of risk the same days were 8.9%, 9.1% and 8.8%.

Which live rules have no clause citation?

89 of 6,412 live rules (1.4%), all coded before 2022. The Evidence agent has proposed a citation for 83; the riskiest is R-10442, a legacy 5% single-issuer limit traced to the fund's prospectus, page 14. One, R-13902, has no clause at all and may be a house rule.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

TodayThe rule analyst's day of compliance rule coding: decisions waiting, mandates onboarding, rule changes due, the share of live rules cited to a clause and the agents' morning brief.
A new mandate, stage by stageMandate onboarding from documents to load: 47 investment restriction clauses, 41 rules by status, the source documents and their side-letter overrides.
The agents' runEach agent's step with the sources it read, its timing and who it handed to — and nothing loaded.
The rule benchThe clause in German and English with its definitions trail, two independent readings of the rule, engine parameters cited field by field and the test bench.
The original languageA side-letter clause in the original German beside its English translation, opened from the definitions trail.
The analyst's decisionThe agents' conversation on the rule, the back-test breach days and the decision with its reason code, sent to a named checker.
Exclusion list matchingA client exclusion list matched to the security master by ISIN, LEI and name for a pre-trade compliance block, with the issuers that need a person and the failing edge cases.
Maker-checker sign-offThe checker's view of one rule: clause, rule, analyst's decision, tests and back-test, a checklist, and sign off or return with a reason.
Compliance engine loadThe package's path to production: compiled, dry-run, compared with production, signed, released and verified after load.
Change impactA benchmark reclassification re-tested across 64 rules in 118 portfolios, with the 3 results that change and the agents' note on what follows; the decision stays with the rule analyst.
Rule library and back-citationEvery live investment compliance rule with its citation, version and last test, and uncited legacy rules with the citation the agents propose.
Audit trail and evidence packEvery agent step and human decision with its evidence, and an evidence pack for a mandate exported under a SHA-256 manifest.
Rules and thresholdsReader agreement, confidence floor, warning level, back-test window, edge cases, release approval and service levels — all settings.
Governance

Compliance rule coding built for examiners: cited, checked, on the record.

Every rule element cites its clauseScope, numerator, denominator, data field and limit each point to the clause and definition they came from, in the original language with the English beside it.
Two readings; a person settles the differenceA second agent reads every clause blind, on a different model family. When the readings differ, the analyst decides with a reason code — an agent never resolves a disagreement.
Maker-checker on every ruleA senior compliance officer who did not code or decide the rule checks it against the clause, the decision and the tests. Nobody can check their own rule, and the auditor role can read and export, never change.
Nothing loads untested or unsignedEach rule needs at least 6 edge cases, a 12-month back-test and a checker's signature. Packages are dry-run and diffed against production, a release over 25 rules needs the Head of Investment Compliance, and a load can be rolled back.
Agents and models versionedEvery agent has a version, a model and a prompt version, and a new version goes live only after a golden set of 1,140 coded clauses passes and a second administrator approves. Every rule records the versions that drafted, read and tested it.
Every step on the audit trailEvery agent step and human decision is recorded with who, what, when, why and the evidence. Records cannot be edited, they are kept seven years after a rule retires, and documents are processed and stored in their legal entity's region — the UK entity's EU and UK clients in the EU region, Frankfurt.
Configuration

Your interpretation policy and thresholds, not ours

What counts as ready, tested and released are settings, changed only with a second administrator and logged.

SettingDefaultChoose from
Both readers must agree for “ready”OnOn · Off; otherwise the rule goes to the analyst with both readings
Confidence floor for a reading0.90Below it, the reading is flagged even if both agree
Warning level85% of limitShare of each limit that raises a warning
Back-test window12 months (251 days)Holdings history the Tester agent uses
Minimum edge cases per rule6A rule with fewer is not “tested”
Release approval above25 rulesPackages larger than this need the Head of Investment Compliance
New mandate rules live3 business days before fundingBusiness days before funding
Rule change, from receipt to load5 business daysAnalyst decision 1 business day from hand-off; checker sign-off 1 business day from sent
Connections

Works with your compliance rules engine and the systems behind it

Compliance enginethe order management system's engine, test and production, pre-trade and post-trade
Mandate documentsIMAs, guidelines schedules, side letters, prospectuses, SAIs, offering memoranda and supplements, in their original language
Security master and data vendorscountry of risk, issuer hierarchy, ratings and revenue data
Portfolio accounting12 months of holdings for back-tests
Document management and CRMthe package on award, amendments, client exclusion lists
Ticketing and emailnotices, escalations and client confirmations
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

target
1day
from signed mandate to tested rules, not two weeks
By hand10–15 days
With agents1 day
target
Every
rule read twice, back-tested and cited before load
41 of 41 rules
two readings, 12-month back-test
estimated
$0.8–1.2M
a year of outsourced rule coding brought in-house

“demo” = seen in the working solution, on its sample mandates and holdings · “target” = the design goal, measured in the live solution · “estimated” = our estimate · “typical” = published figures (SEC enforcement actions as summarized in Sidley's 2025 fiscal year review of SEC enforcement against investment advisers: a $4 million penalty, October 21, 2024, and a $2.7 million penalty for issuer concentration of 30% to 89% against a 10% limit). People, firms, clients, mandates, funds and holdings named on this page are fictional — characters and sample data in the working solution.

Questions

What investment compliance teams ask us.

What is compliance rule coding?

Compliance rule coding, also called investment compliance rule coding or guideline coding, is the work of turning the investment restrictions in an investment management agreement, its guidelines schedule, a prospectus or a side letter into rules the compliance engine runs before and after every trade. Compliance Rule Coding is investment compliance software that gives the rule analyst seven agents that find every restriction clause, draft each rule in plain English and engine parameters cited to its clause, read it a second time blind, test it and prepare the load. The analyst decides every interpretation, and a senior compliance officer who did not code the rule checks it.

Can it code investment guidelines from a side letter in another language?

Yes. The Intake agent reads each document in the language it was signed in and puts the English beside it; the clause is shown in the original with the deciding words highlighted. Side letter compliance works the same way: in the sample mandate, a German side letter overrides the English guidelines schedule in three places, its §2 says the side letter prevails, and each of those rules cites the side letter.

How is a compliance rule tested before it goes live?

The Tester agent builds at least six edge-case portfolios from the clause's own words — exactly at the limit, a Cayman-incorporated China issuer, a market reclassified mid-year — and back-tests 12 months of holdings under each reading. The Load agent then dry-runs the package in the engine's test environment and diffs it against production before anything is released.

What happens when two readings of a clause disagree?

The rule goes to the analyst with both readings side by side, their confidence, their citation trails and what each would have flagged in the back-test. An agent never resolves a disagreement; the analyst chooses, edits or returns the rule with a reason code, and the choice is recorded.

Who checks a coded rule, and do people stay in control?

People decide everything that matters. The analyst decides each interpretation, a senior compliance officer who did not code or decide the rule checks it, and the Head of Investment Compliance releases packages over 25 rules. The agents never sign, never load a rule without a checker's signature and a release, and never change a signed record, and a settings change needs a second administrator.

What happens when an IMA amendment or a benchmark reclassification changes the rules?

Investment guideline monitoring does not stop at go-live. The agents find every rule the change touches, re-test it across the portfolios that carry it and bring only the results that change. In the sample, a benchmark reclassification re-tested 64 rules in 118 portfolios; 3 results change, and one fund would fall below its 85% emerging-markets name policy, so a notice to the portfolio manager is drafted.

Can we show an auditor or the SEC how a clause was coded and tested?

Yes. Every rule carries its clause, both readings, the decision and reason code, the checker's signature, its tests and its load receipt. One export builds the evidence pack for a rule or a mandate with a SHA-256 manifest, and the reports feed the annual compliance program review under Advisers Act Rule 206(4)-7 and Investment Company Act Rule 38a-1.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your interpretation policy, a sample of past mandate packages and your compliance engine's rule set — and it goes live once every quality gate has passed. We will walk you through it on one of your own mandates first.

See it on
your mandates.

We'll run Compliance Rule Coding on one of your own mandate packages — the IMA, its guidelines schedule and its side letters.