ObjectStackObjectStack

Security Context

Security Context protocol schemas

Unified Security Context Protocol

Provides a central governance layer that correlates and unifies the four independent security subsystems it was designed against. Three of the four have since been REMOVED per ADR-0056 D8 (declared-but-never-enforced; see system/index.ts notes) — only encryption survives, marked experimental:

  • Audit (audit.zod.ts — REMOVED): the live audit path is plugin-audit's always-on capture + object/field trackHistory + lifecycle audit retention
  • Encryption (encryption.zod.ts): Field-level encryption and key management
  • Compliance (compliance.zod.ts — REMOVED): GDPR/HIPAA/SOX/PCI-DSS configs
  • Masking (masking.zod.ts — REMOVED): PII data masking and tokenization

This schema enforces cross-cutting security policies, ensuring compliance frameworks drive encryption requirements, masking rules respect role-based audit visibility, and all security operations are correlated in a single governance context.

See also: https://www.iso.org/standard/27001

@category Security

Source: packages/spec/src/system/security-context.zod.ts

TypeScript Usage

import { ComplianceAuditRequirementSchema, ComplianceEncryptionRequirementSchema, ComplianceFrameworkSchema, DataClassificationSchema, DataClassificationPolicySchema, MaskingVisibilityRuleSchema, SecurityContextConfigSchema, SecurityEventCorrelationSchema } from '@objectstack/spec/system';
import type { ComplianceAuditRequirement, ComplianceEncryptionRequirement, ComplianceFramework, DataClassification, DataClassificationPolicy, MaskingVisibilityRule, SecurityContextConfig, SecurityEventCorrelation } from '@objectstack/spec/system';

// Validate data
const result = ComplianceAuditRequirementSchema.parse(data);

ComplianceAuditRequirement

Compliance framework audit event requirements

Properties

PropertyTypeRequiredDescription
frameworkEnum<'gdpr' | 'hipaa' | 'sox' | 'pci_dss' | 'ccpa' | 'iso27001'>Compliance framework identifier
requiredEventsstring[]Audit event types required by this framework (e.g., "data.delete", "auth.login")
retentionDaysnumberMinimum audit log retention period required by this framework (in days)
alertOnMissingbooleanRaise alert if a required audit event is not being captured

ComplianceEncryptionRequirement

Compliance framework encryption requirements

Properties

PropertyTypeRequiredDescription
frameworkEnum<'gdpr' | 'hipaa' | 'sox' | 'pci_dss' | 'ccpa' | 'iso27001'>Compliance framework identifier
dataClassificationsEnum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>[]Data classifications that must be encrypted under this framework
minimumAlgorithmEnum<'aes-256-gcm' | 'aes-256-cbc' | 'chacha20-poly1305'>Minimum encryption algorithm strength required
keyRotationMaxDaysnumberMaximum key rotation interval required (in days)

ComplianceFramework

Compliance framework identifier

Allowed Values

  • gdpr
  • hipaa
  • sox
  • pci_dss
  • ccpa
  • iso27001

DataClassification

Data classification level

Allowed Values

  • pii
  • phi
  • pci
  • financial
  • confidential
  • internal
  • public

DataClassificationPolicy

Security policy for a specific data classification level

Properties

PropertyTypeRequiredDescription
classificationEnum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>Data classification level
requireEncryptionbooleanEncryption required for this classification
requireMaskingbooleanMasking required for this classification
requireAuditbooleanAudit trail required for access to this classification
retentionDaysnumberoptionalData retention limit in days (for compliance)

MaskingVisibilityRule

Masking visibility and audit rule per data classification

Properties

PropertyTypeRequiredDescription
dataClassificationEnum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>Data classification this rule applies to
defaultMaskedbooleanWhether data is masked by default
unmaskRolesstring[]optionalRoles allowed to view unmasked data
auditUnmaskbooleanLog an audit event when data is unmasked
requireApprovalbooleanRequire explicit approval before unmasking
approvalRolesstring[]optionalRoles that can approve unmasking requests

SecurityContextConfig

Unified security context governance configuration

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable unified security context governance
complianceAuditRequirements{ framework: Enum<'gdpr' | 'hipaa' | 'sox' | 'pci_dss' | 'ccpa' | 'iso27001'>; requiredEvents: string[]; retentionDays: number; alertOnMissing: boolean }[]optionalCompliance-driven audit event requirements
complianceEncryptionRequirements{ framework: Enum<'gdpr' | 'hipaa' | 'sox' | 'pci_dss' | 'ccpa' | 'iso27001'>; dataClassifications: Enum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>[]; minimumAlgorithm: Enum<'aes-256-gcm' | 'aes-256-cbc' | 'chacha20-poly1305'>; keyRotationMaxDays: number }[]optionalCompliance-driven encryption requirements by data classification
maskingVisibility{ dataClassification: Enum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>; defaultMasked: boolean; unmaskRoles?: string[]; auditUnmask: boolean; … }[]optionalMasking visibility rules per data classification
dataClassifications{ classification: Enum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>; requireEncryption: boolean; requireMasking: boolean; requireAudit: boolean; … }[]optionalData classification policies for unified security enforcement
eventCorrelation{ enabled: boolean; correlationId: boolean; linkAuthToAudit: boolean; linkEncryptionToAudit: boolean; … }optionalCross-subsystem security event correlation settings
enforceOnWritebooleanEnforce encryption and masking requirements on data write operations
enforceOnReadbooleanEnforce masking and audit requirements on data read operations
failOpenbooleanWhen false (default), deny access if security context cannot be evaluated

SecurityEventCorrelation

Cross-subsystem security event correlation configuration

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable cross-subsystem security event correlation
correlationIdbooleanInject a shared correlation ID into audit, encryption, and masking events
linkAuthToAuditbooleanLink authentication events to subsequent data operation audit trails
linkEncryptionToAuditbooleanLog encryption/decryption operations in the audit trail
linkMaskingToAuditbooleanLog masking/unmasking operations in the audit trail

On this page