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

## OpaqueSubject Class

Identifies a subject by a string that asserts nothing beyond being its identifier, such as a
UUID or a surrogate key for a database record \(RFC 9493 Section 3\.2\.4\)\.

```csharp
public sealed class OpaqueSubject : Abblix.SecurityEvents.Subjects.SubjectIdentifier
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [SubjectIdentifier](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.SubjectIdentifier 'Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier') → OpaqueSubject
### Constructors

## OpaqueSubject\(string\) Constructor {#Abblix.SecurityEvents.Subjects.OpaqueSubject.OpaqueSubject(string)}

Identifies a subject by a string that asserts nothing beyond being its identifier, such as a
UUID or a surrogate key for a database record \(RFC 9493 Section 3\.2\.4\)\.

```csharp
public OpaqueSubject(string id);
```
#### Parameters

###### `id` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SecurityEvents.Subjects.OpaqueSubject.OpaqueSubject(string).id}

The opaque identifier of the subject\. REQUIRED, and must be neither null nor empty\.
### Properties

## OpaqueSubject\.Id Property {#Abblix.SecurityEvents.Subjects.OpaqueSubject.Id}

The opaque identifier\. It carries no semantics, so it is compared as an exact string and
never interpreted, normalised or parsed\.

```csharp
public string Id { get; }
```

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