Skip to content

SecureClaimAttributes

SecureClaimAttributes implements SAIF.Core.Contracts.Security.IClaimSecurityAttributes and is the data-level security flag set Claim.BuildSecurityAttributes produces for a claim (DOM-BR-193): it carries whether the claim's worker is a conflict worker and whether the claim itself is marked secured, plus the ClaimSecurityAccess object consumers such as SAIF.Services' claim-security evaluation attach further access decisions to. It only carries security data, not enforcement — no authorization check occurs in this library.

Purpose

  • Carries the conflict-claim and secure-claim flags Claim.BuildSecurityAttributes derives from the worker's conflict status and the claim's secured flag (DOM-BR-193).
  • Provides the Security container that downstream consumers (e.g. SAIF.Services ClaimSecurityService.GetClaimSecurity) attach evaluated access decisions to, keeping data and access-decision concerns in separate objects.

Context

  • Namespace: SAIF.Domain.Model.Claims
  • Assembly/package: SAIF.Domain (packaged in SAIF.SAIFCode.Core)

Public members

Member Signature Purpose
SecureClaimAttributes (constructor) public SecureClaimAttributes() Initializes Security to a new ClaimSecurityAccess instance so it is never null even before a consumer evaluates access.
IsConflictClaim public bool IsConflictClaim { get; internal set; } true when the claim's worker is flagged as a conflict worker (DOM-BR-193); settable only from within SAIF.Domain.
IsSecureClaim public bool IsSecureClaim { get; internal set; } true when the claim itself is marked secured (DOM-BR-193); settable only from within SAIF.Domain.
Security public ClaimSecurityAccess Security { get; set; } The evaluated access-decision container downstream security services populate after inspecting IsConflictClaim/IsSecureClaim.

Behavioral notes

  • IsConflictClaim and IsSecureClaim have internal setters, so only code within SAIF.Domain (specifically Claim.BuildSecurityAttributes) can set them; external consumers can only read the flags this type already carries.

Constraints and usage notes

  • This type carries security data only; no authorization decision or enforcement occurs within SAIF.Domain itself, per the library's Stage 1 security-and-authorization findings.

Sources

  • Domain/SAIF.Domain/Model/Claims/SecureClaimAttributes.cs
  • Domain/SAIF.Domain/Model/Claims/Claim.cs