{
  "demo": false,
  "label": "FARIGATE Cloud trust (hosted gate): receipt/pack-binding keys generated by a FARIGATE Cloud deployment at first boot; governance and AP2 mandate trust are the published FARIGATE Cloud v0 set the hosted gate enforces. Hosted-gate trust - not a key ceremony, never production or customer readiness.",
  "receipt_signer_keys": {
    "c201e331f775353af58465a2f5a372d2c9e586d60bc194124ea2274b7323aecd": "jcg87FlrISpZTRgB9GwDks/OY74umG4m1SqwrH9sLYw="
  },
  "source_capture_keys": {},
  "source_profile_signer_keys": {},
  "source_attestation_keys": {},
  "source_journal_anchor_keys": {},
  "governance_trust_keys": {
    "fdf72a088f18f7399e8c52bce448441501f759a595a86980e5d9a422a01e5d55": "Zr5+Myx6RTMyvZ0Kf32wVfXF7xoGraZtmLOftoEMRzo="
  },
  "governance": {
    "manifest_json_b64": "ewogICJidW5kbGVfdmVyc2lvbiI6ICIxLjAiLAogICJ3b3JrZmxvd19pZCI6ICJwaWxvdDpyZWd1bGF0ZWRfYWN0aXZhdGlvbl9jb250cm9sIiwKICAidmVyc2lvbiI6ICIxLjAuMCIsCiAgInByb2ZpbGVfaWQiOiAiOWY3NjU0YTE3ODE5MmMwOTcwM2MxMTRmMTJlYzgwYjViYWU2MGQzZTM3ZGZiMGYwYTAzNWRkYWRiZTE3NzgwNyIsCiAgInNpZ25lcl9raWQiOiAiZmRmNzJhMDg4ZjE4ZjczOTllOGM1MmJjZTQ0ODQ0MTUwMWY3NTlhNTk1YTg2OTgwZTVkOWE0MjJhMDFlNWQ1NSIsCiAgImNyZWF0ZWRfYXQiOiAiMjAyNi0wNi0xMFQwOTozMDo0NloiLAogICJmaWxlcyI6IHsKICAgICJwb2xpY2llcy5jZWRhciI6ICJzaGEyNTY6OTAyNWU5NjE4N2JlYTU3ZjdhYWI3MDI1NGRkOTY1OWVlMTc2NDY0NTMxOWE1ZjA4MDMzNzBlNTlkMWJhZWU0OCIsCiAgICAic2NoZW1hLmNlZGFyc2NoZW1hIjogInNoYTI1NjoyMzJlZjcyZTA3ZTY4M2Q4MDVkNzVlZGY1YzRjNDY2YjQ2YjA1M2RmNjk3ZDVhYTZhOWVhMTgwYWZjNWFkODJmIgogIH0KfQ==",
    "manifest_sig_b64": "h9GkqZSYoeQGHQYW7C9AgktWjhklgSiGO67ybxux205iffly+ewK9A/avroMWCBdgL4bZS895Z+W07wPfwj/Aw==",
    "policies_cedar": "// FARIGATE Default Cedar Policy \u2014 regulated activation control v0\n//\n// Cedar governs the shared control-plane gates. Admitted combinations are\n// supplied by the managed local policy surface, not hard-coded in these permits.\n\n// Permit: verified approver can admit a regulated product activation when the\n// managed surface authorizes the combination and required local controls exist.\npermit(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_product_activation\" &&\n  context.actor_role == \"approver\" &&\n  context.actor_verified == true &&\n  context.professional_investor_state == \"confirmed\" &&\n  context.has_suitability_evidence == true &&\n  context.has_warning_evidence == true &&\n  context.has_local_approval == true &&\n  context.release_authorized == true &&\n  context.policy_surface_admitted == true &&\n  context.has_rollback_ref == true\n};\n\n// Permit: verified approver can grant a regulated client entitlement when the\n// managed surface authorizes the combination and required controls exist.\npermit(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_client_entitlement\" &&\n  context.requested_decision == \"approve\" &&\n  context.actor_role == \"approver\" &&\n  context.actor_verified == true &&\n  context.target_state == \"grant\" &&\n  context.professional_investor_state == \"confirmed\" &&\n  context.derivatives_knowledge_state == \"confirmed\" &&\n  context.va_knowledge_state == \"confirmed\" &&\n  context.has_suitability_evidence == true &&\n  context.has_classification_evidence == true &&\n  context.has_warning_evidence == true &&\n  context.has_local_approval == true &&\n  context.policy_surface_admitted == true\n};\n\n// Permit: verified approver can promote a high-risk platform change when the\n// managed surface authorizes the change and required controls exist.\npermit(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_platform_change\" &&\n  context.requested_decision == \"approve\" &&\n  context.actor_role == \"approver\" &&\n  context.actor_verified == true &&\n  context.target_state == \"promote\" &&\n  context.has_local_approval == true &&\n  context.has_change_ticket == true &&\n  context.release_authorized == true &&\n  context.policy_surface_admitted == true &&\n  context.has_rollback_ref == true &&\n  context.emergency_override == false &&\n  context.vendor_dependency_approved == true\n};\n\n// Permit: verified approver can pass a regulated monitoring coverage proof when\n// source snapshots are externally verifiable, every required source record is\n// monitored or authorized for exclusion, the record sets have no duplicates,\n// and the mapping version is current.\npermit(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_monitoring_coverage\" &&\n  context.requested_decision == \"approve\" &&\n  context.actor_role == \"approver\" &&\n  context.actor_verified == true &&\n  context.source_snapshots_verified == true &&\n  context.source_attestations_verified == true &&\n  context.coverage_complete == true &&\n  context.no_duplicate_records == true &&\n  context.all_exclusions_authorized == true &&\n  context.mapping_current == true\n};\n\n// Permit: verified approver can admit an agent payment when the AP2 mandate\n// bundle verified at the gate (the agent_payment_* context facts are\n// mandate-derived and gate-verified, never client-asserted; a failed mandate\n// verification fails closed before policy evaluation) and the payment is\n// inside the demo limits: USD only, per-transaction cap 50000 minor units,\n// stricter 10000 cap when the human is not present, merchant allowlist.\npermit(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"agent_payment\" &&\n  context.requested_decision == \"approve\" &&\n  context.actor_role == \"approver\" &&\n  context.actor_verified == true &&\n  context has agent_payment_amount_minor_units &&\n  context has agent_payment_currency &&\n  context has agent_payment_presence &&\n  context has agent_payment_merchant &&\n  context.agent_payment_currency == \"USD\" &&\n  context.agent_payment_amount_minor_units <= 50000 &&\n  (context.agent_payment_presence == \"human_present\" ||\n   context.agent_payment_amount_minor_units <= 10000) &&\n  [\"merchant_farigate_demo_001\", \"merchant_farigate_demo_002\"]\n    .contains(context.agent_payment_merchant)\n};\n\n// Forbid: deny-listed merchants are never payable, even inside the limits.\nforbid(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"agent_payment\" &&\n  context has agent_payment_merchant &&\n  context.agent_payment_merchant == \"merchant_blocked_demo_001\"\n};\n\n// Compatibility permit for the legacy generic gate samples still used in\n// non-product-specific tests.\npermit(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"model_deploy\" &&\n  context.actor_role == \"approver\" &&\n  context.actor_verified == true &&\n  context has \"ticket\"\n};\n\n// Forbid: shadow-style channels are never live surfaces.\nforbid(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_product_activation\" &&\n  context has \"channel\" &&\n  context.channel like \"*shadow*\"\n};\n\nforbid(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_client_entitlement\" &&\n  context has \"channel\" &&\n  context.channel like \"*shadow*\"\n};\n\nforbid(\n  principal,\n  action == Farigate::Action::\"gate\",\n  resource\n)\nwhen {\n  context.action_type == \"regulated_platform_change\" &&\n  context has \"channel\" &&\n  context.channel like \"*shadow*\"\n};\n",
    "schema_cedarschema": "namespace Farigate {\n  entity Actor;\n  entity Subject;\n  action \"gate\" appliesTo {\n    principal: [Actor],\n    resource: [Subject],\n    context: {\n      \"action_type\": __cedar::String,\n      \"requested_decision\": __cedar::String,\n      \"actor_verified\": __cedar::Bool,\n      \"actor_role\": __cedar::String,\n      \"actor_institution\"?: __cedar::String,\n      \"subject_type\": __cedar::String,\n      \"subject_id\": __cedar::String,\n      \"subject_version\"?: __cedar::String,\n      \"subject_hash\"?: __cedar::String,\n      \"ticket\"?: __cedar::String,\n      \"channel\"?: __cedar::String,\n      \"change_id\"?: __cedar::String,\n      \"change_type\"?: __cedar::String,\n      \"entitlement_code\"?: __cedar::String,\n      \"target_state\"?: __cedar::String,\n      \"target_system\"?: __cedar::String,\n      \"target_object\"?: __cedar::String,\n      \"client_id\"?: __cedar::String,\n      \"account_id\"?: __cedar::String,\n      \"account_type\"?: __cedar::String,\n      \"product_code\"?: __cedar::String,\n      \"product_scope\"?: __cedar::String,\n      \"product_class\"?: __cedar::String,\n      \"regulated_entity\"?: __cedar::String,\n      \"jurisdiction\"?: __cedar::String,\n      \"client_segment\"?: __cedar::String,\n      \"client_segment_scope\"?: __cedar::String,\n      \"control_id\"?: __cedar::String,\n      \"risk_class\"?: __cedar::String,\n      \"control_owner\"?: __cedar::String,\n      \"period_start\"?: __cedar::String,\n      \"period_end\"?: __cedar::String,\n      \"mapping_version\"?: __cedar::String,\n      \"source_bundle_hash\"?: __cedar::String,\n      \"source_population_hash\"?: __cedar::String,\n      \"monitoring_population_hash\"?: __cedar::String,\n      \"exclusions_hash\"?: __cedar::String,\n      \"approvals_hash\"?: __cedar::String,\n      \"mapping_version_hash\"?: __cedar::String,\n      \"source_snapshots_hash\"?: __cedar::String,\n      \"professional_investor_state\"?: __cedar::String,\n      \"derivatives_knowledge_state\"?: __cedar::String,\n      \"va_knowledge_state\"?: __cedar::String,\n      \"effective_at\"?: __cedar::String,\n      \"expires_at\"?: __cedar::String,\n      \"change_window_start\"?: __cedar::String,\n      \"change_window_end\"?: __cedar::String,\n      \"emergency_override\"?: __cedar::Bool,\n      \"has_suitability_evidence\"?: __cedar::Bool,\n      \"has_classification_evidence\"?: __cedar::Bool,\n      \"has_warning_evidence\"?: __cedar::Bool,\n      \"has_local_approval\"?: __cedar::Bool,\n      \"has_change_ticket\"?: __cedar::Bool,\n      \"release_authorized\"?: __cedar::Bool,\n      \"policy_surface_admitted\"?: __cedar::Bool,\n      \"has_rollback_ref\"?: __cedar::Bool,\n      \"vendor_dependency_approved\"?: __cedar::Bool,\n      \"source_snapshots_verified\"?: __cedar::Bool,\n      \"source_attestations_verified\"?: __cedar::Bool,\n      \"coverage_complete\"?: __cedar::Bool,\n      \"no_duplicate_records\"?: __cedar::Bool,\n      \"all_exclusions_authorized\"?: __cedar::Bool,\n      \"mapping_current\"?: __cedar::Bool,\n      \"agent_payment_amount_minor_units\"?: __cedar::Long,\n      \"agent_payment_currency\"?: __cedar::String,\n      \"agent_payment_presence\"?: __cedar::String,\n      \"agent_payment_merchant\"?: __cedar::String,\n      \"agent_payment_transaction_id\"?: __cedar::String,\n    }\n  };\n}\n"
  },
  "profile_registries_cbor_b64": {
    "9f7654a178192c09703c114f12ec80b5bae60d3e37dfb0f0a035ddadbe177807": "hgEIWN2HAQFYIOQ2u33VGRV1HaRhacGKjs/Fq2cGWdxSmSRzEjyeiM3iWCCfdlSheBksCXA8EU8S7IC1uuYNPjffsPCgNd2tvhd4B0lsb2NhbC1kZXaBgwcBAYWCGQPoTEVOR0lORV9BTExPV4IZA+lVRU5HSU5FX0RFTllfTk9fUE9MSUNZghkD6lgYRU5HSU5FX0RFTllfUE9MSUNZX0VSUk9SghkD61gbRU5HSU5FX0RFTllfSU5WQUxJRF9SRVFVRVNUghkD7FdFTkdJTkVfREVOWV9BVVRIX0ZBSUxFRAFYIJsp+YvUPRtLYVeRGZ7di6daY+ait2424aQfYDUzRC1PWECFb1aaD1BYUnt+OmruggP8wFz1VNORtTxslacr3guQ0rDTKeXgRU1UNrTHEc9aJDMveW42txrC2FQ92tubJk0D"
  },
  "source_profiles": {},
  "agent_mandate_user_jwks": [
    {
      "crv": "P-256",
      "kid": "demo-user-expired-mandate",
      "kty": "EC",
      "x": "piagg3OA31fYslk2uzFbIs2UQ4X99hdc9hdRdDPevhk",
      "y": "JX_SYKQxABEumUNnnoe5fmDW4D5lLQgNY2QkjnnoDsY"
    },
    {
      "crv": "P-256",
      "kid": "demo-user-valid-human-present",
      "kty": "EC",
      "x": "piagg3OA31fYslk2uzFbIs2UQ4X99hdc9hdRdDPevhk",
      "y": "JX_SYKQxABEumUNnnoe5fmDW4D5lLQgNY2QkjnnoDsY"
    }
  ],
  "trust_anchor_bundle": {
    "bundle": {
      "format": "farigate-trust-anchor-bundle@1.0",
      "ceremony_root_kid": "2cf84693d8f3d0a1db99494220b37954cca50abf1e6ea351e6cf36bd0d4a0938",
      "version": 1,
      "issued_at_unix": 1577836800,
      "not_after_unix": 2051222400,
      "demo": true,
      "entries": [
        {
          "role": "receipt_signer",
          "kid": "c201e331f775353af58465a2f5a372d2c9e586d60bc194124ea2274b7323aecd",
          "pubkey": "jcg87FlrISpZTRgB9GwDks/OY74umG4m1SqwrH9sLYw=",
          "not_before_unix": 1577836800,
          "not_after_unix": 2051222400
        },
        {
          "role": "governance",
          "kid": "fdf72a088f18f7399e8c52bce448441501f759a595a86980e5d9a422a01e5d55",
          "pubkey": "Zr5+Myx6RTMyvZ0Kf32wVfXF7xoGraZtmLOftoEMRzo=",
          "not_before_unix": 1577836800,
          "not_after_unix": 2051222400
        }
      ]
    },
    "signature": {
      "algorithm": "ed25519",
      "ceremony_root_kid": "2cf84693d8f3d0a1db99494220b37954cca50abf1e6ea351e6cf36bd0d4a0938",
      "ceremony_root_pubkey": "G271WfyYPND1Lee1GrhA27eKKp4hOD7DyHMfdXvpqao=",
      "signature_b64": "ksCRD5pAetVPHDUi2gFI156Ol8EIsPUv/jb5xIZybltcej6/wQf87oWq/ZQZua9HuQhJ2f7AGo67AZU6BSgyAw=="
    }
  }
}