{"openapi":"3.1.0","info":{"title":"FrontierBeacon REST API","version":"0.2.0-alpha.10","description":"Public alpha at https://api.frontierbeacon.io; read-only access to an evidence-led, non-market-complete corpus of 1222 cybersecurity, VVS and transport provider profiles (1221 included, 1 review). Contract 0.2.0."},"servers":[{"url":"https://api.frontierbeacon.io","description":"Public alpha API"}],"paths":{"/v0.2.0/vocabulary":{"get":{"summary":"Exact supported capability vocabulary without profiles","responses":{"200":{"description":"Taxonomies, criterion IDs, unsupported examples and limitations"}}}},"/v0.2.0/search":{"post":{"summary":"Find candidates using hard requirements and preferences","description":"Search contracts 0.1.0 and 0.2.0; 0.2.0 supports city business location, separate VVS taxonomy, exact named service/customer fields and optional evidence-class filtering. Unknown hard requirements never count as strict matches. Partial alternatives are separately labeled and business claims preserve provenance.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["search_version","requirements"],"properties":{"offset":{"type":"integer","minimum":0,"maximum":1000000,"default":0},"partial_offset":{"type":"integer","minimum":0,"maximum":1000000,"default":0},"partial_limit":{"type":"integer","minimum":1,"maximum":20,"description":"Opt in to an independent partial page, outside the strict limit. Requires include_partial true and confirmed_only false to return alternatives."},"response_detail":{"enum":["full","compact"],"default":"full","description":"Use compact for shortlists with source references; full preserves complete embedded sources."},"search_version":{"enum":["0.1.0","0.2.0"]},"as_of":{"type":"string","format":"date-time"},"limit":{"type":"integer","minimum":1,"maximum":20,"default":10},"confirmed_only":{"type":"boolean","default":true},"include_partial":{"type":"boolean","default":false},"requirements":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"object","additionalProperties":false,"required":["criterion_id","dimension","importance"],"properties":{"claim_class":{"enum":["registry_verified","source_observed","business_claimed"],"description":"Optional exact evidence class; unknown and inference never count as confirmed support."},"criterion_id":{"type":"string","maxLength":100},"dimension":{"type":"string","maxLength":100},"importance":{"enum":["hard","preference"]},"value":{"type":"string","maxLength":100},"city":{"type":"string","maxLength":80},"country_code":{"type":"string","maxLength":100},"subdivision_code":{"type":["string","null"],"maxLength":100},"experience_kind":{"type":"string","maxLength":100},"taxonomy_id":{"type":"string","maxLength":100},"taxonomy_version":{"type":"string","maxLength":100}}}}}}}}},"responses":{"200":{"description":"Bounded strict candidates and optional labeled alternatives, criterion evidence and explicit unsupported inputs","content":{"application/json":{"schema":{"type":"object","required":["search_version","outcome","strict_total","strict_results","partial_results","unsupported_criteria"],"properties":{"search_version":{"enum":["0.1.0","0.2.0"]},"outcome":{"enum":["strict_matches","partial_alternatives","no_candidates","insufficient_evidence","unsupported_criteria"]},"strict_total":{"type":"integer"},"strict_results":{"type":"array","maxItems":20,"items":{"type":"object"}},"partial_results":{"type":"array","maxItems":20,"items":{"type":"object"}},"unsupported_criteria":{"type":"array","maxItems":8,"items":{"type":"object"}}}}}}},"400":{"description":"Invalid search request"},"500":{"description":"Search unavailable"}}}},"/health":{"get":{"summary":"Runtime health","responses":{"200":{"description":"Healthy frozen corpus","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"},"example":{"status":"ok","release_id":"0.2.0-alpha.10","contract_version":"0.2.0","profile_count":1222}}}}}}},"/v0.2.0/profiles":{"get":{"summary":"List profiles","parameters":[{"name":"contract_version","in":"query","schema":{"type":"string","enum":["0.2.0","0.1.0"],"default":"0.2.0"}},{"name":"as_of","in":"query","description":"ISO-8601 read time for deterministic freshness evaluation","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Negotiated versioned profile list","content":{"application/json":{"schema":{"type":"object","required":["contract_version","profiles"],"properties":{"contract_version":{"enum":["0.2.0","0.1.0"]},"profiles":{"type":"array","items":{"$ref":"#/components/schemas/Profile"}}},"additionalProperties":false},"examples":{"portable_contract_0_2_0":{"summary":"Accepted contract 0.2.0 representation","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles?as_of=2026-09-04T00%3A00%3A00.000Z"},"legacy_contract_0_1_0":{"summary":"Negotiated contract 0.1.0 compatibility projection","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles?contract_version=0.1.0&as_of=2026-09-04T00%3A00%3A00.000Z"}}}}},"400":{"description":"Malformed input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Unsupported or unrepresentable contract version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v0.2.0/profiles/{profile_id}":{"get":{"summary":"Get a profile by canonical ID","parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string"},"example":"fb:org:4f071189-e67f-488c-a397-223db715941a"},{"name":"contract_version","in":"query","schema":{"type":"string","enum":["0.2.0","0.1.0"],"default":"0.2.0"}},{"name":"as_of","in":"query","description":"ISO-8601 read time for deterministic freshness evaluation","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Negotiated 0.2.0 profile or 0.1.0 compatibility projection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profile"},"examples":{"portable_contract_0_2_0":{"summary":"Accepted contract 0.2.0 representation","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles/fb%3Aorg%3A4f071189-e67f-488c-a397-223db715941a"},"legacy_contract_0_1_0":{"summary":"Negotiated contract 0.1.0 compatibility projection","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles/fb%3Aorg%3A4f071189-e67f-488c-a397-223db715941a?contract_version=0.1.0"}}}}},"400":{"description":"Malformed input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Profile not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Unsupported or unrepresentable contract version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v0.2.0/profiles/lookup":{"get":{"summary":"Lookup by typed external identifier","parameters":[{"name":"scheme","in":"query","required":true,"schema":{"type":"string"},"example":"dk.cvr"},{"name":"value","in":"query","required":true,"schema":{"type":"string"},"example":"27126502"},{"name":"country_code","in":"query","schema":{"type":"string"},"example":"DK"},{"name":"subdivision_code","in":"query","schema":{"type":"string"}},{"name":"contract_version","in":"query","schema":{"type":"string","enum":["0.2.0","0.1.0"],"default":"0.2.0"}},{"name":"as_of","in":"query","description":"ISO-8601 read time for deterministic freshness evaluation","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Negotiated 0.2.0 profile or 0.1.0 compatibility projection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profile"},"examples":{"portable_contract_0_2_0":{"summary":"Accepted contract 0.2.0 representation","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles/lookup?scheme=dk.cvr&country_code=DK&value=27126502"},"legacy_contract_0_1_0":{"summary":"Negotiated contract 0.1.0 compatibility projection","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles/lookup?scheme=dk.cvr&country_code=DK&value=27126502&contract_version=0.1.0"}}}}},"400":{"description":"Malformed input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Profile not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Unsupported or unrepresentable contract version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v0.2.0/profiles/by-market":{"get":{"summary":"Filter profiles by market presence","parameters":[{"name":"country_code","in":"query","required":true,"schema":{"type":"string"},"example":"DK"},{"name":"contract_version","in":"query","schema":{"type":"string","enum":["0.2.0","0.1.0"],"default":"0.2.0"}},{"name":"as_of","in":"query","description":"ISO-8601 read time for deterministic freshness evaluation","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Negotiated versioned profile list","content":{"application/json":{"schema":{"type":"object","required":["contract_version","profiles"],"properties":{"contract_version":{"enum":["0.2.0","0.1.0"]},"profiles":{"type":"array","items":{"$ref":"#/components/schemas/Profile"}}},"additionalProperties":false},"examples":{"portable_contract_0_2_0":{"summary":"Accepted contract 0.2.0 representation","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles/by-market?country_code=DK"},"legacy_contract_0_1_0":{"summary":"Negotiated contract 0.1.0 compatibility projection","externalValue":"https://api.frontierbeacon.io/v0.2.0/profiles/by-market?country_code=DK&contract_version=0.1.0"}}}}},"400":{"description":"Malformed input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Unsupported or unrepresentable contract version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Profile":{"oneOf":[{"title":"FrontierBeacon portable evidence-bearing organization profile","type":"object","additionalProperties":false,"required":["contract_version","profile_id","canonical_id_assignment","record_origin","organization","external_identifiers","market_presences","identity_resolution","conflicts","capability_sets","directory_evaluations","summary","sources","freshness"],"properties":{"contract_version":{"const":"0.2.0"},"profile_id":{"type":"string","pattern":"^fb:org:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"canonical_id_assignment":{"type":"object","additionalProperties":false,"required":["method","assigned_at","rule_version"],"properties":{"method":{"const":"frontierbeacon_opaque_uuid"},"assigned_at":{"type":"string","format":"date-time"},"rule_version":{"const":"0.2.0"}}},"record_origin":{"enum":["observed","synthetic_fixture"]},"organization":{"type":"object","additionalProperties":false,"required":["legal_name","lifecycle_status","entity_type","websites"],"properties":{"legal_name":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"lifecycle_status":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"entity_type":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"websites":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]}},"display_name":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]}}},"external_identifiers":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["scheme","jurisdiction","value","normalized_value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"scheme":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:\\.[a-z0-9_]+)+$","maxLength":100},"jurisdiction":{"type":"object","additionalProperties":false,"required":["country_code","subdivision_code"],"properties":{"country_code":{"oneOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]},"subdivision_code":{"oneOf":[{"type":"string","pattern":"^[A-Z]{2}-[A-Z0-9]{1,3}$"},{"type":"null"}]}}},"value":{"type":"string","minLength":1,"maxLength":256},"normalized_value":{"type":"string","minLength":1,"maxLength":256},"claim_class":{"enum":["registry_verified","source_observed","business_claimed"]},"evidence_refs":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"type":"string","format":"date-time"},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}}}}},"market_presences":{"type":"array","items":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"type":"object","additionalProperties":false,"required":["country_code","subdivision_code","presence_type"],"properties":{"country_code":{"type":"string","pattern":"^[A-Z]{2}$"},"subdivision_code":{"oneOf":[{"type":"string","pattern":"^[A-Z]{2}-[A-Z0-9]{1,3}$"},{"type":"null"}]},"presence_type":{"enum":["registered","establishment","service_area","remote_service"]}}}}}]}},"identity_resolution":{"type":"object","additionalProperties":false,"required":["status","confidence","highest_authority_rank","usable_source_count","independent_publisher_count","reason_codes","evidence_refs","evaluated_at","policy_id","policy_version"],"properties":{"status":{"enum":["resolved","review","unknown"]},"confidence":{"enum":["high","medium","low","insufficient"]},"highest_authority_rank":{"oneOf":[{"type":"integer","minimum":1,"maximum":4},{"type":"null"}]},"usable_source_count":{"type":"integer","minimum":0},"independent_publisher_count":{"type":"integer","minimum":0},"reason_codes":{"type":"array","minItems":1,"uniqueItems":true,"items":{"enum":["IDR-01_RANK1_SINGLE","IDR-02_CORROBORATED_NO_REGISTRY","IDR-03_ZERO_SOURCES","IDR-04_SINGLE_NONAUTHORITATIVE","IDR-05_INSUFFICIENT_CORROBORATION","IDR-06_MATERIAL_CONFLICT","IDR-07_IDENTIFIER_COLLISION","IDR-08_STALE","IDR-09_PERSON_DEPENDENCY"]}},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"evaluated_at":{"type":"string","format":"date-time"},"policy_id":{"const":"frontierbeacon.identity-resolution"},"policy_version":{"const":"0.2.0"}}},"conflicts":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["conflict_id","field_path","source_refs","material","status","resolution_rule_id"],"properties":{"conflict_id":{"type":"string","minLength":1},"field_path":{"type":"string","minLength":1},"source_refs":{"type":"array","minItems":2,"uniqueItems":true,"items":{"type":"string","minLength":1}},"material":{"type":"boolean"},"status":{"enum":["unresolved","resolved_by_authority","non_material_alias"]},"resolution_rule_id":{"oneOf":[{"type":"string","minLength":1},{"type":"null"}]}}}},"capability_sets":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["taxonomy","assessments"],"properties":{"taxonomy":{"type":"object","additionalProperties":false,"required":["taxonomy_id","taxonomy_version"],"properties":{"taxonomy_id":{"type":"string","minLength":1},"taxonomy_version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"assessments":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["capability_id","status"],"properties":{"capability_id":{"type":"string","pattern":"^[a-z][a-z0-9_.]{1,99}$"},"status":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]}}}}}}},"directory_evaluations":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["evaluation_id","ruleset_version","taxonomy","market_scope","disposition","claim_class","reason_codes","evidence_refs","evaluated_at"],"properties":{"evaluation_id":{"type":"string","minLength":1},"ruleset_version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"},"taxonomy":{"type":"object","additionalProperties":false,"required":["taxonomy_id","taxonomy_version"],"properties":{"taxonomy_id":{"type":"string","minLength":1},"taxonomy_version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"market_scope":{"type":"object","additionalProperties":false,"required":["country_code","subdivision_code"],"properties":{"country_code":{"type":"string","pattern":"^[A-Z]{2}$"},"subdivision_code":{"oneOf":[{"type":"string","pattern":"^[A-Z]{2}-[A-Z0-9]{1,3}$"},{"type":"null"}]}}},"disposition":{"enum":["included","excluded","review"]},"claim_class":{"const":"inferred"},"reason_codes":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1}},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"evaluated_at":{"type":"string","format":"date-time"}}}},"summary":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"sources":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["source_id","source_class","simulates_source_class","identity_authority_rank","collection_channel","locator","publisher","retrieved_at","content_date","access","content","personal_data_present"],"properties":{"source_id":{"type":"string","minLength":1,"maxLength":200},"source_class":{"enum":["authoritative_organization_registry","public_institutional_listing","verified_official_domain","provider_owned_web","independent_public_source","official_guidance","search_discovery","local_synthetic"]},"simulates_source_class":{"enum":["authoritative_organization_registry","public_institutional_listing","verified_official_domain","provider_owned_web","independent_public_source","official_guidance","search_discovery","none"],"description":"Used only when source_class is local_synthetic to declare the simulated fixture class. Real sources may repeat source_class here for legacy compatibility; this does not classify them as synthetic."},"identity_authority_rank":{"oneOf":[{"type":"integer","minimum":1,"maximum":5},{"type":"null"}]},"collection_channel":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"publisher":{"type":"string","minLength":1},"retrieved_at":{"type":"string","format":"date-time"},"content_date":{"oneOf":[{"type":"string","format":"date"},{"type":"null"}]},"access":{"type":"object","additionalProperties":false,"required":["terms_status","license","attribution_required"],"properties":{"terms_status":{"enum":["fixture_approved","public_manual_observation","review_required","access_restricted"]},"license":{"oneOf":[{"type":"string"},{"type":"null"}]},"attribution_required":{"type":"boolean"}}},"content":{"type":"object","additionalProperties":false,"required":["capture_type","text"],"properties":{"capture_type":{"enum":["synthetic_excerpt","minimal_excerpt","reference_only","unavailable"]},"text":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"personal_data_present":{"const":false},"response_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"extraction_rule":{"type":"string"},"quote_scope":{"type":"string","minLength":1},"receipt_action":{"type":"integer","minimum":1}}}},"freshness":{"type":"object","additionalProperties":false,"required":["evaluated_at","newest_identity_observed_at","newest_service_observed_at","next_review_at"],"properties":{"evaluated_at":{"type":"string","format":"date-time"},"newest_identity_observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"newest_service_observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"next_review_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},"vvs_research":{"type":"object","required":["id","candidate_id","services","business_locations"],"description":"Source-qualified VVS profile extension. Historical research objects remain unchanged; new adapter mappings preserve field evidence and qualifications without establishing legal identity."},"business_locations":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["profile_id","claim","sources"],"properties":{"profile_id":{"type":"string","pattern":"^fb:org:"},"claim":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"sources":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["source_id","source_class","simulates_source_class","identity_authority_rank","collection_channel","locator","publisher","retrieved_at","content_date","access","content","personal_data_present"],"properties":{"source_id":{"type":"string","minLength":1,"maxLength":200},"source_class":{"enum":["authoritative_organization_registry","public_institutional_listing","verified_official_domain","provider_owned_web","independent_public_source","official_guidance","search_discovery","local_synthetic"]},"simulates_source_class":{"enum":["authoritative_organization_registry","public_institutional_listing","verified_official_domain","provider_owned_web","independent_public_source","official_guidance","search_discovery","none"],"description":"Used only when source_class is local_synthetic to declare the simulated fixture class. Real sources may repeat source_class here for legacy compatibility; this does not classify them as synthetic."},"identity_authority_rank":{"oneOf":[{"type":"integer","minimum":1,"maximum":5},{"type":"null"}]},"collection_channel":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"publisher":{"type":"string","minLength":1},"retrieved_at":{"type":"string","format":"date-time"},"content_date":{"oneOf":[{"type":"string","format":"date"},{"type":"null"}]},"access":{"type":"object","additionalProperties":false,"required":["terms_status","license","attribution_required"],"properties":{"terms_status":{"enum":["fixture_approved","public_manual_observation","review_required","access_restricted"]},"license":{"oneOf":[{"type":"string"},{"type":"null"}]},"attribution_required":{"type":"boolean"}}},"content":{"type":"object","additionalProperties":false,"required":["capture_type","text"],"properties":{"capture_type":{"enum":["synthetic_excerpt","minimal_excerpt","reference_only","unavailable"]},"text":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"personal_data_present":{"const":false},"response_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"extraction_rule":{"type":"string"},"quote_scope":{"type":"string","minLength":1},"receipt_action":{"type":"integer","minimum":1}}}},"administrative_claims":{"type":"object","additionalProperties":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]}},"details":{"type":"object","additionalProperties":false,"properties":{"postcode":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"municipality":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"contact_page":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"precise_address":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"visitability":{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["adapter_mapping","manual_rule","deterministic_rule","registry_mapping","migration_mapping","not_observed"]},"rule_id":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}},"qualifier":{"type":"string"}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},"precision_basis":{"enum":["relevant_business_location","customer_visit_location"]}}}}},"description":"Optional evidence-bearing business sites, separate from service coverage. Precision is published only after a supported business-location decision."},"transport_research":{"type":"object","required":["id","candidate_id","services","partial_capabilities","business_locations","service_areas","delivery_model","authorization","transaction_facts"],"description":"Optional transport evidence extension. Advertised services, partial assessments, delivery roles, territory and unknown transaction facts remain separate."}}},{"title":"FrontierBeacon Danish cybersecurity service profile","type":"object","additionalProperties":false,"required":["contract_version","profile_id","record_origin","identity","capability_assessments","directory_evaluation","summary","sources","freshness","compatibility_projection"],"properties":{"contract_version":{"const":"0.1.0"},"profile_id":{"type":"string","minLength":1,"maxLength":160},"record_origin":{"enum":["observed","synthetic_fixture"]},"identity":{"type":"object","additionalProperties":false,"required":["legal_name","cvr_number","lifecycle_status","entity_type","organization_website","danish_presence"],"properties":{"legal_name":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"type":["string","null"]}}}]},"cvr_number":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"oneOf":[{"type":"string","pattern":"^[0-9]{8}$"},{"type":"null"}]}}}]},"lifecycle_status":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"enum":["active","inactive","dissolved","not_yet_active",null]}}}]},"entity_type":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"enum":["company","association","public_body","person_owned","other",null]}}}]},"organization_website":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"oneOf":[{"type":"string","format":"uri"},{"type":"null"}]}}}]},"danish_presence":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"enum":["registered","establishment",null]}}}]}}},"capability_assessments":{"type":"array","minItems":8,"maxItems":8,"items":{"type":"object","additionalProperties":false,"required":["capability_id","status"],"properties":{"capability_id":{"enum":["strategy_risk_compliance","assessment_testing","security_engineering","managed_detection_response","incident_response_forensics","resilience_recovery","awareness_training","threat_intelligence"]},"status":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"enum":["offered","not_offered",null]}}}]}}}},"directory_evaluation":{"type":"object","additionalProperties":false,"required":["disposition","claim_class","rule_version","reason_codes","evidence_refs","evaluated_at"],"properties":{"disposition":{"enum":["included","excluded","review"]},"claim_class":{"const":"inferred"},"rule_version":{"const":"0.1.0"},"reason_codes":{"type":"array","minItems":1,"uniqueItems":true,"items":{"enum":["INC-01","EXC-01_PERSON","EXC-02_INACTIVE","EXC-03_INTERNAL_ONLY","EXC-04_PRODUCT_ONLY","EXC-05_GENERAL_IT_ONLY","EXC-06_NON_PROVIDER","REV-01_IDENTITY_UNKNOWN","REV-02_SERVICE_UNKNOWN","REV-03_AMBIGUOUS_LANGUAGE","REV-04_CONFLICT","REV-05_STALE"]}},"evidence_refs":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1}},"evaluated_at":{"type":"string","format":"date-time"}}},"summary":{"allOf":[{"type":"object","additionalProperties":false,"required":["value","claim_class","evidence_refs","observed_at","extraction"],"properties":{"value":{},"claim_class":{"enum":["registry_verified","source_observed","business_claimed","inferred","unknown"]},"evidence_refs":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"observed_at":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"extraction":{"type":"object","additionalProperties":false,"required":["method","rule_id","version"],"properties":{"method":{"enum":["registry_mapping","manual_rule","deterministic_rule","not_observed"]},"rule_id":{"type":"string","minLength":1},"version":{"const":"0.1.0"}}}},"allOf":[{"if":{"properties":{"claim_class":{"const":"unknown"}},"required":["claim_class"]},"then":{"properties":{"value":{"type":"null"},"evidence_refs":{"maxItems":0},"observed_at":{"type":"null"},"extraction":{"properties":{"method":{"const":"not_observed"}}}}},"else":{"properties":{"value":{"not":{"type":"null"}},"evidence_refs":{"minItems":1},"observed_at":{"type":"string","format":"date-time"},"extraction":{"properties":{"method":{"not":{"const":"not_observed"}}}}}}}]},{"properties":{"value":{"type":["string","null"]}}}]},"sources":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["source_id","source_class","simulates_source_class","locator","publisher","retrieved_at","content_date","access","content","personal_data_present"],"properties":{"source_id":{"type":"string","minLength":1,"maxLength":160},"source_class":{"enum":["authoritative_business_registry","provider_owned_web","official_guidance","independent_public_web","search_discovery","local_synthetic"]},"simulates_source_class":{"enum":["authoritative_business_registry","provider_owned_web","official_guidance","independent_public_web","search_discovery","none"],"description":"Used only when source_class is local_synthetic to declare the simulated fixture class. Real sources may repeat source_class here for legacy compatibility; this does not classify them as synthetic."},"locator":{"type":"string","minLength":1},"publisher":{"type":["string","null"]},"retrieved_at":{"type":"string","format":"date-time"},"content_date":{"oneOf":[{"type":"string","format":"date"},{"type":"null"}]},"access":{"type":"object","additionalProperties":false,"required":["terms_status","license","attribution_required"],"properties":{"terms_status":{"enum":["fixture_approved","public_manual_observation","review_required","access_restricted"]},"license":{"type":["string","null"]},"attribution_required":{"type":"boolean"}}},"content":{"type":"object","additionalProperties":false,"required":["capture_type","text"],"properties":{"capture_type":{"enum":["synthetic_excerpt","minimal_excerpt","reference_only","unavailable"]},"text":{"type":["string","null"]}}},"personal_data_present":{"const":false}}}},"freshness":{"type":"object","additionalProperties":false,"required":["evaluated_at","newest_identity_observed_at","newest_service_observed_at","next_review_at"],"properties":{"evaluated_at":{"type":"string","format":"date-time"},"newest_identity_observed_at":{"type":["string","null"],"format":"date-time"},"newest_service_observed_at":{"type":["string","null"],"format":"date-time"},"next_review_at":{"type":"string","format":"date-time"}}},"compatibility_projection":{"type":"object","additionalProperties":false,"required":["canonical_profile_id","requested_version"],"properties":{"canonical_profile_id":{"type":"string","pattern":"^fb:org:"},"requested_version":{"const":"0.1.0"}}}}}]},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code"],"properties":{"code":{"type":"string"},"message":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"Health":{"type":"object","required":["status","release_id","contract_version","profile_count"],"properties":{"status":{"type":"string","enum":["ok","degraded"]},"release_id":{"type":"string"},"contract_version":{"type":"string","const":"0.2.0"},"dataset_version":{"type":"string","pattern":"^[a-f0-9]{64}$"},"code_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"profile_count":{"type":"integer","const":1222}},"additionalProperties":false}}}}