{
  "code": "LOCAL-01",
  "slug": "browser-local-saved-work",
  "title": "Browser-Local Saved Work",
  "category": "Interface and Accessibility",
  "status": "Guidance",
  "version": "2.0.4-wip",
  "summary": "Defines named, exportable, recoverable local drafts for missions, evidence packets, simulations, debriefs, packages, comparisons, and migration reports without accounts or server transmission.",
  "keywords": [
    "localStorage",
    "saved work",
    "drafts",
    "export all",
    "recovery",
    "privacy"
  ],
  "mission_phases": [
    "Task",
    "Plan",
    "Debrief"
  ],
  "canonical": "https://iarpg.com/standard/browser-local-saved-work",
  "json": "https://iarpg.com/records/browser-local-saved-work.json",
  "requirements": [
    {
      "level": "MUST",
      "text": "Keep saved work browser-local unless the user explicitly exports a file."
    },
    {
      "level": "MUST",
      "text": "Provide named drafts, UTC modified time, rename, duplicate, export, delete confirmation, storage usage, and malformed-record recovery."
    },
    {
      "level": "SHOULD",
      "text": "Keep saved records namespaced by release and content type and preserve unknown fields."
    },
    {
      "level": "MAY",
      "text": "Provide import-all and export-all bundles for user-controlled backup."
    }
  ],
  "research": [
    {
      "label": "Player control and review",
      "href": "/docs/report/justice-system-and-warrant-escalation-for-rogue-intelligence#incarceration-and-player-experience",
      "note": "Reliable controls and recoverable state protect the player-facing social contract."
    }
  ],
  "related": [
    "accessibility-and-vr-comfort",
    "operation-package-format",
    "release-migration-and-backward-compatibility"
  ],
  "release": "IARPG-OPS-2",
  "revised_utc": "2026-07-20T12:04:07Z",
  "purpose": "Defines named, exportable, recoverable local drafts for missions, evidence packets, simulations, debriefs, packages, comparisons, and migration reports without accounts or server transmission.",
  "rationale": "The operations design system requires portable, inspectable, recoverable records so mission decisions and consequences can be reviewed across tools and release boundaries.",
  "game_interaction": [
    "Review structured record",
    "Load related local tool",
    "Inspect standards and report links",
    "Export normalized JSON",
    "Record UTC result"
  ],
  "inputs": [
    "Mission or package identifier",
    "Applicable authority and roles",
    "Evidence and state records",
    "Release and conformance metadata"
  ],
  "outputs": [
    "Human-readable publication view",
    "Machine-readable JSON",
    "Reason-coded validation findings",
    "Deep links to related standards and reports"
  ],
  "state_transitions": [
    "Input loaded → validated → edited or compared → exported or preserved"
  ],
  "evidence_and_provenance": [
    "Record UTC timestamps, source identifiers, component versions, and reason codes.",
    "Preserve evidence class boundaries and unknown extension data."
  ],
  "ui_requirements": [
    "Provide compact metadata and clear status.",
    "Provide local import and export without server transmission.",
    "Provide structured fallback for visual representations."
  ],
  "accessibility_requirements": [
    "Support keyboard operation and visible focus.",
    "Provide live validation status and print-readable output."
  ],
  "telemetry_events": [
    "Local tool may expose an exportable event record; no user content is transmitted by this publication."
  ],
  "abuse_and_exploit_cases": [
    "Silent field loss",
    "Non-deterministic replay",
    "False conformance claim",
    "Unreviewable transformation"
  ],
  "failure_behavior": "Reject invalid structure with explicit findings, preserve the original input, and never discard unknown fields silently.",
  "recovery_behavior": "Allow the user to repair input, restore a local draft, export preserved unmapped data, or restart from a published fixture.",
  "example_implementation": "The /saved interface demonstrates this record using PHP, vanilla JavaScript, local JSON, and browser APIs.",
  "roles": [
    "Operative",
    "Handler",
    "Intelligence Analyst",
    "Technical Operator",
    "Counterintelligence Officer",
    "Liaison Officer",
    "Logistics Specialist",
    "Source Handler"
  ],
  "authority_types": [
    "Civil administration",
    "Military command",
    "Commercial intelligence service",
    "International verification body",
    "Scientific or infrastructure consortium",
    "Independent investigative network"
  ],
  "collection_disciplines": [
    "Human-source",
    "Technical",
    "Open-source",
    "Liaison",
    "Observation"
  ],
  "interaction_types": [
    "Review",
    "Validate",
    "Compare",
    "Export",
    "Handoff"
  ],
  "evidence_requirement": "Component IDs and provenance",
  "conformance_level": "Level D — Simulatable",
  "implementation_maturity": "WIP implemented",
  "related_examples": [
    "port-access-anomaly-investigation",
    "cross-border-ceasefire-verification"
  ],
  "revision_history": [
    {
      "version": "2.0.2-wip",
      "date_utc": "2026-07-19T16:42:07Z",
      "change": "Initial publication for the IARPG-OPS-2 operation-package lifecycle."
    },
    {
      "version": "2.0.3-wip",
      "date_utc": "2026-07-19T18:45:50Z",
      "note": "Reviewed for integrity-aware package verification, merge, multi-role replay, custody comparison, batch review, backup, publication preview, and release-promotion workflows."
    },
    {
      "version": "2.0.4-wip",
      "date_utc": "2026-07-20T12:04:07Z",
      "note": "Reviewed for canonicalization, round-trip portability, recovery, provenance, compatibility, accessibility, hosting evidence, and stable-promotion gates."
    }
  ]
}
