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

# IPolicySecurityService

`IPolicySecurityService` declares the ownership-check contract for whether a policy belongs to (or is serviced by) the current or a specified user; it is fully implemented in `SAIF.Services.Policies.SecurityServices.PolicySecurityService` — see [Security and authorization](../../security-authorization.md) and data-level authorization finding [DLA-CORE-01](../../security-authorization.md#data-level-authorization).

## Purpose
- Declares `IsValidPolicyForCurrentUser(long)` and `ValidatePoliciesForCurrentUser<T>(IEnumerable<T>)` for the current user's policy ownership check.
- Declares `IsValidPolicyForSpecifiedUser` and `ValidatePoliciesForSpecifiedUser<T>` overloads for a specified user; despite a stale "not implemented yet" comment on the interface, both are implemented in SAIF.Services*.

## Context
- Namespace: `SAIF.Core.Contracts.Policies.Security`
- Kind: Interface
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `IsValidPolicyForCurrentUser` | `bool IsValidPolicyForCurrentUser(long policyNumberToValidate)` | Indicates whether valid policy for current user applies to this IPolicySecurityService*. |
| `IsValidPolicyForSpecifiedUser` | `bool IsValidPolicyForSpecifiedUser(long policyNumberToValidate,string userId)` | Indicates whether valid policy for specified user applies to this IPolicySecurityService*. |

> **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/Policies/Security/IPolicySecurityService.cs
