Technology

Run local today, HDTS-hosted next, and bring-your-own-cloud on the roadmap. The Banister is built on a governed stack with a clear decision order — and portability so you're never locked in.

Where it runs — your choice

You pick how much we run and how much you keep in-house — the platform meets you at any of three points:

  • Run local. The team runs as sessions on a workstation — no cloud dependency required. This is how it operates today.
  • HDTS-hosted. We run and manage your Banister on our infrastructure — the HDTS team does the hands-on work, billed hourly under a Statement of Work. We manage; you decide — you stay the decision-maker. (The first cloud step; pilot activating.)
  • Bring your own cloud (BYOC). The Banister deployed into your tenant, with your data's residency and governance under your control. On the roadmap — not built yet, but where the residency model is headed.

The residency law

The bottom line for you: your data is never mixed with anyone else's. Client-restricted data is never co-mingled on a shared store — each client's data is isolated by construction. In HDTS-hosted mode that isolation is enforced per-client on our tenant; under BYOC (on the roadmap) the data lives entirely in your own tenant. Either way, isolation is enforced at the architecture level, not by policy — a promise the design keeps for you, not one you have to trust.

The stack decision tree

Technology choices follow a ratified order of preference — not per-project taste:

data residency in-tenant → no servers (serverless) → cloud-native → a primary model vendor, with portability by design

The internal stack

ConcernBuilt onWhy
ModelsAnthropic Claude, portable by designBest-on-merit, never single-vendor-locked.
ComputeAzure Functions (serverless)No servers to run; scale to zero.
Client portalPer-client SPA at <you>.hdtsllc.comOwn repo, own subdomain, own resource group.

Full stack, technical detail:

ConcernBuilt onWhy
Models / reasoningAnthropic Claude (primary), portable by designBest-on-merit, with the abstraction to route to other providers — never single-vendor-locked.
ComputeAzure Functions (serverless)No servers to run; scale to zero; pay for what executes.
Coordination busAzure Service BusDurable, broker-confirmed messaging — the source of truth for team comms (Layer 5).
Knowledge / vectorPostgres + pgvector, one DB per clientGrounded retrieval with row-level security; isolation exercised by a conformance suite (Layer 6).
State / boardAzure Table storageThe authoritative work board and comms ledger (Layer 3).
Identity / secretsManaged identity + per-client key vaultKeyless where possible; a persona structurally can't read a peer's mailbox.
Client portalPer-client SPA at <you>.hdtsllc.comVendored per client — own repo, own subdomain, own resource group.

The residency law, in the architecture

Client-restricted data is never co-mingled on a shared store — each client's data is isolated by construction. In HDTS-hosted mode that isolation is enforced per-client on our tenant; under BYOC (on the roadmap) the data lives entirely in your own tenant. Either way, isolation is enforced at the architecture level, not by policy.

The decision tree as a flow — residency, serverless, cloud-native, model vendor — and the internal stack drawn inside a boundary labeled your tenant.
Every box sits inside your boundary — nothing shared, nothing crosses the line by default. Download SVG ↓

← Functions · Overview →