---
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.Groups.Imaging`) declares the Groups imaging AD resource-name constants; `EditRole`, `ConfidentialRole`, and `DeleteRole` have a compiled enforcement point in SAIF.Services authorization checks, 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 Groups imaging AD resource-name constants; `EditRole`, `ConfidentialRole`, and `DeleteRole` are consumed by compiled SAIF.Services authorization checks, 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.Groups.Imaging`
- Kind: Class
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ViewRole` | `public const string ViewRole = "GroupImagingView";` | Named constant value ("GroupImagingView")*. |
| `EditRole` | `public const string EditRole = "GroupImagingEdit";` | Named constant value ("GroupImagingEdit")*. |
| `ConfidentialRole` | `public const string ConfidentialRole = "GroupImagingConfidential";` | Named constant value ("GroupImagingConfidential")*. |
| `DeleteRole` | `public const string DeleteRole = "GroupImagingDeleted";` | Named constant value ("GroupImagingDeleted")*. |

## 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/Groups/Imaging/SecurityRoles.cs
