Skip to main content

Rulesets & Templates

A ruleset is a DAG of compliance checks. Each simulation routes a payload through the graph until it hits a terminal pass or fail node.

What is a ruleset?

A ruleset is a directed acyclic graph (DAG) where each node is a compliance check. The graph has a single system (root) node and one or more terminal nodes. When you run a simulation, the payload flows through the graph until the engine reaches a terminal node — the final verdict.

Important Sandbox DisclaimerLumis is a testing sandbox for simulating compliance workflows. It is not a drop-in replacement for actual legal or regulatory compliance. Do not confuse the states below with "test" and "live" production environments. Always consult with legal professionals before deploying compliance logic.

Rulesets have two lifecycle states:

  • Draft — editable, not accessible via the API. Test your changes here before going active.
  • Active — promoted to Active, callable via API keys. Promoting a draft creates a versioned snapshot.

Node types

check

Evaluates a single condition on the payload (field comparisons, regex, range checks). Returns passed or failed.

condition

Branches the DAG. Routes to different sub-graphs based on a payload field value (e.g. user_region === EU).

system

The root entry node. Every ruleset has exactly one system node as the DAG start point.

terminal_pass

Terminal node. Reaching this node sets the simulation result to passed.

terminal_fail

Terminal node. Reaching this node sets the simulation result to failed.

Built-in templates

All built-in templates are available on every plan. They are read-only — duplicate one to create a custom variant.

US KYC / FinCEN AML

BSA, 31 CFR § 1020

US
  • Identity verification
  • SSN validation
  • OFAC sanctions screen
  • PEP check
  • Transaction threshold ($10k CTR)

EU GDPR / AMLD6

GDPR Art. 5, AMLD6

EU
  • Consent verification
  • Data minimisation check
  • Right to erasure eligibility
  • CDD / EDD routing
  • Cross-border transfer guard

UK AML / FCA SYSC

MLR 2017, FCA SYSC 6.3

UK
  • CDD identity match
  • EDD trigger (£15k threshold)
  • Sanctions list screen
  • Suspicious activity flag
  • MLRO escalation routing

Ghana MoMo KYC

AML Act 749, Bank of Ghana

GH
  • Ghana Card / Voter ID verify
  • Mobile money transaction limit (GHS 1,000)
  • Daily velocity check
  • Suspicious transaction reporting
  • Agent banking flag

Singapore PSD2 / MAS PSN02

MAS PSN02, Payment Services Act

SG
  • NRIC / FIN verification
  • SingPass ID match
  • Cross-border transfer flag (SGD 1,500)
  • Transaction monitoring (rolling 30-day)
  • MAS sanctions screen

Australia AUSTRAC AML

AUSTRAC Guidelines

AU
  • Source of funds validation
  • Transaction thresholds
  • Reporting obligations
  • PEP screening

Canada PIPEDA Privacy

PIPEDA

CA
  • Consent verification
  • Data minimization
  • Purpose limitation check
  • Cross-border data transfer check

India RBI KYC

RBI Master Direction

IN
  • Aadhaar verification
  • PAN card presence
  • Transaction monitoring threshold
  • V-CIP routing

Global Sanctions Screening

OFAC, UN, EU

GLOBAL
  • OFAC list match
  • UN sanctions list match
  • EU consolidated list match
  • High-risk jurisdiction check

US Open Banking (CFPB)

Dodd-Frank 1033, CFPB

US
  • Data sharing consent
  • Permissioned access scope
  • Consent expiry check
  • Account aggregation rules

EU PSD2 SCA

PSD2, RTS

EU
  • SCA exemption logic
  • Dynamic linking verification
  • Fraud rate (TRA) thresholds
  • 3DS2 flow routing

Custom rulesets (Pro +)

Pro and Business workspaces can create custom rulesets from scratch or by duplicating an existing template.

1Click + Add Custom in the floating editor panel
2Name your ruleset and select a base region
3Use ✨ Add Rules to scaffold nodes from a sample payload
4Edit node conditions in the graph editor
5Run test simulations in Draft mode
6Promote to Active when ready

Version history

Every time you promote a draft to active, a versioned snapshot is saved. Click the ruleset name in the control bar (top-right of the canvas) to see the version history dropdown. Each version shows its status badge and creation timestamp.

Click Restore as Draft on any archived version to clone it back for editing. Your active ruleset is never overwritten.