chartlet 0.23.0

Compile structured data into deterministic, accessible static charts
Documentation
{
  "schemaVersion": 1,
  "type": "architecture",
  "title": "Payments and what to know about them",
  "source": "Illustrative reference architecture",
  "width": 1000,
  "height": 1120,
  "architecture": {
    "boundaries": [
      { "id": "cloud", "label": "Cloud account" },
      { "id": "pci", "label": "Card data zone", "in": "cloud" }
    ],
    "components": [
      { "id": "shopper", "label": "Shopper", "kind": "person" },
      { "id": "checkout", "label": "Checkout", "kind": "frontend" },
      { "id": "gateway", "label": "API gateway", "in": "cloud" },
      { "id": "payments", "label": "Payment service", "in": "pci" },
      { "id": "vault", "label": "Token vault", "kind": "security", "in": "pci" },
      { "id": "ledger", "label": "Ledger", "kind": "database", "in": "cloud" },
      { "id": "provider", "label": "Card provider", "kind": "external" }
    ],
    "connections": [
      { "from": "shopper", "to": "checkout", "label": "pays" },
      { "from": "checkout", "to": "gateway", "technology": "HTTPS" },
      { "from": "gateway", "to": "payments", "label": "charge" },
      { "from": "payments", "to": "vault", "label": "tokenizes" },
      { "from": "payments", "to": "provider", "label": "authorizes", "technology": "HTTPS" },
      { "from": "payments", "to": "ledger", "label": "records", "technology": "SQL" }
    ],
    "mainPath": ["shopper", "checkout", "gateway", "payments", "provider"],
    "orientation": "portrait",
    "notes": [
      { "on": "vault", "text": "Card numbers never leave the vault; everything else sees tokens." },
      { "on": "pci", "text": "Audited once a year; changes need a second reviewer." },
      { "text": "Figures and names are illustrative; the diagram shows the target state." }
    ]
  },
  "mobile": {
    "width": 440,
    "height": 1200
  }
}