Skip to content

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.

C#
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.

C#
public string EventType { get; init; }

Property Value

System.String

SecurityEventDescriptor.Payload Property

The event's payload; null is an event whose statement is the empty JSON object (RFC 8417 Section 2).

C#
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).

C#
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).

C#
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).

C#
public string? TransactionId { get; init; }

Property Value

System.String