{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-14T20:21:57.226Z",
  "record_id": "VXI-EXT-PROCUREMENT-AZURE-SAS-REVOCATION-01-v1",
  "record_kind": "external_reference",
  "title": "Azure SAS: Revocation depends on signature type and policy association",
  "system": "Azure Storage",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Can one stored access policy revoke every Azure shared access signature?",
  "near_questions": [
    "Can a stored policy revoke every shared storage link?",
    "Does a user-delegation SAS support stored access policies?",
    "Is an account SAS linked to a container policy?",
    "What distinguishes ad hoc and policy-associated SAS?",
    "Which signature type did the supplier issue?",
    "Does a policy change affect an unassociated token?",
    "What evidence proves a storage token was revoked?",
    "Can a single revocation procedure cover mixed SAS types?",
    "Which expiry and resource scope should be recorded?",
    "Does a storage link require the recipient to hold account credentials?",
    "When should a universal revocation claim be refused?",
    "Can I save an Azure SAS lifecycle review?"
  ],
  "supported_claims": [
    {
      "claim": "Stored access policies apply to associated service SAS tokens. User-delegation and account SAS tokens do not support that association. Identify the SAS type and revocation mechanism before claiming that a policy change ends access; an ad hoc signature cannot inherit a policy it was never linked to.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Verified buyer configuration or effective access rights",
    "Independent execution, completeness or security testing",
    "Vendor certification, legal compliance or guaranteed suitability"
  ],
  "public_summary": "Stored access policies apply to associated service SAS tokens. User-delegation and account SAS tokens do not support that association. Identify the SAS type and revocation mechanism before claiming that a policy change ends access; an ad hoc signature cannot inherit a policy it was never linked to.",
  "related_record_ids": [
    "VXI-EXT-PROCUREMENT-S3-PRESIGN-LIFETIME-01-v1",
    "VXI-EXT-PROCUREMENT-OKTA-SESSION-TOKEN-01-v1",
    "VXI-EXT-PROCUREMENT-CLOUDFLARE-SAAS-SESSION-01-v1"
  ],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "Azure SAS types and revocation",
    "source_url": "https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview",
    "checked_on": "2026-10-14",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-AZURE-SAS-REVOCATION-01-v1",
    "candidate_record_sha256": "47a5d6af0b42dbf46fa30be292a864fb6a370cae96a851833e295bf81f7fc725",
    "method": "Primary documentation reviewed for the published bounded statement.",
    "deployment_tested_by_varexis": false,
    "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
  },
  "answer_policy": {
    "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
    "bounded_answer": "Stored access policies apply to associated service SAS tokens. User-delegation and account SAS tokens do not support that association. Identify the SAS type and revocation mechanism before claiming that a policy change ends access; an ad hoc signature cannot inherit a policy it was never linked to.",
    "required_buyer_context": "SAS type, resource scope, signing method, expiry and stored-policy association.",
    "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
  },
  "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
  "decision_profile": {
    "schema": "varexis-vendor-evidence-review/1",
    "review_status": "documentation_review_only",
    "checked_on": "2026-10-14",
    "claim_to_check": "Changing a stored policy revokes every issued SAS for the resource.",
    "documented_statement": {
      "status": "documented",
      "statement": "Stored access policies apply to associated service SAS tokens. User-delegation and account SAS tokens do not support that association. Identify the SAS type and revocation mechanism before claiming that a policy change ends access; an ad hoc signature cannot inherit a policy it was never linked to.",
      "source_ids": [
        "azure-sas"
      ]
    },
    "buyer_evidence_required": [
      "Inventory of SAS types and signing methods.",
      "Policy association for the specific service SAS.",
      "Documented and tested revocation path for each unassociated token type."
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Keep universal revocation claims open until every token type is covered."
    },
    "unknowns": "The buyer configuration, contract, effective entitlement and operational evidence have not been inspected. Missing evidence does not establish absence or failure of the feature.",
    "evidence_sources": [
      {
        "source_id": "azure-sas",
        "url": "https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview",
        "final_url": "https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview",
        "title": "Azure SAS types and revocation",
        "checked_on": "2026-10-14",
        "sha256": "b6df6200bab220912bf5f66e7662128986314897966e7401d45f5ecf5ffaee0f",
        "bytes": 69926
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Procurement evidence support only; no supplier clearance, legal conclusion, configuration audit or verification of the buyer's claim is supplied.",
    "paid_value": {
      "decision_context": "Save the evidence needed to distinguish policy-linked revocation from other SAS lifecycles.",
      "free": "Complete review, practical questions, sources and limitations; may be saved locally.",
      "single_request": "Existing server-saved version-bound route snapshot for later authenticated retrieval.",
      "evidence_receipt": "The same snapshot plus the existing unsigned delivery receipt.",
      "excluded": [
        "Fresh vendor research",
        "Continuous monitoring or change alerts",
        "Testing the buyer configuration",
        "Private evidence or vendor certification"
      ],
      "integrity": "Hashes identify content versions; they do not prove truth or provide a signature."
    },
    "revalidation": {
      "trigger": "A saved purchase does not recheck the source or buyer configuration.",
      "specific_watch": "SAS issuance patterns, policy associations and key/delegation lifecycle."
    }
  },
  "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
  "service_route": {
    "request_guide": "/varexis-index/request.html",
    "request_workflow": "/varexis-index/request-workflow.json",
    "service_id": "single_request",
    "service_routes_url": "/varexis-index/service-routes.json",
    "payment_required": true,
    "availability_endpoint": "/api/index/capabilities",
    "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
    "checkout_url": "/index-access"
  },
  "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
  "human_page": "/varexis-index/catalog.html#azure-sas-policy-revocation-scope",
  "machine_readable_record": "/varexis-index/records/azure-sas-policy-revocation-scope.json"
}
