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

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

```csharp
public sealed record SecurityEventDescriptor : System.IEquatable<Abblix.SharedSignals.Transmitter.SecurityEventDescriptor>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → SecurityEventDescriptor

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[SecurityEventDescriptor](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.SecurityEventDescriptor 'Abblix\.SharedSignals\.Transmitter\.SecurityEventDescriptor')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Properties

## SecurityEventDescriptor\.EventType Property {#Abblix.SharedSignals.Transmitter.SecurityEventDescriptor.EventType}

The event type URI \- the key the statement travels under in the "events" claim, and the
value matched against the stream's delivered set\.

```csharp
public string EventType { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## SecurityEventDescriptor\.Payload Property {#Abblix.SharedSignals.Transmitter.SecurityEventDescriptor.Payload}

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

```csharp
public Abblix.SecurityEvents.Events.IEventPayload? Payload { get; init; }
```

#### Property Value
[Abblix\.SecurityEvents\.Events\.IEventPayload](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.events.ieventpayload 'Abblix\.SecurityEvents\.Events\.IEventPayload')

## SecurityEventDescriptor\.Subject Property {#Abblix.SharedSignals.Transmitter.SecurityEventDescriptor.Subject}

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\)\.

```csharp
public Abblix.SecurityEvents.Subjects.SubjectIdentifier Subject { get; init; }
```

#### Property Value
[Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.subjects.subjectidentifier 'Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier')

## SecurityEventDescriptor\.TimeOfEvent Property {#Abblix.SharedSignals.Transmitter.SecurityEventDescriptor.TimeOfEvent}

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\)\.

```csharp
public System.Nullable<System.DateTimeOffset> TimeOfEvent { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.DateTimeOffset](https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset 'System\.DateTimeOffset')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## SecurityEventDescriptor\.TransactionId Property {#Abblix.SharedSignals.Transmitter.SecurityEventDescriptor.TransactionId}

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\)\.

```csharp
public string? TransactionId { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
