---
title: SecurityResources
summary: API reference for SecurityResources.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Services
reference_type: package
---

# SecurityResources

Static-holder class of security resource name constants used to authorize access to certificate-related functionality. Each constant is a string identifier (matching the pattern `Certificates<Action>[Osc][Ext]`) that callers pass to the security/authorization subsystem to check whether the current user is permitted to view, maintain, renew, or set preferences for standard or OSC certificates, split into internal-user and external-user ("Ext") resource families.

## Purpose
- Defines the resource name constants (`View`, `MaintainOwn`, `MaintainOthers`, `Renew`, `Preference`, `MaintainOtherCoverages`, and their `Osc` variants) that gate internal-user certificate operations.
- Defines the mirrored external-user ("Ext") resource name constants for the same set of operations, plus a general `ExternalAccessCerts` gate.
- Defines `MaximumEditibleDays`, a numeric constant likely used to limit how many days after issuance a certificate remains editable.*

## Context
- Namespace: `SAIF.Services.Policies.Certificates`
- Assembly/package: `SAIF.Services` (packaged inside the `SAIF.SAIFCode.Core` NuGet package).

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| MaximumEditibleDays | `public const int MaximumEditibleDays = 9` | Number of days after which a certificate is presumably no longer editable.* |
| Preference | `public const string Preference = "CertificatesPreferences"` | Resource name gating access to maintaining certificate delivery/notification preferences (internal users). |
| MaintainOtherCoverages | `public const string MaintainOtherCoverages = "CertificatesOtherCoverages"` | Resource name gating access to maintaining a certificate's "other coverages" text (internal users). |
| MaintainOtherCoveragesExt | `public const string MaintainOtherCoveragesExt = "CertificatesOtherCoveragesExt"` | Resource name gating access to maintaining a certificate's "other coverages" text (external users). |
| View | `public const string View = "CertificatesView"` | Resource name gating read access to certificates (internal users). |
| ViewOsc | `public const string ViewOsc = "CertificatesViewOSC"` | Resource name gating read access to OSC certificates (internal users). |
| MaintainOwn | `public const string MaintainOwn = "CertificatesMaintainOwn"` | Resource name gating maintenance of a user's own certificates (internal users). |
| MaintainOthers | `public const string MaintainOthers = "CertificatesMaintainOthers"` | Resource name gating maintenance of certificates belonging to others (internal users). |
| MaintainOwnOsc | `public const string MaintainOwnOsc = "CertificatesMaintainOwnOSC"` | Resource name gating maintenance of a user's own OSC certificates (internal users). |
| MaintainOthersOsc | `public const string MaintainOthersOsc = "CertificatesMaintainOthersOSC"` | Resource name gating maintenance of OSC certificates belonging to others (internal users). |
| Renew | `public const string Renew = "CertificatesRenew"` | Resource name gating certificate renewal (internal users). |
| RenewOsc | `public const string RenewOsc = "CertificatesRenewOSC"` | Resource name gating OSC certificate renewal (internal users). |
| RenewExternal | `public const string RenewExternal = "CertificatesRenewExt"` | Resource name gating certificate renewal (external users). |
| RenewOscExternal | `public const string RenewOscExternal = "CertificatesRenewOSCExt"` | Resource name gating OSC certificate renewal (external users). |
| ExternalAccessCerts | `public const string ExternalAccessCerts = "CertsExternal"` | Legacy general-purpose resource name gating any external-user certificate access.* |
| PreferenceExternal | `public const string PreferenceExternal = "CertificatesPreferencesExt"` | Resource name gating access to maintaining certificate delivery/notification preferences (external users). |
| ViewExt | `public const string ViewExt = "CertificatesViewExt"` | Resource name gating read access to certificates (external users). |
| ViewOscExt | `public const string ViewOscExt = "CertificatesViewOSCExt"` | Resource name gating read access to OSC certificates (external users). |
| MaintainOwnExt | `public const string MaintainOwnExt = "CertificatesMaintainOwnExt"` | Resource name gating maintenance of a user's own certificates (external users). |
| MaintainOthersExt | `public const string MaintainOthersExt = "CertificatesMaintainOthersExt"` | Resource name gating maintenance of certificates belonging to others (external users). |
| MaintainOwnOscExt | `public const string MaintainOwnOscExt = "CertificatesMaintainOwnOSCExt"` | Resource name gating maintenance of a user's own OSC certificates (external users). |
| MaintainOthersOscExt | `public const string MaintainOthersOscExt = "CertificatesMaintainOthersOSCExt"` | Resource name gating maintenance of OSC certificates belonging to others (external users). |

## Behavioral notes
- All members are `public const` fields with no instance state or behavior; the class exists purely to centralize authorization resource-name strings.*
- The class carries a `CA1053:StaticHolderTypesShouldNotHaveConstructors` suppression, confirming it is intended as a static constant holder despite having an implicit public constructor.
- A source comment ("move to saif.core. ...") indicates this type was intended to be relocated to a lower-layer library but has not yet been moved.*

## Constraints and usage notes
- Consumers should reference these constants by name rather than hardcoding the resource-name strings, since the underlying string values follow an internal naming convention that could change.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Services/SAIF.Services/Policies/Certificates/SecurityResources.cs`
