{
  "schemaVersion": 1,
  "generatedAt": "2026-08-12T23:36:42.923Z",
  "generationKey": "d90414aefd1c7fb4d3441cde7540c6ae0df7ef5104fa65624fd59929cfe2fa6e",
  "metadataPayloadSha256": "ec67694b5f18c268b4368f6a837319e95fec199103db85d0875c37cfd6eb5960",
  "diagram": {
    "id": "api-key-paths-two-different-security-models-1f49ca21",
    "title": "API-key paths: two different security models",
    "description": "API-key paths: two different security models maps the principal capabilities, boundaries, and data paths in this architecture.",
    "status": "current",
    "canonicalAppearanceKey": "md:docs/architecture/security-and-controls.md#3"
  },
  "aliases": [],
  "concepts": [
    "Security and controls",
    "API-key paths: two different security models"
  ],
  "keywords": [
    "API scope gate",
    "withWorkspace + RLS",
    "Workspace key lookup",
    "User key lookup",
    "SHA-256 hash match",
    "Authorization: Bearer key",
    "Fixed workspace + stored scopes",
    "Optional path workspace equality",
    "Live user membership recheck",
    "All workspaces or key allowlist",
    "Resolve live role capabilities",
    "Filter stored scopes by live authority",
    "Stored scope + exact operation capability",
    "eli_sk_",
    "eli_uk_",
    "Prefix"
  ],
  "mermaid": {
    "type": "flowchart",
    "direction": "TD",
    "sourceSha256": "1f49ca213e902e4b9b7d8bb10769f6fc374138103031fbe58b7575c57d0ca996"
  },
  "provenance": [
    {
      "appearanceKey": "md:docs/architecture/security-and-controls.md#3",
      "surface": "markdown",
      "sourcePath": "docs/architecture/security-and-controls.md",
      "line": 184,
      "heading": "API-key paths: two different security models"
    }
  ],
  "embeddedMetadata": [
    {
      "sourcePath": "docs/architecture/security-and-controls.md",
      "heading": "API-key paths: two different security models"
    }
  ],
  "generation": {
    "application": {
      "name": "eli-ai",
      "version": "0.1.0"
    },
    "environment": {
      "node": "v26.3.1",
      "yarn": "4.17.1",
      "platform": "linux",
      "architecture": "x64",
      "containerImage": "playwright:v1.62.1-noble@sha256:c091b21d9fae78c76e85cd4356431e9b018402f172a214fc7d7a5e9a7e29d8ac+node:26.3.1-bookworm-slim@sha256:209558c3e5e40e8adff68959d3c2ba7cd73723e716d89196878a0c362fa1e109"
    },
    "packages": {
      "mermaid": "11.16.0",
      "mermaidCli": "11.16.0",
      "playwright": "1.62.1",
      "playwrightCore": "1.62.1",
      "puppeteer": "25.6.0",
      "puppeteerCore": "25.6.0"
    },
    "renderer": {
      "mermaidConfigSha256": "68c10966fe84406ee626034d58bfabd555df9f65f691204b7c46db24038da101",
      "themeCssSha256": "c80287a78d80ad63d27bd5ca348b2ef9a7e2f44da289e436be6484ea28a1b033",
      "browser": {
        "name": "chromium",
        "revision": "1234",
        "version": "151.0.7922.34",
        "executableSha256": "0b20b130e7edd9dd51873be867761295fe0cfad490c2b9a64f95bd3cfc08fa71"
      },
      "font": {
        "family": "Eli Diagram Inter Variable",
        "fileSha256": "3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62",
        "licenseSha256": "3b0a5fca3d17942cde889069889dedbbbd075e9b599968c82a95f4d944e9b345"
      }
    },
    "adapterVersions": {
      "diagramGenerator": "2",
      "drawioFlowchart": "1",
      "drawioSequence": "1",
      "drawioState": "1",
      "drawioGantt": "1"
    }
  },
  "artifacts": {
    "mmd": "/diagrams/api-key-paths-two-different-security-models-1f49ca21/api-key-paths-two-different-security-models-1f49ca21.mmd",
    "svg": "/diagrams/api-key-paths-two-different-security-models-1f49ca21/api-key-paths-two-different-security-models-1f49ca21.svg",
    "png": "/diagrams/api-key-paths-two-different-security-models-1f49ca21/api-key-paths-two-different-security-models-1f49ca21.png",
    "drawio": "/diagrams/api-key-paths-two-different-security-models-1f49ca21/api-key-paths-two-different-security-models-1f49ca21.drawio",
    "json": "/diagrams/api-key-paths-two-different-security-models-1f49ca21/api-key-paths-two-different-security-models-1f49ca21.json"
  },
  "artifactSha256": {
    "mmd": "dd04ee11732a53db11017d90e304250db1d1784cc5f63f86354ad5a2bd17380c",
    "svg": "dde797c35bab2dd4a557efb09bab139899f5e7d6f6a300d2e64bbce661628563",
    "png": "2b5701369ccdce4052bf60e5652e7a2c28b0f8737f9ac944b24ea0d6d5281212",
    "drawio": "6cac937d79c504dae3a803fe827281ff8da02b432cc43e5af193f67eb948b4a4"
  }
}
