SecurityEventDescriptor Class
One security event as the transmitter's application states it, before any stream is chosen: what happened, to whom, and when. The dispatcher turns it into per-stream SETs - each stream gets its own token with its own audience and identifier, per the one-receiver-per-SET guidance of SSF 1.0 Section 4.1.8.
public sealed record SecurityEventDescriptor : System.IEquatable<Abblix.SharedSignals.Transmitter.SecurityEventDescriptor>Inheritance System.Object → SecurityEventDescriptor
Implements System.IEquatable<SecurityEventDescriptor>
Properties
SecurityEventDescriptor.EventType Property
The event type URI - the key the statement travels under in the "events" claim, and the value matched against the stream's delivered set.
public string EventType { get; init; }Property Value
SecurityEventDescriptor.Payload Property
The event's payload; null is an event whose statement is the empty JSON object (RFC 8417 Section 2).
public Abblix.SecurityEvents.Events.IEventPayload? Payload { get; init; }Property Value
Abblix.SecurityEvents.Events.IEventPayload
SecurityEventDescriptor.Subject Property
The subject the event is about, carried as the SET's top-level "sub_id" (SSF 1.0 Section 4.1.2) and matched against the stream's subjects (Section 8.1.3.1).
public Abblix.SecurityEvents.Subjects.SubjectIdentifier Subject { get; init; }Property Value
Abblix.SecurityEvents.Subjects.SubjectIdentifier
SecurityEventDescriptor.TimeOfEvent Property
When the event itself occurred, as opposed to when its SETs are issued; absent when the transmitter declines to share an event time (RFC 8417 Section 2.2).
public System.Nullable<System.DateTimeOffset> TimeOfEvent { get; init; }Property Value
System.Nullable<System.DateTimeOffset>
SecurityEventDescriptor.TransactionId Property
The "txn" claim correlating this event with others of the same transaction; absent when there is no transaction to name (RFC 8417 Section 2.2).
public string? TransactionId { get; init; }