ObjectStackObjectStack

Misc schema — Security Protocol reference

Misc schemas of the ObjectStack Security Protocol: CapabilityDeclaration and 4 more — each property with its type, default and a TypeScript example.

TypeScript Usage

import { CapabilityDeclarationSchema, OrgScopingEntitlementSchema, PlatformGlobalObjectsSchema, TenancyPostureSchema, TenantLayer0VerdictSchema } from '@objectstack/spec/security';
import type { CapabilityDeclaration, OrgScopingEntitlement, PlatformGlobalObjects, TenancyPosture, TenantLayer0Verdict } from '@objectstack/spec/security';

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

CapabilityDeclaration

Properties

PropertyTypeRequiredDescription
namestring✅Stable capability key referenced by systemPermissions / requiredPermissions
labelstringoptionalHuman label shown in Setup
descriptionstringoptionalWhat holding this capability permits
scopeEnum<'platform' | 'org'>optional (default: "platform")platform = a platform-wide power; org = scoped to an organization
packageIdstringoptional[ADR-0086 D3] Owning package id (author-declared fallback; absent = registry-stamped)
_lockEnum<'none' | 'no-overlay' | 'no-delete' | 'full'>optionalItem-level lock — controls overlay & delete (ADR-0010).
_lockReasonstringoptionalHuman-readable reason shown when a write is refused by _lock.
_lockSourceEnum<'artifact' | 'package' | 'env-forced'>optionalLayer that set _lock (artifact | package | env-forced).
_provenanceEnum<'package' | 'org' | 'env-forced'>optionalOrigin of the item (package | org | env-forced).
_packageIdstringoptionalOwning package machine id.
_packageVersionstringoptionalOwning package version.
_lockDocsUrlstringoptionalOptional documentation link surfaced next to _lockReason.

OrgScopingEntitlement

Properties

PropertyTypeRequiredDescription
supportedPosturesEnum<'single' | 'group' | 'isolated'>[]optional
platformGlobalObjectsstring[]optional
suppressUnboundedOrgAdminGrantbooleanoptional

PlatformGlobalObjects

Type: string[]


TenancyPosture

Allowed Values

  • single
  • group
  • isolated

TenantLayer0Verdict

Union Options

This schema accepts one of the following structures:

Option 1

Properties

PropertyTypeRequiredDescription
kind'none'✅

Option 2

Properties

PropertyTypeRequiredDescription
kind'organization'✅
organizationIdstring✅

Option 3

Properties

PropertyTypeRequiredDescription
kind'organizations'✅
organizationIdsstring[]✅

Option 4

Properties

PropertyTypeRequiredDescription
kind'deny'✅


On this page