#### [Abblix\.SecurityEvents](https://www.abblix.com/en/docs/api/abblix-securityevents 'index')

## Abblix\.SecurityEvents\.Validation Namespace

| Classes | |
| :--- | :--- |
| [CompositeSecurityEventTokenValidator](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.CompositeSecurityEventTokenValidator 'Abblix\.SecurityEvents\.Validation\.CompositeSecurityEventTokenValidator') | The composite the step family collapses into: runs its members in order and stops at the first error, so a step sees only tokens that survived everything before it\. |
| [SecurityEventTokenValidationContext](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenValidationContext 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationContext') | The state one token accumulates on its way through the pipeline: each step reads what earlier steps established and writes what it proved\. |
| [SecurityEventTokenValidationError](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenValidationError 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationError') | A validation failure: the code a receiver branches on, and the sentence a log reader needs\. |
| [SecurityEventTokenValidationOptions](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenValidationOptions 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationOptions') | What one validation run expects of the token: the per\-call half of the receiver's configuration, as opposed to the pipeline composition and key resolution, which are wired once\. |
| [SecurityEventTokenValidatorExtensions](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenValidatorExtensions 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidatorExtensions') | The consumer\-facing entry into validation: one call that runs a compact token through a validator and shapes the outcome into the result a consumer acts on\. Defined over the interface rather than a class of its own, because after composition the resolved [ISecurityEventTokenValidator](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.ISecurityEventTokenValidator 'Abblix\.SecurityEvents\.Validation\.ISecurityEventTokenValidator') IS the whole profile \- there is no separate driver to name, hold or inject\. |
| [ValidatedSecurityEventToken](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.ValidatedSecurityEventToken 'Abblix\.SecurityEvents\.Validation\.ValidatedSecurityEventToken') | What a successful validation run hands to the consumer: the token, now carrying its issuer's authority, and the event payloads already deserialized so the consumer does not repeat work the pipeline has done\. |

| Interfaces | |
| :--- | :--- |
| [ISecurityCriticalValidator](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.ISecurityCriticalValidator 'Abblix\.SecurityEvents\.Validation\.ISecurityCriticalValidator') | Marks a validation step whose removal or replacement makes accepting a forged or mistyped token possible\. The pipeline builder refuses to touch such a step without an explicit, reasoned acknowledgement \- "temporarily for a test" must not ride into production silently\. |
| [ISecurityEventTokenValidator](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.ISecurityEventTokenValidator 'Abblix\.SecurityEvents\.Validation\.ISecurityEventTokenValidator') | One check in the validation pipeline\. The validator runs steps in order and stops at the first error, so a step sees only tokens that survived everything before it\. |

| Enums | |
| :--- | :--- |
| [SecurityEventTokenErrorCode](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenErrorCode 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenErrorCode') | Names the ways a SET can fail validation\. |
| [SecurityEventTokenValidationStates](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenValidationStates 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationStates') | The facts a validation pipeline has established so far about the token in flight\. Each step records what it proved, and a step whose safety depends on an earlier proof declares that through [Require\(SecurityEventTokenValidationStates\)](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Validation.SecurityEventTokenValidationContext#Abblix.SecurityEvents.Validation.SecurityEventTokenValidationContext.Require(Abblix.SecurityEvents.Validation.SecurityEventTokenValidationStates) 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationContext\.Require\(Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationStates\)') \- which is what turns a mis\-ordered pipeline into a loud first\-run failure instead of a silently skipped check\. |
