{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://finance.entelekron.org/schemas/financial-authority-register.schema.json",
  "title": "TVKUSD financial authority register",
  "type": "object",
  "additionalProperties": false,
  "required": ["$schema", "schemaVersion", "controlPlaneId", "canonicalAssetId", "registryId", "status", "asOf", "productionIdentityProvider", "humanAuthorities", "workloadIdentities", "roleAssignments", "authorityDomains", "separationOfDuties", "identityRequirements", "authority", "notice"],
  "properties": {
    "$schema": {"const": "https://finance.entelekron.org/schemas/financial-authority-register.schema.json"},
    "schemaVersion": {"type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"},
    "controlPlaneId": {"const": "tvk-group:entelekron-financial-infrastructure"},
    "canonicalAssetId": {"const": "tvk-group:tvkusd"},
    "registryId": {"type": "string", "minLength": 1},
    "status": {"const": "no-production-authorities"},
    "asOf": {"type": "string", "format": "date-time"},
    "productionIdentityProvider": {"type": "null"},
    "humanAuthorities": {"type": "array", "maxItems": 0},
    "workloadIdentities": {"type": "array", "maxItems": 0},
    "roleAssignments": {"type": "array", "maxItems": 0},
    "authorityDomains": {"type": "array", "minItems": 12, "maxItems": 12, "uniqueItems": true, "items": {"type": "string", "minLength": 1}},
    "separationOfDuties": {
      "type": "object", "additionalProperties": false,
      "required": ["minimumIndependentApprovers", "requesterMayBeSoleApprover", "approverMayBeSoleSigner", "signerMayBeSoleReconciler", "reserveControllerMaySolelyCompleteMint", "paymentOperatorMaySolelyReleaseAndReconcile", "keyCustodianMaySolelyRecoverAndActivate", "incidentCommanderMaySolelyResumeProduction", "auditorMayHoldValueMovementAuthority", "breakGlassMayBypassSegregatedBooks"],
      "properties": {
        "minimumIndependentApprovers": {"type": "integer", "minimum": 2},
        "requesterMayBeSoleApprover": {"const": false},
        "approverMayBeSoleSigner": {"const": false},
        "signerMayBeSoleReconciler": {"const": false},
        "reserveControllerMaySolelyCompleteMint": {"const": false},
        "paymentOperatorMaySolelyReleaseAndReconcile": {"const": false},
        "keyCustodianMaySolelyRecoverAndActivate": {"const": false},
        "incidentCommanderMaySolelyResumeProduction": {"const": false},
        "auditorMayHoldValueMovementAuthority": {"const": false},
        "breakGlassMayBypassSegregatedBooks": {"const": false}
      }
    },
    "identityRequirements": {
      "type": "object", "additionalProperties": false,
      "required": ["phishingResistantMfaRequired", "hardwareBoundAuthenticationRequiredForHighImpactRoles", "sharedAccountsPermitted", "standingAdministrativeAccessPermitted", "justInTimeElevationRequired", "timeBoundApprovalRequired", "sessionAndDecisionEvidenceRequired", "periodicAccessRecertificationRequired"],
      "properties": {
        "phishingResistantMfaRequired": {"const": true},
        "hardwareBoundAuthenticationRequiredForHighImpactRoles": {"const": true},
        "sharedAccountsPermitted": {"const": false},
        "standingAdministrativeAccessPermitted": {"const": false},
        "justInTimeElevationRequired": {"const": true},
        "timeBoundApprovalRequired": {"const": true},
        "sessionAndDecisionEvidenceRequired": {"const": true},
        "periodicAccessRecertificationRequired": {"const": true}
      }
    },
    "authority": {
      "type": "object", "additionalProperties": false,
      "required": ["aiCanHoldProductionRole", "aiCanApprove", "aiCanSign", "aiCanCreateOrElevateIdentity", "singleHumanCanCompleteHighImpactAction", "repositoryMembershipCreatesFinancialAuthority"],
      "properties": {
        "aiCanHoldProductionRole": {"const": false},
        "aiCanApprove": {"const": false},
        "aiCanSign": {"const": false},
        "aiCanCreateOrElevateIdentity": {"const": false},
        "singleHumanCanCompleteHighImpactAction": {"const": false},
        "repositoryMembershipCreatesFinancialAuthority": {"const": false}
      }
    },
    "notice": {"type": "string", "minLength": 1}
  }
}
