{
  "api_contract": "sourcey.catalog-api/v1",
  "release_id": "sha256:f94358e3c57b6e575ca58c8031b9b7552cbfdb411f937b8ecdc3b042c4980a77",
  "artifact_sha256": "sha256:7472396c2449279d33e7a0fb2426f02a89991501262d1db8c04c81d57bdf9021",
  "data": {
    "revision_contract": "sourcey.agent-readiness-revision/v1alpha1",
    "agent_readiness_profile_id": "arp_01kzf0m4x62a9z5fqb4kvp1hme",
    "entity_id": "ent_01kyh8jtf535570d9z2bng6j1t",
    "scope": {
      "product": {
        "key": "cloudflare-developer-platform",
        "name": "Cloudflare Developer Platform"
      },
      "funnel": {
        "key": "api-resource-management",
        "name": "API resource management"
      }
    },
    "catalog_binding": {
      "base_release_id": "sha256:cad9f851ab1bb553246eb2fb2b2803a4741814a33ccf28997014247439b9013d",
      "entity_revision_digest": "sha256:cddeb11506db30b6ffb13fcff407b1931f123a1eb2cc8edf5ca023ba03c71100"
    },
    "declaration_revision_digest": "sha256:fbf85e0aea60781614317b6de681b432139b970c7f589452085a3a183310807b",
    "declaration": {
      "declaration_id": "declaration_cloudflare_api_resource_management",
      "provenance": {
        "repository": "sourcey/agent-ready-services",
        "commit": "62b512f0c49352e55a399ba53866a5effa431d71",
        "path": "vendors/cl/cloudflare.yaml",
        "git_blob_oid": "4499cb0c38945f75501557dd38021a37d46c2f87",
        "blob_digest": "sha256:55def0b3b8a18e6566c98d0ba1f514659988fd9dad49d001a7125194470f8948"
      },
      "status": "community_declared"
    },
    "lifecycle": "active",
    "effective_from": "2026-08-20T14:33:24.000Z",
    "signals": [
      {
        "stage": "evaluate",
        "signal_code": "eligibility_decidability",
        "selector_group_id": "eligibility_decidability-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:09.317Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:23e8f81c7c4d1f2030b09cf86a3f1b922de3746d2843c71026e8a73e42d55871",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:2854ac9685b840e9ad804ef9377d6f473fed7fae6ac7bf51ba3f7ff18738c6ad",
              "sha256:45025f32a295a35c501b67a7ceb032aaee921e5336f919b05a5ebcbd20102853",
              "sha256:53a81488eef5ad279c22e80ecc4cfc63ea6be4d1353b51fa5b2f9ca9c9b0f832",
              "sha256:df46fcd8b4d2bdb37f1e856b5d3157cc7bd0e4c76e3700a1b167cca5115e2af2"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "service-terms"
            },
            "locators": [
              {
                "artifact_digest": "sha256:2854ac9685b840e9ad804ef9377d6f473fed7fae6ac7bf51ba3f7ff18738c6ad",
                "start_byte": 17778,
                "end_byte": 18606,
                "value_digest": "sha256:3372c950e10cdb73cae578274376fb2186b5f55951d9f36b6917e13e398c3eb2"
              }
            ]
          }
        ],
        "note": "The Self-Serve Subscription Agreement explicitly establishes that if an individual enters into the agreement on behalf of a company, organization, or another legal entity, they represent to Cloudflare that they have the authority to bind such entity."
      },
      {
        "stage": "evaluate",
        "signal_code": "pricing_decidability",
        "selector_group_id": "pricing_decidability-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:16.207Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "plans"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:8b3b90434e29ec626779436e6682d9772902cfc26439b52dc1077079d391a4c1",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:51df2590101b4fba742f26427885173d642eaab2de6c7e31ff573bf35a071ec9",
              "sha256:906db4e9293dd7034f6cd8e1e69ac363977bcb387a6700b53ad39070f7b4ae30",
              "sha256:b897602b3ac0cd558752087abdcab82a127d4557eaf155ed8733c73778828435",
              "sha256:e7f14098012d3cefcaf2278aadeb86ff0fe141a469375fe19b42c0d15b6d87f4"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "plans"
            },
            "locators": [
              {
                "artifact_digest": "sha256:b897602b3ac0cd558752087abdcab82a127d4557eaf155ed8733c73778828435",
                "start_byte": 9233,
                "end_byte": 10023,
                "value_digest": "sha256:823193ff715baf5da9ce1ed17e092ae6eb1d56962b3909469eff6a3a1148e3a0"
              }
            ]
          }
        ],
        "note": "Cloudflare provides explicit pricing plans including Free ($0/month) and paid plans in USD, and notes that Workers compute is free to try, but complete usage-based variables or rate conditions for Workers are omitted in the capture."
      },
      {
        "stage": "evaluate",
        "signal_code": "service_discovery",
        "selector_group_id": "service_discovery-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:04.846Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:72c95d07377e4176471827585e15324e91d495abaf1ad57085d4e2717d028699",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:1463d5332989fbad37f4f2f1cdd973ade83a7e310cc325074ea5c060020bce14",
              "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
              "sha256:ad43b099c64fec7ea3c1a30cf2b5fe54e459513e3837e8fa614995e616fac780",
              "sha256:c8626c0348a5edf08fcb6ebf642d4337a3fd913109dffe795de31966398e9a20"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c8626c0348a5edf08fcb6ebf642d4337a3fd913109dffe795de31966398e9a20",
                "start_byte": 387941,
                "end_byte": 388735,
                "value_digest": "sha256:72795bfe5f36326ddc104e359a5f0a5b5dcde1cf8c4d1f5188221fddb7ea4777"
              }
            ]
          }
        ],
        "note": "The exact service and stable API entrypoints are discoverable via the Cloudflare API reference, which lists specific methods and endpoints such as Upload Worker Module under Account & User Management."
      },
      {
        "stage": "evaluate",
        "signal_code": "terms_access",
        "selector_group_id": "terms_access-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:09.317Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:23e8f81c7c4d1f2030b09cf86a3f1b922de3746d2843c71026e8a73e42d55871",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:2854ac9685b840e9ad804ef9377d6f473fed7fae6ac7bf51ba3f7ff18738c6ad",
              "sha256:293a326de607aabff56a73c0da161a17bb5c593e074cda8575d538c1bd691eee",
              "sha256:45025f32a295a35c501b67a7ceb032aaee921e5336f919b05a5ebcbd20102853",
              "sha256:53a81488eef5ad279c22e80ecc4cfc63ea6be4d1353b51fa5b2f9ca9c9b0f832"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "service-terms"
            },
            "locators": [
              {
                "artifact_digest": "sha256:2854ac9685b840e9ad804ef9377d6f473fed7fae6ac7bf51ba3f7ff18738c6ad",
                "start_byte": 18607,
                "end_byte": 19410,
                "value_digest": "sha256:64ab803d661fc83933d694e82f6fbc3029f548cc8957d91af0547701ee7add77"
              },
              {
                "artifact_digest": "sha256:2854ac9685b840e9ad804ef9377d6f473fed7fae6ac7bf51ba3f7ff18738c6ad",
                "start_byte": 49075,
                "end_byte": 49875,
                "value_digest": "sha256:9324a652aff410c2535ebee29e8cee8180b39a47afc83e802b07441cba541550"
              }
            ]
          }
        ],
        "note": "Applicable commitment terms are retrievable and readable through the Self-Serve Subscription Agreement, which explicitly specifies that the authoritative English version at www.cloudflare.com/terms governs the use of Cloudflare Services."
      },
      {
        "stage": "sign_up",
        "signal_code": "access_control_operability",
        "selector_group_id": "access_control_operability-primary",
        "value": "unknown",
        "observed_at": "2026-08-20T15:56:12.248Z",
        "tested_surfaces": [
          {
            "node_kind": "endpoint",
            "node_id": "registration"
          }
        ],
        "assessment_method": {
          "name": "bounded-headless-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f1212e8cd082308cfde3c097bc933c4a4b72046b1f242205c3e27a3b020b3311"
        },
        "determination_bases": [],
        "note": "The captured endpoint for sign-up returned a security verification page (Ray ID: a2e1a4323cfaf753) preventing direct observation or explicit documentation of sign-up form controls."
      },
      {
        "stage": "sign_up",
        "signal_code": "access_entrypoint_stability",
        "selector_group_id": "access_entrypoint_stability-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:57:06.695Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-ad6794a9ae3bd4ff2735c8265a155b678454af08c375d85510b9b8fa1fe2753c"
          }
        ],
        "assessment_method": {
          "name": "bounded-headless-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f1212e8cd082308cfde3c097bc933c4a4b72046b1f242205c3e27a3b020b3311"
        },
        "determination_bases": [
          {
            "kind": "direct_observation",
            "captures": [
              {
                "retained_capture_digest": "sha256:bbad0af8264a1d75187bc66183ad9a55504e9fe35636d0db9b9e0dd9443d013e",
                "capture_rung": "headless"
              }
            ],
            "artifact_digests": [
              "sha256:5824a99e258a115614543cda3d6657e55071eea2d1f0483bd5be6acb20c2f1d2",
              "sha256:651dd5bfb6b603f3f44a51f74bb56fbd5e39ea0a0e23e7686ccc4928003cf4e4",
              "sha256:99432c4172c56f9c94abd9326f2ef97802c0a66313ef7c9bf45f12965439491c",
              "sha256:ad26e8505136af73c1c4b058106f177865752b6cdc48ac1bbb8a9b0089fac2aa",
              "sha256:e0859621877c909a4e17777290cb7b15c9ea9c84a0f2cb6515081dabbad72bf8",
              "sha256:eb7903da8110848b7c54f83c7882dba14dfbc05fd274717027f53eb30ba27742"
            ],
            "locators": [
              {
                "artifact_digest": "sha256:651dd5bfb6b603f3f44a51f74bb56fbd5e39ea0a0e23e7686ccc4928003cf4e4",
                "start_byte": 17988,
                "end_byte": 18802,
                "value_digest": "sha256:ebedfcb28b2358f0de5b4f19dee30f456ff4e5c191914d1341f49f83c16378a5"
              },
              {
                "artifact_digest": "sha256:651dd5bfb6b603f3f44a51f74bb56fbd5e39ea0a0e23e7686ccc4928003cf4e4",
                "start_byte": 0,
                "end_byte": 801,
                "value_digest": "sha256:159bcdd90e5312af00deb74d7816ae27193ce6dcb6552cefb93fab59e974bf83"
              }
            ]
          }
        ],
        "note": "Cloudflare Fundamentals documentation provides a stable canonical route to access the Cloudflare dashboard and sign in using email/password, SSO, or social login options."
      },
      {
        "stage": "sign_up",
        "signal_code": "captcha_compatible_access",
        "selector_group_id": "captcha_compatible_access-primary",
        "value": "unknown",
        "observed_at": "2026-08-20T15:57:06.695Z",
        "tested_surfaces": [
          {
            "node_kind": "endpoint",
            "node_id": "registration"
          },
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-ad6794a9ae3bd4ff2735c8265a155b678454af08c375d85510b9b8fa1fe2753c"
          }
        ],
        "assessment_method": {
          "name": "bounded-headless-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f1212e8cd082308cfde3c097bc933c4a4b72046b1f242205c3e27a3b020b3311"
        },
        "determination_bases": [],
        "note": "The current public capture encountered an access-control response, but one observation cannot establish whether CAPTCHA is a durable agent barrier."
      },
      {
        "stage": "sign_up",
        "signal_code": "delegated_identity_access",
        "selector_group_id": "delegated_identity_access-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:11.478Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:6f4b0eae4ea601b699b9dbbac241f8aea1b1e3c1c344d81f027b54ffe4e332e2",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:33579efe341ac65295029f3117d515d458a8748c5b7cd412587861ffe00f7331",
              "sha256:7a294831bb8c00a8ae5e3ec91e175438942cb08c0375e417f6600a2704370a22",
              "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
              "sha256:f0c5186fd18d943e738b2300f8f94cfc245728a51d200fd41cf859ec4d847dd6"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-tokens"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 17686,
                "end_byte": 18505,
                "value_digest": "sha256:7e5766559b224dbee2b4f101536e5f72fc8135ce664815c7ae225ee6435cecdd"
              },
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 19307,
                "end_byte": 20105,
                "value_digest": "sha256:4ecffc4238770a3554f78225294f8b662ce3cd181b98a7a4950626ad553faf2a"
              }
            ]
          }
        ],
        "note": "Cloudflare provides API tokens with customizable permissions, resource access, and client IP filtering, but token secrets are generated in the dashboard and shown only once, requiring manual copying."
      },
      {
        "stage": "sign_up",
        "signal_code": "phone_verification_compatible",
        "selector_group_id": "phone_verification_compatible-primary",
        "value": "unknown",
        "observed_at": "2026-08-20T15:56:12.248Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-ad6794a9ae3bd4ff2735c8265a155b678454af08c375d85510b9b8fa1fe2753c"
          }
        ],
        "assessment_method": {
          "name": "bounded-headless-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f1212e8cd082308cfde3c097bc933c4a4b72046b1f242205c3e27a3b020b3311"
        },
        "determination_bases": [],
        "note": "The retained evidence does not establish whether phone verification is required, absent, or resumable for account setup."
      },
      {
        "stage": "pay",
        "signal_code": "checkout_operability",
        "selector_group_id": "checkout_operability-primary",
        "value": "unknown",
        "observed_at": "2026-08-20T15:56:23.948Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "billing-checkout"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-6b1ec9edf6e5bc9be8277ad21ed6b287369ef3921b9c2e9d3e880f4b575bf7c9"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [],
        "note": "Documentation describes adding a primary payment method in the dashboard, but does not document an end-to-end flow for an agent to deterministically construct checkout, hand off approval safely, and resume."
      },
      {
        "stage": "pay",
        "signal_code": "commitment_disclosure",
        "selector_group_id": "commitment_disclosure-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:16.207Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "plans"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:8b3b90434e29ec626779436e6682d9772902cfc26439b52dc1077079d391a4c1",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:8c5e6f785007ce92ec4f1900f0dd98f998a66882e92354f4c49c741faff765bc",
              "sha256:906db4e9293dd7034f6cd8e1e69ac363977bcb387a6700b53ad39070f7b4ae30",
              "sha256:b897602b3ac0cd558752087abdcab82a127d4557eaf155ed8733c73778828435",
              "sha256:e7f14098012d3cefcaf2278aadeb86ff0fe141a469375fe19b42c0d15b6d87f4"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "plans"
            },
            "locators": [
              {
                "artifact_digest": "sha256:b897602b3ac0cd558752087abdcab82a127d4557eaf155ed8733c73778828435",
                "start_byte": 9233,
                "end_byte": 10023,
                "value_digest": "sha256:823193ff715baf5da9ce1ed17e092ae6eb1d56962b3909469eff6a3a1148e3a0"
              },
              {
                "artifact_digest": "sha256:b897602b3ac0cd558752087abdcab82a127d4557eaf155ed8733c73778828435",
                "start_byte": 12406,
                "end_byte": 13199,
                "value_digest": "sha256:90e3e6ec6b4a61bd628fe4de348cd3172ff410b3093f0fa0a0561bec1c03b6e6"
              }
            ]
          }
        ],
        "note": "Cloudflare explicitly discloses commercial commitments for its plans and products, including Free ($0/month), Pro ($20/mo billed annually or $25/mo billed monthly), Business ($200/mo billed annually or $250/mo billed monthly), and usage-based rates such as Workers at $0.30 per million requests and $0.02 per million CPU ms."
      },
      {
        "stage": "pay",
        "signal_code": "payment_authorization",
        "selector_group_id": "payment_authorization-primary",
        "value": "unknown",
        "observed_at": "2026-08-20T15:56:23.948Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "billing-checkout"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-6b1ec9edf6e5bc9be8277ad21ed6b287369ef3921b9c2e9d3e880f4b575bf7c9"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [],
        "note": "Documentation details adding card or wallet payment details and completing 3D Secure authentication, but current evidence does not document a scoped delegation rail or explicit human-authorization mechanism with receipts."
      },
      {
        "stage": "pay",
        "signal_code": "self_service_purchase",
        "selector_group_id": "self_service_purchase-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:24.044Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "billing-checkout"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-6b1ec9edf6e5bc9be8277ad21ed6b287369ef3921b9c2e9d3e880f4b575bf7c9"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:19980be2b16d819c09332847aa1be9aab66db6af931122b129a819d104841df8",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:328b3aaf9570939c5d7df10d2ea8a936f1aba84b254914d1a7b99699dd96f6b0",
              "sha256:9f5ef0873b5ffada2447a771d3882afa24f89e7b3d5eb6d703d6bb6accde22dc",
              "sha256:ad473b51e0a4c3be7a5ba7691c72e9639188b060b95a10114058f4c0d82c4c8a",
              "sha256:c0e6b82d901dce70e79fd93a18aa3288fecbffca45ec34c50b8a8fa694f36740"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "readiness-6b1ec9edf6e5bc9be8277ad21ed6b287369ef3921b9c2e9d3e880f4b575bf7c9"
            },
            "locators": [
              {
                "artifact_digest": "sha256:ad473b51e0a4c3be7a5ba7691c72e9639188b060b95a10114058f4c0d82c4c8a",
                "start_byte": 8727,
                "end_byte": 9516,
                "value_digest": "sha256:b88b10ee85cbb1327a94b693e6d200bd58457053f70fc3b9bfb683a6df1d3679"
              }
            ]
          }
        ],
        "note": "Cloudflare documents direct self-service paths to change domain plans, upgrade subscriptions, and manage paid add-on services directly through the Cloudflare dashboard without requiring sales intervention."
      },
      {
        "stage": "provision",
        "signal_code": "access_material_delivery",
        "selector_group_id": "access_material_delivery-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:11.478Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:6f4b0eae4ea601b699b9dbbac241f8aea1b1e3c1c344d81f027b54ffe4e332e2",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:2f2ab2027da4245ad96406e18236f8b1cd51347d4ef9b21fd68b52f51c044937",
              "sha256:7a294831bb8c00a8ae5e3ec91e175438942cb08c0375e417f6600a2704370a22",
              "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
              "sha256:f0c5186fd18d943e738b2300f8f94cfc245728a51d200fd41cf859ec4d847dd6"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-tokens"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 19307,
                "end_byte": 20105,
                "value_digest": "sha256:4ecffc4238770a3554f78225294f8b662ce3cd181b98a7a4950626ad553faf2a"
              }
            ]
          }
        ],
        "note": "Cloudflare API tokens generate a secret upon creation in the dashboard. The secret is only displayed once to the user to copy, requiring manual transfer."
      },
      {
        "stage": "provision",
        "signal_code": "provisioning_completion",
        "selector_group_id": "provisioning_completion-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:27.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "readiness-bc8b49ed87d1f5f8ab2920f8fb566580b21dbc2818786704c4b560b7b364b342"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:f1cdc552d4ab30d97f407085a4c8e888be264d295429ec301b2579b72c644032",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:217c635cb4f15bded7604762a09cdb77069ce1603326042eca4a4e041583a9c4",
              "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
              "sha256:5a573c4fe4f76b2e5c168fc5b6d7e56d6539306f16905263feecf3c22734b70d",
              "sha256:afa33886b7d9e553bd9b7cbe3ef0b8507ef9c6da7f3f664d0cedf2ef2b5edcfe"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "readiness-bc8b49ed87d1f5f8ab2920f8fb566580b21dbc2818786704c4b560b7b364b342"
            },
            "locators": [
              {
                "artifact_digest": "sha256:afa33886b7d9e553bd9b7cbe3ef0b8507ef9c6da7f3f664d0cedf2ef2b5edcfe",
                "start_byte": 651,
                "end_byte": 815,
                "value_digest": "sha256:e96b3b0d0a0e1e7fe1c956292f518f0fc44b4994ce836988dd15dc3e828a7940"
              }
            ]
          }
        ],
        "note": "Workers versions and deployments expose immutable version identity and active deployment state, but the retained evidence does not fully establish bounded failure reconciliation."
      },
      {
        "stage": "provision",
        "signal_code": "provisioning_operability",
        "selector_group_id": "provisioning_operability-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:27.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          },
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          },
          {
            "node_kind": "resource",
            "node_id": "readiness-bc8b49ed87d1f5f8ab2920f8fb566580b21dbc2818786704c4b560b7b364b342"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:f1cdc552d4ab30d97f407085a4c8e888be264d295429ec301b2579b72c644032",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:217c635cb4f15bded7604762a09cdb77069ce1603326042eca4a4e041583a9c4",
              "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
              "sha256:a5565709e76ecd6f6267be1a123190d09ce09a08f1fdc7bd5db9270047f1e9d0",
              "sha256:afa33886b7d9e553bd9b7cbe3ef0b8507ef9c6da7f3f664d0cedf2ef2b5edcfe"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "readiness-bc8b49ed87d1f5f8ab2920f8fb566580b21dbc2818786704c4b560b7b364b342"
            },
            "locators": [
              {
                "artifact_digest": "sha256:afa33886b7d9e553bd9b7cbe3ef0b8507ef9c6da7f3f664d0cedf2ef2b5edcfe",
                "start_byte": 2389,
                "end_byte": 2645,
                "value_digest": "sha256:ea7de6531b0b07062767ab7a1e99b64bae0343ce47c31d4fd928cca60ac38b36"
              }
            ]
          }
        ],
        "note": "Provisioning can be triggered via 'wrangler deploy', which automatically creates a new Worker version and deploys it directly."
      },
      {
        "stage": "operate",
        "signal_code": "credential_lifecycle",
        "selector_group_id": "credential_lifecycle-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:11.478Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:6f4b0eae4ea601b699b9dbbac241f8aea1b1e3c1c344d81f027b54ffe4e332e2",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:7a294831bb8c00a8ae5e3ec91e175438942cb08c0375e417f6600a2704370a22",
              "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
              "sha256:dc98c23af9cc614b541ace08c32845d58b787ba1fe4eb9096abc5491c1bd86ac",
              "sha256:f0c5186fd18d943e738b2300f8f94cfc245728a51d200fd41cf859ec4d847dd6"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-tokens"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 18506,
                "end_byte": 19306,
                "value_digest": "sha256:b0287a5a5b57a48cd218e9bab79eb4ea4777500dc52496bcd4ced0a1c2eaf36a"
              },
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 19307,
                "end_byte": 20105,
                "value_digest": "sha256:4ecffc4238770a3554f78225294f8b662ce3cd181b98a7a4950626ad553faf2a"
              }
            ]
          }
        ],
        "note": "Cloudflare API documentation describes token creation, setting permissions, TTL, client IP filtering, editing existing tokens, and rolling tokens. It leaves full programmatic recovery and compromise handling details unevidenced in this excerpt."
      },
      {
        "stage": "operate",
        "signal_code": "failure_contract",
        "selector_group_id": "failure_contract-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:40.676Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:f5898f4657e57faa820dd065ea7295f2374e53bc6f433f2a63af9535ca2b1e71",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
              "sha256:43ac27e871991e80559288a06dc28b0cdd6d6c52c1bc9bce67e083a191ef8bb6",
              "sha256:a881b0ad0b2d2a7c160105f928ca67cca4ee75938f3aa992ec27c769a32bc022",
              "sha256:e22b46c8cc1f92104fe319a192cf5ce80bff96c48bafaa8306cb56f1f2b872a1"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-errors"
            },
            "locators": [
              {
                "artifact_digest": "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
                "start_byte": 17281,
                "end_byte": 18051,
                "value_digest": "sha256:552717ec9913484495442e186a95333ea432ce202f88f2f0ed9e89fc16da6205"
              },
              {
                "artifact_digest": "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
                "start_byte": 18052,
                "end_byte": 18854,
                "value_digest": "sha256:79caa354cbaf9de20985abcb080461ac989af965c65e510cc188050ef2a29575"
              }
            ]
          }
        ],
        "note": "Cloudflare documents API token troubleshooting and verification responses including status codes and error messages, but does not fully establish safe retry, idempotency, cancellation, or reconciliation semantics."
      },
      {
        "stage": "operate",
        "signal_code": "operation_authentication",
        "selector_group_id": "operation_authentication-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:11.478Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:6f4b0eae4ea601b699b9dbbac241f8aea1b1e3c1c344d81f027b54ffe4e332e2",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:7a294831bb8c00a8ae5e3ec91e175438942cb08c0375e417f6600a2704370a22",
              "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
              "sha256:d5a4e11c75335ecffb85d8d38ec750dca59baa1b1a2cdb0861b7b7aceb9e8994",
              "sha256:f0c5186fd18d943e738b2300f8f94cfc245728a51d200fd41cf859ec4d847dd6"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-tokens"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 19307,
                "end_byte": 20105,
                "value_digest": "sha256:4ecffc4238770a3554f78225294f8b662ce3cd181b98a7a4950626ad553faf2a"
              },
              {
                "artifact_digest": "sha256:c77d739f2b3819df6fcc6851b98113ef026016dab4899e669b18f521779ac18d",
                "start_byte": 20106,
                "end_byte": 20906,
                "value_digest": "sha256:926fcacd1b797b8f11bb49207ecb2733fb6d4676ac5415329b0df8b212e1657c"
              }
            ]
          }
        ],
        "note": "Cloudflare supports request-time authentication using scoped API tokens via the Authorization Bearer header, allowing granular access controls across Account, User, or Zone resources."
      },
      {
        "stage": "operate",
        "signal_code": "operation_contract",
        "selector_group_id": "operation_contract-primary",
        "value": "partial",
        "observed_at": "2026-08-20T15:56:40.676Z",
        "tested_surfaces": [
          {
            "node_kind": "interface",
            "node_id": "resource-api"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:f5898f4657e57faa820dd065ea7295f2374e53bc6f433f2a63af9535ca2b1e71",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
              "sha256:25cbbc2a178d1a0d6c0362a2b115e2bff95a93a1f4f353fda4bdcc787552322e",
              "sha256:43ac27e871991e80559288a06dc28b0cdd6d6c52c1bc9bce67e083a191ef8bb6",
              "sha256:e22b46c8cc1f92104fe319a192cf5ce80bff96c48bafaa8306cb56f1f2b872a1"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-errors"
            },
            "locators": [
              {
                "artifact_digest": "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
                "start_byte": 18855,
                "end_byte": 19645,
                "value_digest": "sha256:21f696168801b25141233f9c7d0ff4655177c955f5b29a4f2d5701be78bd69cc"
              }
            ]
          },
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:719614b199a25778f9dc95f612aab738f883567786aa877fec90e59371fb51a1",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:0ade5248eae9f53c834f30d4ac0d770f06e359f7669dd05c2fc7cf3bbfc0dad6",
              "sha256:364e8ec99899e660ea3b90ee0ef65e4017bb3f14433538520e93086c89b9a357",
              "sha256:8cc450c52208703179b6df4670bb7afc113524a9183b4456da03470daa4c08f7",
              "sha256:e811f43c4222e0b74a05ff217fb8cad9be94f2e34b31096bf2bec249c9bfbeea"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-limits"
            },
            "locators": [
              {
                "artifact_digest": "sha256:e811f43c4222e0b74a05ff217fb8cad9be94f2e34b31096bf2bec249c9bfbeea",
                "start_byte": 18443,
                "end_byte": 19211,
                "value_digest": "sha256:8bc0943c88427fdee9821a82a3be833c91189ac2af13ec190efbc40b1fe34510"
              }
            ]
          },
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:72c95d07377e4176471827585e15324e91d495abaf1ad57085d4e2717d028699",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:1463d5332989fbad37f4f2f1cdd973ade83a7e310cc325074ea5c060020bce14",
              "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
              "sha256:c8626c0348a5edf08fcb6ebf642d4337a3fd913109dffe795de31966398e9a20",
              "sha256:dc406e53ce6e30ed8eefc5fb9238ced437d6693b7efc74bf8c1ba2d14c9a3322"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c8626c0348a5edf08fcb6ebf642d4337a3fd913109dffe795de31966398e9a20",
                "start_byte": 480514,
                "end_byte": 481298,
                "value_digest": "sha256:e13e7b2bbcf4f4926b6936f8451a838bcec868358c62c90c26898063eed01532"
              }
            ]
          }
        ],
        "note": "Cloudflare documentation defines REST endpoint paths, request bodies, query costs, rate limits, and verification responses across Worker script upload, troubleshooting, and rate limit references. However, complete input/output schema definitions and effect semantics for all targets are not fully captured."
      },
      {
        "stage": "operate",
        "signal_code": "target_interface_access",
        "selector_group_id": "target_interface_access-primary",
        "value": "yes",
        "observed_at": "2026-08-20T15:56:40.676Z",
        "tested_surfaces": [
          {
            "node_kind": "interface",
            "node_id": "resource-api"
          }
        ],
        "assessment_method": {
          "name": "public-http-semantic-assessment",
          "version": "2026-08-20",
          "method_digest": "sha256:f7c4219d9b75928a6bcff8d125dc30bbc718673e579a66f00d832172e8c9d43d"
        },
        "determination_bases": [
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:72c95d07377e4176471827585e15324e91d495abaf1ad57085d4e2717d028699",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:1463d5332989fbad37f4f2f1cdd973ade83a7e310cc325074ea5c060020bce14",
              "sha256:332e462a18c8b7e3c17713e56dfa9c112497c9c5c2a80f382dfdfdf288e9bf54",
              "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
              "sha256:c8626c0348a5edf08fcb6ebf642d4337a3fd913109dffe795de31966398e9a20"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "locators": [
              {
                "artifact_digest": "sha256:c8626c0348a5edf08fcb6ebf642d4337a3fd913109dffe795de31966398e9a20",
                "start_byte": 472910,
                "end_byte": 473706,
                "value_digest": "sha256:0ae28f90f675f13faf0dcbd2a3582a83ab59d93b35dd14134e8de9f58635c1eb"
              }
            ]
          },
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:f5898f4657e57faa820dd065ea7295f2374e53bc6f433f2a63af9535ca2b1e71",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
              "sha256:23d1cd0883270f081fee0a6a6b61e51b5e71b6630c134643c35a9d86c9397ea9",
              "sha256:43ac27e871991e80559288a06dc28b0cdd6d6c52c1bc9bce67e083a191ef8bb6",
              "sha256:e22b46c8cc1f92104fe319a192cf5ce80bff96c48bafaa8306cb56f1f2b872a1"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-errors"
            },
            "locators": [
              {
                "artifact_digest": "sha256:06dadb6ec2ca4f3c5875eaea10cb9abb905e9eca955e66e5d7202274bc3eed44",
                "start_byte": 18052,
                "end_byte": 18854,
                "value_digest": "sha256:79caa354cbaf9de20985abcb080461ac989af965c65e510cc188050ef2a29575"
              }
            ]
          },
          {
            "kind": "explicit_first_party_declaration",
            "captures": [
              {
                "retained_capture_digest": "sha256:719614b199a25778f9dc95f612aab738f883567786aa877fec90e59371fb51a1",
                "capture_rung": "http"
              }
            ],
            "artifact_digests": [
              "sha256:0ade5248eae9f53c834f30d4ac0d770f06e359f7669dd05c2fc7cf3bbfc0dad6",
              "sha256:364e8ec99899e660ea3b90ee0ef65e4017bb3f14433538520e93086c89b9a357",
              "sha256:8cc450c52208703179b6df4670bb7afc113524a9183b4456da03470daa4c08f7",
              "sha256:e811f43c4222e0b74a05ff217fb8cad9be94f2e34b31096bf2bec249c9bfbeea"
            ],
            "source_surface": {
              "node_kind": "resource",
              "node_id": "api-limits"
            },
            "locators": [
              {
                "artifact_digest": "sha256:e811f43c4222e0b74a05ff217fb8cad9be94f2e34b31096bf2bec249c9bfbeea",
                "start_byte": 18443,
                "end_byte": 19211,
                "value_digest": "sha256:8bc0943c88427fdee9821a82a3be833c91189ac2af13ec190efbc40b1fe34510"
              }
            ]
          }
        ],
        "note": "Cloudflare resources are accessible through documented, usable interfaces including REST API endpoints, TypeScript/SDK clients, and Wrangler CLI tools."
      }
    ],
    "revision_digest": "sha256:a698fc22baea686a28ff862dd451eb76d2419bf12bb09a3f696acdc44c7b2741"
  }
}
