The blocked party that is not on the list
The intuitive model of sanctions screening is a list check. You take the names on a transaction, you compare them against the sanctions lists, and a match is a problem. That model is correct as far as it goes, and it misses an entire class of blocked parties, because some of the most important ones are not on any list.
OFAC's 50 Percent Rule says that any entity owned fifty percent or more, directly or indirectly, in the aggregate, by one or more blocked persons, is itself blocked, by operation of the rule, whether or not it has ever been named. The named person is on the SDN list. The company they own half of may not be, and yet it is just as blocked. A screen that only compares names against the list will wave that company straight through, clean, every time, because the company's own name is genuinely not on the list. The block lives in the ownership, not the name.
Why a name match cannot find it
{
"rule_id": "SAN-OWN-50",
"title": "Entity blocked by aggregate ownership (OFAC 50 Percent Rule)",
"jurisdiction": "us",
"source": "OFAC 50 Percent Rule guidance",
"severity": "block",
"expected_outcome": {
"action": "block",
"message": "Aggregate direct and indirect ownership by blocked persons meets or exceeds 50%. The entity is blocked under the 50 Percent Rule even though it is not separately listed. Do not proceed; escalate to sanctions compliance."
},
"conditions": [
{ "type": "aggregate_ownership", "subject": "party.entity", "by": "blocked_persons", "operator": ">=", "value": 50.0 }
],
"deterministic": true,
"validation_status": "expert_reviewed"
}
This is not a string comparison. It is a computation over an ownership graph. To evaluate it you have to resolve who owns the entity, trace ownership through intermediate companies, identify which of those owners are blocked persons, and aggregate their stakes, because the rule counts the combined ownership of multiple blocked persons, not just any single one. Two blocked individuals each owning thirty percent put the entity over the line together, though neither does alone. The arithmetic is simple. Assembling the inputs, the ownership structure resolved to its real owners, is the hard part, and it is the part that makes this a genuine engine problem rather than a lookup.
Fail closed, because the gap is the whole risk
Here the fail-closed discipline is not a nicety, it is the entire safeguard. Ownership data is often incomplete. Intermediate companies obscure their owners. A stake cannot be resolved. The tempting behavior, when the ownership cannot be fully traced, is to conclude that no blocking threshold was met and let the party through. That is exactly the false clear the rule exists to prevent, because opacity is precisely how a blocked person hides behind an unnamed entity.
So when the ownership cannot be resolved, the engine does not report the entity as clear. It reports that it could not determine ownership, and routes the case to a person. An entity whose owners you cannot see is not an entity you have cleared. In sanctions, the unseen owner is the whole point of the rule, and a system that treats missing ownership as safe ownership has inverted the obligation.
The point
The 50 Percent Rule is the clearest case in all of compliance that screening a name is not screening a party. The dangerous entity is the one that is genuinely not on the list, blocked only through who owns it. Catching it requires resolving ownership to its real ends, aggregating the stakes of blocked persons, and comparing the total to a line, and it requires treating an ownership structure you cannot see as a reason to stop rather than a reason to proceed. A name match cannot do any of that. An engine that computes over the ownership graph, and fails closed when the graph has holes, can.