Aggregate Safety

Raeez Lorgat, 2026


A person walks into a bank and deposits $9,000 in cash. The Bank Secrecy Act of 1970 requires a report for currency transactions over $10,000; this one is under the line. The next day the same person deposits another $9,000. The day after, a third. Each deposit is lawful on its own. The sequence, if executed to evade the report, is a federal crime – structuring, 31 U.S.C. § 5324 – and the crime lives in no single deposit. It lives in the relations between them: same depositor, similar amounts, close in time, aggregate over the threshold.

Nothing in this example is news to the compliance industry, and it is worth being precise about what deployed systems already do. The industry’s own vocabulary separates screening – the stateless layer, each payment matched against sanctions and watch lists as it passes – from transaction monitoring – the stateful layer, scenario engines running over rolling windows of account history, in which structuring and velocity scenarios are standard content; the Wolfsberg Group’s guidance draws exactly this distinction. The reporting rules force aggregation at the threshold itself: a United States institution must treat multiple currency transactions in one business day as a single transaction for the $10,000 report when it knows they are by or on behalf of one person (31 CFR 1010.313). The duty turns on that knowledge. A register that itself executes the transactions holds it by construction for every party of record – the party to a transfer is a field of the operation that moved it, not an inference from account records – and for those parties the conditional duty is a constant one. Regulators have required defenses against aggregate patterns for decades. Statefulness is not the gap.

The gap is where the state sits and what it can see. Monitoring runs after the fact: settlement first, batch analysis later, so its output is an alert and an investigation, not a prevented write. It runs per institution, over the fraction of the world one institution observes: a chain of transfers crossing five banks appears at each bank as a single unremarkable hop. And it is reconstructive: the relations that matter most – common control, common beneficiary – are inferred from account records and filings made for other purposes, where they are visible at all.

This paper describes the aggregate half of a different arrangement. When the system of record for the entities involved, the register, also executes the transfers – when share transfers, payments, and corporate actions commit through one gate, the mutation firewall, and every committed operation is an audit-recorded event in one log – the aggregate checks can move inside the write path. They run before an operation commits rather than after it settles, over the complete history of the register rather than one institution’s slice, with thresholds supplied by the jurisdiction whose rule is being enforced. The companion paper The Mutation Firewall specifies the gate. This paper specifies the state the gate consults for sequence-level violations, the algorithms over that state, and – because it turns out to matter as much as the detection – what a finding is worth as evidence. Everything here is a runtime object: checks that run when a write is proposed or a list changes, over state accumulated from the writes already committed. Whether a whole program of proposed operations can be rejected before any of it runs is a separate, static question, and it belongs to the companion papers on the rule and operation layers.

Five patterns of aggregate violation

Structuring is the best-known sequence violation. Four siblings recur across regulatory regimes, each living in a different relation that per-element review does not observe. Five is a working inventory of the patterns this paper treats, not a taxonomy.

Threshold fragmentation is the structuring pattern: a large transaction split into sub-threshold pieces within a window of time. The defining features are a common beneficiary, amounts individually below a reporting threshold, temporal proximity, and an aggregate above the threshold. The $10,000 currency report is the canonical instance, but any regime with a transaction-level reporting threshold admits the pattern.

Ownership accumulation is the equity analogue. Disclosure attaches when a person’s interest in an entity crosses a threshold: 25 percent under the European anti-money-laundering directives and the United States customer-due-diligence rule (31 CFR 1010.230), 10 percent where banking law presumes control (as under the United States Change in Bank Control Act), 5 percent where securities accumulation disclosure begins (Exchange Act § 13(d)). An actor who buys 10 percent in one transaction, 8 percent in a second from a different seller, and 8 percent in a third holds 26 percent, and no single purchase crossed the 25 percent line. Each purchase, reviewed alone against that threshold, is unremarkable. Securities law even anticipates the coordinated version: holders acting as a group are aggregated and treated as one person under § 13(d)(3). The obligation attaches to the aggregate; the evasion consists in ensuring the aggregate is never computed. This is harder to detect than fragmentation because the purchases may come from different sellers, at different times, through different instruments.

