{
  "schemaVersion": 1,
  "type": "principle",
  "id": "jakobs-law",
  "evaluation": {
    "reviewedOn": "2026-10-19",
    "status": "limited",
    "modes": [
      "application-fixture"
    ],
    "summary": "Familiar native controls behaved consistently in the local example. No first-use comprehension or cross-cultural expectation study was run.",
    "reportUrl": "/design-evaluations/principle-jakobs-law.json",
    "identity": {
      "target": "Original IonBin synthetic interface example; no external product or human-participant study.",
      "version": "2026-10-19 local fixture",
      "integrity": "SHA-256 f85d1056afd667225a1e0364edfb8f25b4693ffa7b2b8c7d7af5b92338b85ee4 identifies the exact HTML fixture only."
    },
    "environment": [
      "155.0.8059.82 Chromium; fresh context with all network requests blocked.",
      "Synthetic inputs, memory-only state, reduced-motion preference, 1280px and 320px viewports."
    ],
    "tests": [
      {
        "name": "Native choice",
        "mode": "application-fixture",
        "method": "Exercise the original local application fixture and inspect the resulting controls or DOM state.",
        "result": "pass",
        "observation": "Keyboard ArrowDown selected PDF and the visible label matched."
      },
      {
        "name": "Cancel is nondestructive",
        "mode": "application-fixture",
        "method": "Exercise the original local application fixture and inspect the resulting controls or DOM state.",
        "result": "pass",
        "observation": "Cancel retained the synthetic draft and returned focus to Delete."
      }
    ],
    "security": {
      "scope": "Review of the local example’s stated interaction boundaries; no backend, authentication, production permissions or external service was exercised.",
      "findings": [
        {
          "level": "caution",
          "basis": "advice",
          "title": "Familiar appearance does not establish consent",
          "detail": "A standard-looking button can trigger unfamiliar data sharing. Name the actual destination and consequence before a service write."
        }
      ],
      "limits": [
        "The example has no real authorization or persistence layer; its UI behavior cannot establish the security of a deployed workflow."
      ]
    },
    "practicalCaveats": [
      "Keep Save, Share and Publish meanings distinct; validate what new users expect rather than assuming familiarity."
    ],
    "limits": [
      "This checks an authored application example, not the truth, effect size or generality of the named principle.",
      "No users, assistive-technology participants, physical devices or production task outcomes were evaluated."
    ],
    "sources": [
      {
        "label": "Jakob Nielsen: Jakob's Law of Internet User Experience",
        "url": "https://www.nngroup.com/videos/jakobs-law-internet-ux/",
        "scope": "Author's statement of the heuristic."
      }
    ]
  }
}
