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

# SecurityRoles

`SecurityRoles` (namespace `SAIF.Core.Contracts.Agencies.Notes`) declares the Agencies notes AD resource-name constants; `EditRole`, `DeleteRole`, and `ConfidentialRole` are referenced only by `NoteService.cs`, which is excluded from the `SAIF.Services` build (not compiled), while `ViewRole` has no reference anywhere in the repository — see [Security and authorization](../../security-authorization.md) for the full catalog, enforcement coverage, and tech-debt findings across all 16 constants in this library.

## Purpose
- Declares the Agencies notes AD resource-name constants; `EditRole`, `DeleteRole`, and `ConfidentialRole` are referenced only by the excluded, uncompiled `NoteService.cs`, while `ViewRole` is unreferenced anywhere in the repository — see [Security and authorization](../../security-authorization.md) for the full 16-constant catalog, enforcement coverage, and tech-debt findings.

## Context
- Namespace: `SAIF.Core.Contracts.Agencies.Notes`
- Kind: Class
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ViewRole` | `public const string ViewRole = "AgencyNotePadView";` | Named constant value ("AgencyNotePadView")*. |
| `EditRole` | `public const string EditRole = "AgencyNotePadEdit";` | Named constant value ("AgencyNotePadEdit")*. |
| `DeleteRole` | `public const string DeleteRole = "AgencyNotePadDelete";` | Named constant value ("AgencyNotePadDelete")*. |
| `ConfidentialRole` | `public const string ConfidentialRole = "AgencyNotePadConfidential";` | Named constant value ("AgencyNotePadConfidential")*. |

## Behavioral notes
- The environment suffix (`Resource`/`TestResource`) is not part of the literal constant value; it is appended at runtime by the external `IUserProfileService`/`ISaifUserProfile` authorization check*.

> **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
- Core/SAIF.Core/Contracts/Agencies/Notes/SecurityRoles.cs
