Skip to content

UserAccessLevels

UserAccessLevels encodes the authorization tiers that clsPolicySecurity uses to decide whether a caller may view a policy and which demo tiers require masked data. The ordinal spacing is deliberate: the real-user tiers drive the access matrix in BR-VP-005, and each demo tier sits 50 points below its non-demo counterpart so demo-user handling can be recognized with a simple level comparison in the masking flow described by BR-VP-010.

Purpose

  • Provide a normalized access-tier vocabulary for clsPolicySecurity.ConvertUserTypeToUserAccessLevel and IsPolicyValidForUser.
  • Separate real and demo user categories while keeping their relative ordering aligned for shared authorization and masking logic.
  • Give policy-security code a stable numeric ordering for matrix-style checks across employees, auditors, consultants, agents, groups, policyholders, and quick-file users.

Context

  • Namespace: SAIF.Business.View.Policy
  • Assembly/package: SAIF.Business.View.Policy (embedded)

Public members

Member Signature Purpose
SAIFEmployee SAIFEmployee = 1000 Highest-trust internal SAIF employee tier; policy access is allowed directly under the matrix in BR-VP-005.
Auditor Auditor = 900 External or audit-role tier evaluated through the auditor-specific 60-day access window in BR-VP-006.
DemoAuditor DemoAuditor = 850 Demo equivalent of the auditor tier; participates in auditor rules while receiving masked data under BR-VP-010.
Losscontrol Losscontrol = 800 Loss-control consultant tier evaluated by consultant-prefix matching under BR-VP-007.
DemoLossControl DemoLossControl = 750 Demo loss-control tier that follows consultant matching, including the demo-specific identity rule in BR-VP-008.
Agent Agent = 700 Agent tier validated against the agent's accessible policy list under the BR-VP-005 policy-security matrix.
DemoAgent DemoAgent = 650 Demo equivalent of the agent tier; authorization follows agent rules while returned data is masked per BR-VP-010.
Group Group = 600 Group-user tier checked through group-policy membership lookup in the policy-security matrix.
DemoGroup DemoGroup = 550 Demo equivalent of the group tier, preserving group-based authorization while enabling masked output.
Policyholder Policyholder = 500 Policyholder tier validated against the policyholder's accessible policies in the authorization matrix.
DemoPolicyholder DemoPolicyholder = 450 Demo equivalent of the policyholder tier; retains policyholder-style authorization with masked returned data.
QuickFileUser QuickFileUser = 300 Lowest explicitly enumerated tier, used for quick-file access decisions in the same authorization matrix.

Behavioral notes

  • clsPolicySecurity converts user types into these ordinals before evaluating policy access under BR-VP-005.
  • The pattern of placing each demo tier 50 points below the corresponding real tier enables shared comparisons for demo detection and masking behavior in BR-VP-010.*
  • These values are part of the library's security vocabulary; changing them would alter both authorization ordering and demo-tier recognition.

Constraints and usage notes

  • Keep the documented ordinal values stable when maintaining compatibility with existing clsPolicySecurity checks.
  • Prefer comparing against the enum values rather than hard-coded numbers in consuming code.

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

  • SAIF.Business.View.Policy/clsPolicyData.vb