Chained control is attribution rather than accumulation. Suppose A holds 60 percent of B, B holds 60 percent of C, and C holds 60 percent of D. Every filing along the chain is truthful and every direct stake fully visible; a reviewer of any one link sees an ordinary majority holding. The violation is what no filing states: A controls D. Two different aggregates run along such a chain, and they compose differently. Economic interest multiplies – 60 percent of 60 percent of 60 percent is a 21.6 percent look-through stake in D – and where paths run in parallel the products add: 20 percent held directly plus 40 percent of an intermediary that holds 30 percent is a 32 percent interest that exists on no single filing. Control composes transitively – majority control of a majority controller is control outright, not 36 percent of anything – and a contractual edge may compose as neither, conferring a veto over named acts and nothing more. A traversal that treats the ownership graph as homogeneous therefore computes a number that answers no legal question: multiply through control edges and it understates who controls what; treat equity edges as transitive and it overstates. The graph must be typed by edge kind, with the composition rule chosen per kind; the companion paper Lex: A Logic for Jurisdictional Rules develops this composition and its limits. The output of detection is an attribution – A is the indirect controller of D; A’s look-through interest is 32 percent – and per-link review, however careful, never produces it.

Sanctions hop-chains route funds to a sanctioned party through unsanctioned intermediaries. The direct counterparty at each hop the screen sees passes it; the ultimate beneficiary appears in none of them. The exposure is real in law: sanctions regimes reach indirect dealings – OFAC treats an entity owned 50 percent or more in the aggregate by blocked persons, directly or through chains of ownership, as itself blocked – and evasion through intermediaries is itself a violation. The multi-hop structure is not a defense. A screen that checks only direct counterparties misses the chain, because the sanctioned party is a direct counterparty of one hop at most, the last, and that hop is kept out of its view – executed at another institution, or not executed at all, the funds stopping one step short at an entity the party owns and no list names.

Circular flows are funds that travel from A to B to C and return to A. Round-tripping manufactures apparent revenue; cycling funds through accounts is a classic layering shape – layering being the middle stage of the placement-layering-integration sequence, the one that severs funds from their origin. The cycle forms incrementally: one operation contributes the edges A to B and B to C, a later operation closes it with C to A, and no single operation created a cycle. But a cycle in the untimed graph of who-has-ever-paid-whom is nearly meaningless – a customer refunded by a merchant closes one. A cycle is evidence only as a flow: edges in time order within a window, each hop passing on most of what it received. The criterion needs amounts and timestamps, or it flags ordinary bilateral commerce.

Violations as properties of sequences

Write V for a per-transaction rule: a predicate that examines one transaction and passes or fails it. Call a property of finite sequences elementwise if some V decides it – the sequence has the property exactly when every element passes V. Neither the property the five patterns are defined by – the sequence is a violation – nor its complement, compliance, is elementwise, and the opening example is the whole proof in both polarities. Suppose some V decided the violation. Each of the three deposits is, taken alone, a lawful one-element sequence, so V must fail it; but then the triple has an element failing V, and it is no violation either. Suppose instead some V decided compliance. Each deposit alone is compliant, so V must pass it; then every element of the triple passes V, and the sequence whose aggregate crosses the line is compliant. The same singleton argument runs for every pattern: each element of a violating sequence also occurs innocently on its own, so no per-element rule separates the sequences that compose into violations from those that do not, whichever side it is asked to decide.

The observation is elementary, and the industry has never depended on denying it – stateful monitoring exists precisely because violations live in sequences. What the observation fixes is the shape of any detector. A checker that decides these properties must consume relations between transactions – shared beneficiaries, gaps in time, aggregates, positions in a graph – and a checker that consumes relations must hold state that survives from one transaction to the next. The design questions that remain are the ones that separate systems which all hold state: which views of history the checker maintains, at what moment in a transaction’s life it is consulted, and what evidentiary standing its inputs and outputs have. The rest of the paper takes these three questions in order.

The views the checker maintains

The checker keeps no second ledger. Its state is a set of views derived from the event log the firewall already writes – one view per relation the patterns are defined over.

For fragmentation: a rolling window over recent payments, each entry recording beneficiary, amount, and timestamp. When a sub-threshold payment is proposed, the checker aggregates the window’s entries with the same beneficiary. A multi-entry aggregate over the reporting threshold is reported as a threshold aggregation – evidence of possible structuring, not a finding of it, because the offense has an element no aggregation computes: § 5324 requires the purpose of evading the report. The window measures the pattern. Purpose is for the people the report reaches.

For accumulation: current holdings per beneficial owner – current, not cumulative. A never-decremented accumulator would measure gross acquisitions rather than ownership: buy 10 percent, sell 10 percent, buy 8 percent leaves a holding of 8 percent, not 18. The view nets acquisitions against disposals as the log replays, and the disclosure test runs against what a person presently holds – so a 10 percent purchase today, 8 percent next month, and 8 percent the month after trigger at 26 percent even though no purchase crossed the 25 percent line, and a position sold down in between counts for what remains.

