{
  "schemaVersion": 1,
  "type": "resource",
  "id": "if-patterns",
  "evaluation": {
    "reviewedOn": "2026-10-19",
    "status": "checked",
    "modes": [
      "http",
      "browser"
    ],
    "summary": "The capabilities-and-limitations pattern opened with description, advantages, limitations and examples. Pattern browsing worked without submitting information.",
    "reportUrl": "/design-evaluations/resource-if-patterns.json",
    "identity": {
      "target": "https://catalogue.projectsbyif.com/",
      "version": "Unversioned public page observed on 2026-10-19",
      "integrity": "sha256:ed57a6c386c40261dab9da210a9a8c9a30bb6b5c32c70d30baa8f6e6b087673b — initial HTTP 200 response body only; not whole-application integrity."
    },
    "environment": [
      "Chromium 155.0.8059.82, 1365×900 desktop viewport.",
      "Separate fresh, ephemeral browser contexts for entry and interaction; no owner profile, credentials or stored session.",
      "Only GET/HEAD network requests allowed; forms, downloads, WebSockets and service workers blocked. Some analytics endpoints also blocked.",
      "Short bounded waits; no mobile, assistive-technology, cross-browser or performance certification."
    ],
    "tests": [
      {
        "name": "Public HTTP response",
        "mode": "http",
        "method": "Anonymous GET with redirects followed, response-body SHA-256 and selected security-header summaries; no cookies retained.",
        "result": "pass",
        "observation": "The standalone client received 200 at https://catalogue.projectsbyif.com/. This establishes response delivery only."
      },
      {
        "name": "Fresh browser entry",
        "mode": "browser",
        "method": "Open the catalog URL in a new anonymous Chromium context with read-only network guards and no inherited profile.",
        "result": "pass",
        "observation": "The document returned 200 and identified itself as “Design Patterns Catalogue”. 203 image elements were present; no account was used."
      },
      {
        "name": "Observed public sample or navigation",
        "mode": "browser",
        "method": "Follow the observed Show capabilities and limitations link to https://catalogue.projectsbyif.com/patterns/show-capabilities-and-limitations.",
        "result": "pass",
        "observation": "The destination returned 200; title: “Show capabilities and limitations | Patterns Catalogue”. 4 page image elements had decoded during the bounded wait. This count is not a catalog size or performance benchmark."
      }
    ],
    "security": {
      "scope": "Passive inspection of the initial public document’s response headers and anonymous browser request hostnames, with read-only guards. No source exploitation, account access, dependency audit or private data.",
      "findings": [
        {
          "level": "info",
          "basis": "observed",
          "title": "Public response protections",
          "detail": "The initial browser page used HTTPS. Its response included HSTS. An enforcing CSP response header declared default-src, script-src, style-src, font-src, img-src, connect-src, form-action, base-uri, object-src, frame-ancestors, upgrade-insecure-requests; it also contained unsafe-inline. X-Frame-Options was DENY. This records the sampled response only; meta policies, backend authorization and exploit resistance were not assessed."
        },
        {
          "level": "info",
          "basis": "observed",
          "title": "Request surface in the anonymous visit",
          "detail": "IF Design Patterns Catalogue attempted requests to 1 additional host, including plausible.io. Host counts include requests stopped by the test guard; they do not establish what data a service retained."
        },
        {
          "level": "caution",
          "basis": "advice",
          "title": "Before using this reference",
          "detail": "Use the pattern to make an AI feature’s boundaries legible, then test the explanation with the people who must rely on it."
        }
      ],
      "limits": [
        "No authentication, authorization, tenant separation, data retention or backend handling was tested.",
        "Header presence or absence is a sampled configuration observation, not a security certification or an exploit finding.",
        "0 blocked-request records were retained across entry and interaction checks. Guards may alter normal page behavior; the logs do not represent unrestricted traffic."
      ]
    },
    "practicalCaveats": [
      "Use the pattern to make an AI feature’s boundaries legible, then test the explanation with the people who must rely on it.",
      "These are design patterns, not proof of legal compliance or user trust."
    ],
    "limits": [
      "No service using the pattern was implemented; consent, authentication, backend permissions and legal compliance were not assessed.",
      "Results describe the observed public pages and a bounded action, not the entire product or the referenced designs."
    ],
    "sources": [
      {
        "label": "Public resource entry",
        "url": "https://catalogue.projectsbyif.com/"
      },
      {
        "label": "Observed sample or category",
        "url": "https://catalogue.projectsbyif.com/patterns/show-capabilities-and-limitations"
      }
    ]
  }
}
