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

## SharedSignalsValidationOptions Class

The validation expectations of an SSF receiver: everything the core profile expects of a SET,
plus what the SSF profile adds \- the stream the event must belong to and the transmitter's
declared critical subject members\. The SSF steps refuse to run against the base options type,
so a profile wired with the wrong flavor fails loudly on its first token\.

```csharp
public sealed record SharedSignalsValidationOptions : Abblix.SecurityEvents.Validation.SecurityEventTokenValidationOptions, System.IEquatable<Abblix.SharedSignals.Receiver.SecurityEvent.SharedSignalsValidationOptions>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationOptions](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.validation.securityeventtokenvalidationoptions 'Abblix\.SecurityEvents\.Validation\.SecurityEventTokenValidationOptions') → SharedSignalsValidationOptions

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

## SharedSignalsValidationOptions\.CriticalSubjectMembers Property {#Abblix.SharedSignals.Receiver.SecurityEvent.SharedSignalsValidationOptions.CriticalSubjectMembers}

The complex\-subject member names the transmitter declared critical
\("critical\_subject\_members" in its configuration metadata, SSF 1\.0 Section 7\.1\)\. An
event whose subject carries one of them in a form this receiver cannot interpret is
discarded \(Section 3\.6\)\.

```csharp
public System.Collections.Generic.IReadOnlyCollection<string> CriticalSubjectMembers { get; init; }
```

#### Property Value
[System\.Collections\.Generic\.IReadOnlyCollection&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlycollection-1 'System\.Collections\.Generic\.IReadOnlyCollection\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlycollection-1 'System\.Collections\.Generic\.IReadOnlyCollection\`1')

## SharedSignalsValidationOptions\.StreamIssuer Property {#Abblix.SharedSignals.Receiver.SecurityEvent.SharedSignalsValidationOptions.StreamIssuer}

The issuer of the stream the events arrive on, from its Stream Configuration\. SSF 1\.0
Section 4\.1\.6 requires the "iss" claim to match both the Stream Configuration's issuer
and the issuer the Transmitter Configuration was requested from; the receiver proved
those two equal when it accepted the stream \(Sections 7\.2\.2, 8\.1\.1\.1\), so one value here
carries both halves of the rule\.

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

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

## SharedSignalsValidationOptions\.SubjectSerializerOptions Property {#Abblix.SharedSignals.Receiver.SecurityEvent.SharedSignalsValidationOptions.SubjectSerializerOptions}

The options the "sub\_id" claim is read with\. Null \- the common case \- reads the built\-in
vocabulary, which already spans the RFC 9493 registry and the SSF extensions; a
deployment speaking proprietary formats supplies options carrying its own extended
subject converter\.

```csharp
public System.Text.Json.JsonSerializerOptions? SubjectSerializerOptions { get; init; }
```

#### Property Value
[System\.Text\.Json\.JsonSerializerOptions](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.jsonserializeroptions 'System\.Text\.Json\.JsonSerializerOptions')