For attribution: the typed ownership graph – current equity holdings as edges carrying fractions, control relations as edges composing transitively, contractual rights as their own kind. When a proposed transfer changes the graph, the checker recomputes the composed quantities through the changed region: products along equity paths, summed across parallel paths and tested against the acting jurisdiction’s look-through threshold; transitive closure along control edges, tested against its definition of control. On an acyclic graph, depth-first search enumerates the paths, and the products sum. Cross-holdings make the graph cyclic, and there the simple-path sum is the wrong quantity. Let A and B each hold 50 percent of the other and let B hold 40 percent of C: the one simple path gives A a 20 percent interest in C, but A receives, over the rounds the loop feeds back, 26.7 percent of every distribution C makes – the fixed point of the recursion that defines look-through interest, the direct stake plus, through each intermediary held, the fraction held times that intermediary’s own interest. On a cyclic component the checker solves that recursion as the linear system it is, which sums over all walks rather than simple paths and converges for every component with an owner outside itself. A depth bound caps the search; the bound is a resource limit, not the criterion, and since dropping paths can only lower the sum, a search that reaches its bound returns a lower bound on the interest and says so, never a clearance. The criterion is the composed quantity per edge kind.

For hop-chains: the flow graph – every payment an edge carrying amount and timestamp – together with the sanctions lists in force. Two searches run over it, at two moments. Before commitment the search runs backward: from the source of each proposed transfer, breadth-first search follows incoming flows back in time up to a configured horizon, so that every candidate path ends at the proposed edge, and a path that begins at a listed party is reported whole – the proposed transfer is the hop that would carry that party’s funds one step further. The onward continuation of the proposed edge lies in the future and cannot be searched, and a listed party at either end of the edge is already the direct screen’s finding; what the backward search finds is a party whose own hop was not refused – listed after that hop committed, listed by the jurisdiction now acting and not by the one whose screen that hop passed, or matched and permitted under a license that does not reach the onward hop – and whose funds have since travelled the chain to the proposing party. The forward search runs when a list changes: from each newly listed party, breadth-first search follows outgoing flows forward in time through committed transfers, and every path it reaches is reported whole. That is the retrospective catch, for property that moved while its owner was unlisted, and it is evidence of where that party’s interest may persist along the path, entering the same determination as the pre-commit candidate.

The hop-chain pattern needs one join more, and the attribution view holds its inputs. A regime that blocks an entity owned in the aggregate by blocked persons – 50 percent or more under the OFAC rule, directly or indirectly – blocks entities that appear on no list, and the rule composes the way control does, not the way equity does: holdings through an entity count in full once that entity is itself blocked, and not at all while it is not. The join is therefore a closure over the ownership graph. Starting from the listed parties, an entity whose direct holders already in the set together hold the regime’s threshold of it joins the set, and its own holdings then count whole; the closure repeats until nothing joins, in at most as many rounds as there are entities, and every member the list did not name is a derived blocked party. It is recomputed through the changed region when holdings move and from the new entries when the list changes. The direct screen and both searches resolve parties against the list together with this derived set, and a derived status enters the applicability determination carrying the list entries and the ownership edges it rests on.

For cycles: cycle detection over the same flow graph, restricted to candidate flows – edges in time order within a window, amounts approximately conserved from hop to hop. Unrestricted back-edge detection on the untimed graph would flag every refund.

These views suffice for the five patterns as specified here. They are one adequate choice, not a minimal one; the same log supports others.

The log is the defense

What never shrinks is the log, not the numbers. Holdings fall when shares are sold, and the holdings view says so; window entries expire, and the view drops them. The log beneath the views is append-only: a transfer that turns out to have been mistaken is corrected by a compensating transfer – a new event in the opposite direction – never by deleting the original. This mirrors the legal record it implements. A rescission is itself an event, not an erasure of the event it rescinds.

The append-only log is what makes the checker robust against its most obvious attack. Every cross-operation detection above assumes that yesterday’s operations are still visible today; an adversary who could clear the graph, zero a holding’s history, or empty the window would defeat all of them at once. There is no interface that does so. The views are deterministic functions of the log; the log is written through the same gate, with the same audit records, as the operations it records; tampering with it is detectable by the same receipt mechanisms that protect everything else in the register. An adversary who cannot rewrite history can only add to it, and additions are exactly what the checker reads.

Jurisdictional parameterization

The algorithms are shared. The numbers are not, and neither are the definitions.

