{
  "schemaVersion": "1.0",
  "entityFamily": "modules",
  "entityType": "DefinedTerm",
  "entityId": "modules:128",
  "canonicalUrl": "https://babadook.tech/modules/deployment-topology",
  "machineBaseUrl": "https://babadook.tech/ai/modules/deployment-topology",
  "name": "Deployment Topology",
  "aliases": [],
  "summary": "Your data stays where your lawyers say it must — with proof on every request.",
  "description": [
    "Regulated operators don't get to shrug about where data lives — and auditors have learned to ask. Deployment Topology makes residency an attribute stamped on every request, audit event, and metric instead of a diagram nobody can verify. Self-hosted, cloud, hybrid, air-gapped, or edge: you choose per site, and the system proves compliance continuously."
  ],
  "sections": [
    {
      "id": "why-topology-is-a-runtime-attribute-b02a0467-9b45-4eb7-bca7-110ea3e20c5d",
      "heading": "Why topology is a runtime attribute",
      "body": [
        "Regulated operators do not get to shrug about where data lives. A pharmaceutical plant, a defense supplier, and a retailer have different answers — sometimes for different sites of the same company. XRP records the chosen topology per deployment and stamps it on every request, audit event, and metric, so residency questions get answered from attributes instead of architecture diagrams."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: thesis"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "b02a0467-9b45-4eb7-bca7-110ea3e20c5d"
    },
    {
      "id": "topology-options-49a364b6-6c64-4162-a8e8-9bc6b825feae",
      "heading": "Topology options",
      "body": [],
      "specifications": [
        {
          "label": "Self-hosted and BYOC",
          "value": "Data and runtime stay in your environment under your controls",
          "group": "spec Items"
        },
        {
          "label": "Managed dedicated and SaaS",
          "value": "Babadook-operated infrastructure with hard tenant isolation",
          "group": "spec Items"
        },
        {
          "label": "Hybrid",
          "value": "Local primary with cloud overflow or disaster recovery, cutover proven",
          "group": "spec Items"
        },
        {
          "label": "Air-gapped and edge",
          "value": "Signed bundles, local trust roots, no public-network dependency",
          "group": "spec Items"
        },
        {
          "label": "section",
          "value": "capabilities",
          "group": "data View"
        }
      ],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "product_specification",
      "sourceBlockId": "49a364b6-6c64-4162-a8e8-9bc6b825feae"
    },
    {
      "id": "who-answers-for-deployment-63551ced-f6c5-4ab9-a8d3-c91fe485e171",
      "heading": "Who answers for Deployment",
      "body": [
        "Four roles, four anxieties, one topology record answering each."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: personas"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "col Title: CIO",
            "col Cont: Residency proven per request instead of asserted per diagram. Mixed estates — SaaS headquarters, air-gapped plants — run one product with attributes intact."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "col Title: CFO",
            "col Cont: Infrastructure spend matches control needs: SaaS where commodity, self-hosted where strategic, edge where operations demand it. No blanket premium for control needed in one corner."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "col Title: COO",
            "col Cont: Plants keep running through outages with local trust roots and queued evidence. Connectivity is a sync schedule, not a survival requirement."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-4-4",
          "heading": "Section 4",
          "body": [
            "col Title: Compliance Leader",
            "col Cont: Data-residency answers come from request attributes, not architecture reviews. Examiners get continuous proof instead of annual attestations."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "63551ced-f6c5-4ab9-a8d3-c91fe485e171"
    },
    {
      "id": "from-hosting-anxiety-to-proven-residency-b7140eae-075e-4e16-b10f-13be998b7ae8",
      "heading": "From hosting anxiety to proven residency",
      "body": [
        "subtitle: What each stage feels like after adoption.",
        "layout: alternating",
        "enable Slideshow: false",
        "slideshow Interval: 5000"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "topologies-declared-1",
          "heading": "Topologies declared",
          "body": [
            "date: Phase 1",
            "status: in-progress",
            "Each site records its model with residency attributes stamped per request.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "edge-goes-independent-2",
          "heading": "Edge goes independent",
          "body": [
            "date: Phase 2",
            "status: upcoming",
            "Disconnected sites run on local trust with evidence queued for sync.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "dr-stops-being-theoretical-3",
          "heading": "DR stops being theoretical",
          "body": [
            "date: Phase 3",
            "status: upcoming",
            "Failover proves before it switches, with lineage intact across the cut.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "examiners-query-not-tour-4",
          "heading": "Examiners query, not tour",
          "body": [
            "date: Phase 4",
            "status: upcoming",
            "Residency and continuity evidence arrives as queries, not site visits.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "timeline",
      "sourceBlockId": "b7140eae-075e-4e16-b10f-13be998b7ae8"
    },
    {
      "id": "deployment-sub-modules-513274d4-78df-4864-a9d0-c4a531b30b23",
      "heading": "Deployment sub-modules",
      "body": [
        "subtitle: Topology chosen, performance proven.",
        "data View: deployment-topology:sub-modules"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "performance-substrate-1",
          "heading": "Performance Substrate",
          "body": [
            "desc: Tiered compute with receipts at every tier.",
            "link: /sub-modules/performance-substrate"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "product_showcase",
      "sourceBlockId": "513274d4-78df-4864-a9d0-c4a531b30b23"
    },
    {
      "id": "topologies-in-practice-7dac06f0-9005-40a2-be82-61dd71ad4e61",
      "heading": "Topologies in practice",
      "body": [
        "Each model below runs the same product with different residency and connectivity contracts — chosen per deployment, stamped on every request."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: applications"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "self-hosted-and-byoc-1",
          "heading": "Self-hosted and BYOC",
          "body": [
            "Your servers or your cloud account with your controls. Upgrades on your schedule, data never leaving your boundary, full audit access to the runtime."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "managed-and-saas-2",
          "heading": "Managed and SaaS",
          "body": [
            "Babadook-operated infrastructure with hard tenant isolation. Dedicated tenants get single-customer runtimes; shared SaaS gets row-level enforcement with the same guarantees."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "hybrid-and-dr-3",
          "heading": "Hybrid and DR",
          "body": [
            "Local primary with cloud overflow or standby recovery. Replication carries evidence lineage so failover never forks the truth — cutover proves before it switches."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "air-gapped-and-edge-4",
          "heading": "Air-gapped and Edge",
          "body": [
            "Signed offline bundles with local trust roots for disconnected plants, vessels, and field sites. Ruggedized edge hardware runs the full ledger; evidence syncs when connectivity returns."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "7dac06f0-9005-40a2-be82-61dd71ad4e61"
    },
    {
      "id": "deployment-questions-5dcf277c-a5a0-4f5c-9391-c97ffced20d5",
      "heading": "Deployment questions",
      "body": [],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "Can air-gapped sites still audit centrally?",
            "Yes. Evidence bundles export with signatures and lineage for later verification without requiring a live connection."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "Can different sites use different topologies?",
            "Yes. Topology is per deployment, so a headquarters SaaS tenant and an air-gapped plant operate under one product with their residency attributes intact."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "What happens when connectivity drops mid-shift?",
            "Edge and offline-capable deployments keep validating against local trust roots and queue evidence for sync. No work stops waiting for the network."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-4-4",
          "heading": "Section 4",
          "body": [
            "Are we locked into Babadook's cloud if we start SaaS?",
            "No. The same product runs self-hosted with your data exportable with lineage. Topology changes are migrations with evidence, not re-implementations."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-5-5",
          "heading": "Section 5",
          "body": [
            "When was DR last actually tested?",
            "Continuously: replication carries lineage and cutover proves before switching, so the answer is always the last successful proof — not last year's tabletop exercise."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: faqs"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "faq_section",
      "sourceBlockId": "5dcf277c-a5a0-4f5c-9391-c97ffced20d5"
    },
    {
      "id": "content-section-8",
      "heading": "content section",
      "body": [
        "value: You choose where the runtime and data live — self-hosted, your cloud, managed dedicated, shared SaaS, hybrid, air-gapped, or ruggedized edge. Compliance and ownership ride every request as explicit attributes, not assumptions buried in a hosting contract."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "content_section"
    },
    {
      "id": "section-9",
      "heading": "Section 9",
      "body": [
        "Seven deployment models from shared SaaS to air-gapped edge"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-10",
      "heading": "Section 10",
      "body": [
        "Customer-owned runtime with explicit data-residency attributes"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-11",
      "heading": "Section 11",
      "body": [
        "Signed offline bundles with local trust roots for disconnected sites"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-12",
      "heading": "Section 12",
      "body": [
        "Hybrid overflow and disaster-recovery patterns with proven cutover"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-13",
      "heading": "Section 13",
      "body": [
        "Ruggedized edge operation without public-network dependency"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-14",
      "heading": "Section 14",
      "body": [
        "Per-request topology attributes on audits, events, and metrics"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-15",
      "heading": "Section 15",
      "body": [
        "Managed dedicated isolation alongside self-hosted control"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-16",
      "heading": "Section 16",
      "body": [
        "Evidence export for central review from disconnected deployments"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    }
  ],
  "specifications": [],
  "claims": [],
  "relationships": [
    {
      "type": "products",
      "targets": [
        {
          "id": "12",
          "family": "products",
          "name": "XRP",
          "slug": "xrp",
          "canonicalUrl": "https://babadook.tech/products/xrp",
          "relationship": "products"
        }
      ]
    },
    {
      "type": "sub_modules",
      "targets": [
        {
          "id": "151",
          "family": "sub-modules",
          "name": "Performance Substrate",
          "slug": "performance-substrate",
          "canonicalUrl": "https://babadook.tech/sub-modules/performance-substrate",
          "relationship": "sub_modules"
        }
      ]
    }
  ],
  "authors": [],
  "media": [],
  "regulatoryContext": {
    "exportControlAndLicensingReviewRequired": false
  },
  "language": "en",
  "receipt": {
    "sourceBlockCount": 41,
    "projectedBlockCount": 41,
    "sourceValueCount": 80,
    "projectedValueCount": 88,
    "sourceRelationshipCount": 2,
    "projectedRelationshipCount": 2,
    "sourceClaimCount": 0,
    "projectedClaimCount": 0,
    "unknownBlockTypes": [],
    "omittedFields": [],
    "missingValuePaths": [],
    "invalidClaims": [],
    "complete": true
  },
  "contentHash": "394b93e34af7b6baf5f8ce878a0882b9184f3f15fedfae2595d8b7cd0d1960a8"
}