{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-24T22:44:15.019Z",
  "record_id": "VXI-EXT-PROCUREMENT-RESTIC-RETENTION-GROUP-SCOPE-01-v1",
  "record_kind": "external_reference",
  "title": "restic retention grouping",
  "system": "restic v0.19.1",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does restic keep-last apply one retention count across every backed-up host and path?",
  "near_questions": [
    "Why does restic keep more snapshots than keep-last requests?",
    "How do host and path groups affect restic retention?",
    "Can a changed restic group-by remove another backup set?",
    "Which selection evidence is needed to audit restic forget?"
  ],
  "supported_claims": [
    {
      "claim": "restic v0.19.1 groups snapshots by host name and paths before applying a retention policy independently to each group. group-by can change those keys or disable grouping, while host and tag filters further restrict selection. A keep count without its grouping and filtering context cannot establish which backup sets were retained or removed.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "No buyer retention selection or legal retention requirement was evaluated.",
    "No independently verified physical deletion, complete recovery, legal compliance or security assurance.",
    "Buyer deployment testing, live runtime enforcement, certification or permission to act",
    "Expanded capabilities or licences for existing INDEX executables"
  ],
  "public_summary": "restic v0.19.1 groups snapshots by host name and paths before applying a retention policy independently to each group. group-by can change those keys or disable grouping, while host and tag filters further restrict selection. A keep count without its grouping and filtering context cannot establish which backup sets were retained or removed.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "restic v0.19.1 — 060_forget",
    "source_url": "https://raw.githubusercontent.com/restic/restic/6aa3a516ce654808a1f28f9fa21e9b7c8e6e90bf/doc/060_forget.rst",
    "checked_on": "2026-10-24",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-RESTIC-RETENTION-GROUP-SCOPE-01-v1",
    "candidate_record_sha256": "f4389382d69950768c7edd06cd29316c41e6fd187a1804d1484106bfb9fb11dc",
    "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": "restic v0.19.1 groups snapshots by host name and paths before applying a retention policy independently to each group. group-by can change those keys or disable grouping, while host and tag filters further restrict selection. A keep count without its grouping and filtering context cannot establish which backup sets were retained or removed.",
    "required_buyer_context": "Snapshot host, path and tag metadata; Effective group-by, host and tag selection; Dry-run selection and actual forget results. Buyer deployment not inspected.",
    "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-24",
    "claim_to_check": "Does restic keep-last apply one retention count across every backed-up host and path?",
    "documented_statement": {
      "status": "documented",
      "statement": "restic v0.19.1 groups snapshots by host name and paths before applying a retention policy independently to each group. group-by can change those keys or disable grouping, while host and tag filters further restrict selection. A keep count without its grouping and filtering context cannot establish which backup sets were retained or removed.",
      "source_ids": [
        "restic-forget"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Review the actual backup sets affected by an automated retention run. The required reconciliation is a review judgment; no buyer deployment was inspected.",
      "source_ids": [
        "restic-forget"
      ]
    },
    "buyer_evidence_required": [
      "Snapshot host, path and tag metadata",
      "Effective group-by, host and tag selection",
      "Dry-run selection and actual forget results"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Refuse a repository-wide retention count without the applied grouping and filters."
    },
    "unknowns": "No buyer retention selection or legal retention requirement was evaluated.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "No buyer retention selection or legal retention requirement was evaluated."
    },
    "evidence_sources": [
      {
        "source_id": "restic-forget",
        "url": "https://raw.githubusercontent.com/restic/restic/6aa3a516ce654808a1f28f9fa21e9b7c8e6e90bf/doc/060_forget.rst",
        "final_url": "https://raw.githubusercontent.com/restic/restic/6aa3a516ce654808a1f28f9fa21e9b7c8e6e90bf/doc/060_forget.rst",
        "status": 200,
        "captured_at_utc": "2026-10-24T22:28:59.717Z",
        "sha256": "444be0adec93ad92810a4c6b363d8a5a7b77d84c88879e38408b1a7ea2eff614",
        "bytes": 26823,
        "title": "restic v0.19.1 — 060_forget",
        "hash_basis": "Decoded HTTP response body bytes",
        "rights_review": "Original bounded paraphrase; source bodies are captured privately and not redistributed. Repository BSD-2-Clause licence reviewed.",
        "checked_on": "2026-10-24",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "Removing snapshots and pruning unused data",
          "Retention policy grouping and filters",
          "Time-based retention and future timestamps",
          "Security considerations in append-only mode"
        ],
        "version_context": "Released restic v0.19.1 (2026-07-05); pinned restic/restic revision 6aa3a516ce654808a1f28f9fa21e9b7c8e6e90bf. Source documentation is not independent evidence of buyer deployment behaviour."
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Documentation review only; the buyer must establish applicability and actual outcomes. INDEX does not inspect or control the deployment.",
    "paid_value": {
      "decision_context": "Review the actual backup sets affected by an automated retention run.",
      "free": "Complete review, sources, practical questions 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": "Recheck the pinned source, deployed version, selection policy and retained operation results before relying on a current outcome."
    },
    "buyer_relevance": "Review the actual backup sets affected by an automated retention run.",
    "refusal_conditions": [
      "Refuse a repository-wide retention count without the applied grouping and filters."
    ]
  },
  "niche": {
    "niche_id": "enterprise-ai-data-custody-exit-assurance",
    "label": "Enterprise AI Data Custody & Exit Assurance",
    "classification_id": "custody",
    "classification_label": "AI Data Custody, Retention & Exit Assurance",
    "topic_id": "custody",
    "buyer_intent": "Review the actual backup sets affected by an automated retention run.",
    "comparison_role": "supplementary_discovery"
  },
  "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#restic-retention-group-scope",
  "machine_readable_record": "/varexis-index/records/restic-retention-group-scope.json"
}