The beneficial-ownership threshold is 25 percent under the European directives and the United States customer-due-diligence rule, 10 percent where banking law presumes control, 5 percent where securities accumulation disclosure begins. The currency-reporting threshold is $10,000 in the United States and other figures elsewhere. The aggregation the United States reporting rule itself requires runs over one business day (31 CFR 1010.313); detection windows beyond that are policy, not statute. The maximum hop depth for sanctions chain detection is a policy choice that balances detection power against false positive rates. And the definitions vary along with the numbers: jurisdictions differ on what control is – the threshold, and whether de facto control counts – so the definition belongs in the jurisdiction’s rule pack, beside its thresholds, rather than in the traversal.

A jurisdiction is therefore onboarded by supplying parameters – thresholds, windows, horizons, definitions – and instantiating the checker with them; the algorithms underneath, graph search, temporal aggregation, netting, cycle detection, do not change. It follows that detection is parameter-relative even where the algorithm is universal: the same three deposits fall inside one regime’s window and outside another’s. The algorithm answers the question “what does this sequence aggregate to.” What that aggregate legally amounts to is the jurisdiction’s answer, given by its parameters.

The integration point

The checker runs inside the gate. Before a financial write commits, the operation’s transfers are evaluated against the views, and findings enter the same compliance evaluation that decides the write. What a finding does there depends on the kind of legal fact it evidences.

Most findings raise obligations rather than blocks. A threshold aggregation is grounds for the report the regime requires. A crossed accumulation or attribution threshold raises the disclosure the jurisdiction attaches to it. The response is the jurisdiction’s, parameterized like the thresholds.

Sanctions carry terminal force, and the sequence deserves exact statement. The detector’s output is a candidate: a time-ordered path through committed transfers, from an entity it resolves against a list or against the set derived from one, to the transfer under evaluation. That candidate is evidence entering the sanctions applicability determination – the step at which identity is resolved, the list and its version named, the as-of date fixed, and lawful licenses, humanitarian carveouts, and sovereign exemptions represented. If that determination asserts non-compliance, the write is refused, and the refusal is terminal: no ordinary finding, discretionary approval, or approval imported from another jurisdiction under a recognition arrangement lifts it. The refusal carries what a terminal block owes the party it stops – the asserting authority, the list and version, the as-of date, and the procedure for contesting the determination. The detector never blocks; the asserted determination does. The distinction locates terminal force where an authority stands behind the fact, and it is the subject of the next section.

What a finding is worth

A single-entity verdict rests on attested inputs. A registrar signed the filing; a bank confirmed the balance; an officer certified the position. Someone with authority asserted each input and can be held to the assertion.

An aggregate finding’s inputs divide. The edges are attested by execution: every transfer in the graph is there because an operation committed through the gate and left its audit record. This is where the register’s graph differs from one a bank reconstructs from its partial view. But no execution attests the relations the hardest patterns turn on – that two nodes are one person, that holders act in concert, that a structure was assembled for the purpose of evading a rule, or any interest running through holdings outside the register. Those the checker infers.

A finding built partly on inference is a classification with an error rate, not a proof. Its false positives land on structures that are complicated for legitimate reasons – the unusual but honest group is exactly what inference over sparse relations mistakes for evasion. The use constraint follows, and the integration above enforces it: a finding is evidence entering a determination; obligations to disclose, report, and review may rest on it; terminal force may not, until an authority asserts the determined fact and the block carries the means to contest it.

Why this matters now

The aggregate problem is as old as the Bank Secrecy Act. Two developments raise its stakes.

The first is delegated execution. When institutions delegate execution authority to programs – rebalancing portfolios, sweeping cash, issuing dividends – transaction rate stops being bounded by human hands. A person structuring deposits executes a few transactions over days; a program can compose thousands of individually lawful operations in minutes. At that rate, a monitor that runs after settlement no longer runs in time. Detection either sits in the write path or arrives after the sequence is complete.

The second is cross-jurisdictional structure. An institution operating in twenty jurisdictions through subsidiaries, joint ventures, and special-purpose vehicles carries an ownership graph of hundreds of typed edges, and every acquisition moves composed quantities that no single filing states. Denser graphs mean more paths, more parallel holdings, more composed interests sitting near thresholds – more aggregate facts, evasive or innocent, that exist only in composition.

Both developments raise the cost of a missed aggregate and shrink the window for catching one after the fact. The response this paper describes is placement. The views live where the writes happen; the checks on a write run before it commits; the thresholds come from the jurisdiction whose rule is enforced; and what was an investigation after settlement becomes evidence before commitment, with its standing stated and terminal force reserved for facts an authority asserts.