Pipeline Stage 02

Fact Mapping

Each channel maps its input to the same set of rule facts. Anything the input does not carry is left absent, so rules about it do not fire either way.

No Invented Facts

simplified flow
facts = {}
for each field the request actually supplied:
    facts[ruleName(field)] = value
# never: cvvMatch = true, velocity = 0, cardPresent = false
facts.velocity1h  = count(decision log, hmac(PAN), 1h)
facts.velocity24h = count(decision log, hmac(PAN), 24h)
-> rule engine (stage 04)

Absent, not defaulted

No channel substitutes defaults such as "CVV matched" or "velocity 0". A rule that depends on a missing fact simply does not fire.

Card and account identity

Cards and accounts are identified by an organization-scoped HMAC of the PAN or account number, never the raw value.

Velocity

Decisions per card or account over the last hour and 24 hours are counted from the decision log.

KB Analytical Solutions Inc. // Fact Mapping // Describes QUORUM at code baseline e9c2cf7