{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-14T20:21:57.226Z",
  "record_id": "VXI-EXT-PROCUREMENT-GCP-KMS-ROTATION-DATA-01-v1",
  "record_kind": "external_reference",
  "title": "Cloud KMS rotation: New key versions do not rewrite existing ciphertext",
  "system": "Google Cloud KMS",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does rotating a Cloud KMS key prove old encrypted data no longer depends on the old version?",
  "near_questions": [
    "Does key rotation re-encrypt existing data?",
    "Are old Cloud KMS versions disabled automatically?",
    "Can an old key version remain necessary after rotation?",
    "Does asymmetric key rotation use the same automatic process?",
    "What evidence proves ciphertext no longer needs an old version?",
    "Can destroying a key cause unrecoverable data loss?",
    "Which key inventory belongs in a procurement review?",
    "Does a rotation schedule prove migration completed?",
    "What should an agent verify before reporting key retirement?",
    "Can newly encrypted data use a different version from old data?",
    "When should old-key dependency remain unresolved?",
    "Can I save a KMS rotation-boundary review?"
  ],
  "supported_claims": [
    {
      "claim": "The documentation separates creating a new key version from re-encrypting existing data and retiring old versions. Rotation alone does neither. Establish which data still depends on each version before asserting completion; destroying a version still in use can make its data unrecoverable.",
      "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": "The documentation separates creating a new key version from re-encrypting existing data and retiring old versions. Rotation alone does neither. Establish which data still depends on each version before asserting completion; destroying a version still in use can make its data unrecoverable.",
  "related_record_ids": [
    "VXI-EXT-PROCUREMENT-GITHUB-DEPLOY-REVIEW-01-v1",
    "VXI-EXT-PROCUREMENT-CODEQL-BUILD-COVERAGE-01-v1",
    "VXI-EXT-PROCUREMENT-FASTLY-SOFT-PURGE-01-v1"
  ],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "Google Cloud KMS key rotation boundaries",
    "source_url": "https://docs.cloud.google.com/kms/docs/key-rotation",
    "checked_on": "2026-10-14",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-GCP-KMS-ROTATION-DATA-01-v1",
    "candidate_record_sha256": "fdd2ac3740b3d16d5c52b495345e4963191f1c1e26bee9c4100577b0fe0bf42a",
    "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": "The documentation separates creating a new key version from re-encrypting existing data and retiring old versions. Rotation alone does neither. Establish which data still depends on each version before asserting completion; destroying a version still in use can make its data unrecoverable.",
    "required_buyer_context": "Key type, version inventory, ciphertext dependencies and re-encryption evidence.",
    "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": "Automatic rotation replaces old encryption and removes all old-key dependency.",
    "documented_statement": {
      "status": "documented",
      "statement": "The documentation separates creating a new key version from re-encrypting existing data and retiring old versions. Rotation alone does neither. Establish which data still depends on each version before asserting completion; destroying a version still in use can make its data unrecoverable.",
      "source_ids": [
        "gcp-rotation"
      ]
    },
    "buyer_evidence_required": [
      "Key type, active versions and rotation configuration.",
      "Evidence of re-encryption or remaining ciphertext dependencies.",
      "Approved retirement checks for versions still needed by data."
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Do not recommend retiring a key version from rotation status alone."
    },
    "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": "gcp-rotation",
        "url": "https://docs.cloud.google.com/kms/docs/key-rotation",
        "final_url": "https://docs.cloud.google.com/kms/docs/key-rotation",
        "title": "Google Cloud KMS key rotation boundaries",
        "checked_on": "2026-10-14",
        "sha256": "ca17339d1d354e23c71f0ad616a1ef12801decdf86ec69cefa2141622c9dd8ee",
        "bytes": 146819
      }
    ],
    "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 why a rotation event was insufficient evidence of completed data-key migration.",
      "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": "Key type, version lifecycle and re-encryption coverage."
    }
  },
  "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#gcp-kms-rotation-existing-data",
  "machine_readable_record": "/varexis-index/records/gcp-kms-rotation-existing-data.json"
}
