- On arrival
- It lands in whatever shape its source publishes — a file hash in one feed, a domain with a bespoke confidence field in another, a YARA rule in a third, a Sigma rule in a fourth. Nothing is consumed in its native shape, because a store that keeps every source format eventually needs a parser per supplier and gets one per outage.
- After normalisation
- It is mapped to a STIX/TAXII-compatible schema with its type declared, and the same indicator arriving from ten sources collapses into one record carrying ten provenance entries rather than ten alerts. Then it is intersected with your discovered estate. That intersection is a deterministic rule-based match with no model anywhere in the path — which is the first thing worth knowing when someone asks how a block-list decision got made. An indicator matching nothing you run stays stored and searchable rather than entering your queue.
- At expiry
- Indicators decay on a sliding window with revalidation rather than on a timer alone: a time-to-live, plus a check that the indicator is still live. A domain that was serving malware in March is often a content-delivery front by August, and a block list that never forgets is mostly archaeology with a false-positive habit.