Skip to content

Basin

An on-premises data lake with first-party analytics

Basin runs entirely inside your network: your own datacentre, your private cloud on AWS, Azure or GCP, or an air-gapped environment. Nothing leaves. No telemetry, no phone-home, and the licence keys work offline, so Basin adds zero sub-processors to your data-processing agreements.

Your network

Source systems

  • Postgres

    log-based CDC

  • SQL Server

    log-based CDC

  • Epic

    HL7 v2 and FHIR

  • SAP

    native connector

  • Kafka

    streaming

Basin

  1. Ingest

    60+ connectors, CDC, HL7 v2 and FHIR

  2. Iceberg tables

    Parquet on your object store

  3. SQL engine

    Distributed ANSI SQL

  4. Dashboards

    Reports, alerts, metrics layer

Consumers

  • Analysts

    JDBC, ODBC, Python via Arrow

  • Embedded apps

    Relay or your own apps, with row-level security

Nothing crosses this boundary. No telemetry, no phone-home, no export to a vendor cloud. Licence keys work offline.

First-party analytics

What first-party analytics means

It means the dashboards, reports and models run on your own hardware, operated by your own people. The usual alternative is to copy your data into an analytics vendor's cloud and query it there, which is how most hospitals and banks ended up with a second copy of their most sensitive records outside their own perimeter. Basin runs where the data already is.

For a hospital or a bank, that changes the paperwork before it changes the dashboards. There's no new vendor to add to the data-processing agreement, no Business Associate Agreement to negotiate just to run analytics, and no data export to defend at the next audit. Your data-protection officer counts one fewer sub-processor, because Basin adds none.

Ingest and storage

Open formats on your own object store

Basin writes Parquet files and Apache Iceberg metadata to an S3-compatible object store you already run. There's no proprietary storage engine and no format you'd need us to convert on the way out.

You can leave with your data.

Every table is Parquet files plus Iceberg metadata in your own bucket. If you stop using Basin, there's nothing to export: point another engine at the same storage and carry on.

Formats
  • Parquet
  • Apache Iceberg

Parquet for the files, Iceberg for the table format. Both are open specifications with readers in Spark, Trino, DuckDB, pandas and most warehouses, so the tables stay useful with or without Basin.

Object stores
  • MinIO
  • Ceph
  • NetApp StorageGRID
  • Dell ECS
  • Azure Blob
  • AWS S3

Any S3-compatible store, on premises or inside your VPC. Basin doesn't need its own storage tier, so there's no second copy of the data to secure.

Connectors
  • Postgres
  • MySQL
  • SQL Server
  • Oracle
  • SAP
  • Salesforce
  • Dynamics 365
  • Epic (HL7 v2, FHIR)
  • Cerner (HL7 v2, FHIR)
  • CSV and SFTP drops
  • Kafka
  • Log-based change data capture

More than 60 in total. Epic and Cerner connect over HL7 v2 and FHIR. Log-based change data capture reads the source's transaction log rather than polling tables, so production databases don't take extra query load and every change arrives in order.

Query and analytics

One SQL engine, every tool your analysts already use

A distributed ANSI SQL engine runs over the Iceberg tables. Connect from any JDBC or ODBC tool, from Python through Apache Arrow, or use the dashboards, reports and alerts that ship with Basin.

readmissions_by_ward.sql Iceberg snapshot as at 1 July 2026
SELECT
  w.ward_name,
  count(*) AS admissions,
  count(*) FILTER (WHERE r.readmitted_within_30d) AS readmissions,
  round(100.0 * count(*) FILTER (WHERE r.readmitted_within_30d) / count(*), 1)
    AS readmission_pct
FROM clinical.admissions
  FOR TIMESTAMP AS OF TIMESTAMP '2026-07-01 00:00:00 Europe/London' AS a
JOIN clinical.readmissions AS r USING (admission_id)
JOIN reference.wards AS w ON w.ward_id = a.ward_id
WHERE a.admitted_at >= DATE '2026-04-01'
  AND a.admitted_at <  DATE '2026-07-01'
GROUP BY w.ward_name
ORDER BY readmission_pct DESC
LIMIT 6;
6 rows in 0.42 s Logged: user, tables, columns, row count

Readmissions by ward

Q2 2026, snapshot 1 July

Weekly, Monday 07:00
Admissions
12,418
30-day readmissions
7.9%
12.4%
11.1%
9.8%
8.6%
7.2%
5.9%
CardiacElderlyResp.OncologyOrthoRenal

Alert: any ward above 12% notifies the clinical governance lead.

  • Distributed ANSI SQL

    Standard SQL with joins, window functions and CTEs, executed across the cluster. Snapshot queries reproduce a regulatory figure exactly as it stood at quarter end.

  • JDBC and ODBC

    Drivers for Power BI, Tableau, Excel and anything else with a driver dialog. Analysts keep the tools they have; the data stops moving to meet them.

  • Python via Apache Arrow

    Results arrive as Arrow batches, so pandas and Polars load millions of rows without a row-by-row cursor in between.

  • Dashboards, reports and alerts

    Built in, so a first deployment doesn't need a separate BI licence. Schedule a report to land in an inbox on Monday morning, or an alert to fire when a threshold is crossed.

  • Metrics layer

    Define 'active patients' or 'exposure at default' once, and every dashboard, report and API call uses that definition.

  • Embedded analytics

    Charts embedded in Relay or your own applications, with row-level security applied by the engine: a clinician sees their ward, a branch manager sees their branch.

Governance

Controls that hold up in an audit

The questions an information governance team or a bank's second line will ask, answered in the platform rather than in a separate tool bought later.

  • Data catalogue

    Every table, column and dashboard is searchable with an owner, a description and its classification tags. Analysts find what already exists instead of asking for another extract.

  • Column-level lineage

    Trace a figure on a dashboard back through each transformation to the source column it came from, and see what breaks downstream before you change a schema.

  • PHI and PII classification

    New columns are scanned on ingest and tagged automatically: names, dates of birth, national identifiers, account numbers and free text that looks like it holds them. Tags drive the policies below.

  • Column-level encryption

    Sensitive columns are encrypted with keys held in your own HSM or KMS. Revoke the key and the data is unreadable to everyone, Basin included.

  • Row and column policies

    Write a policy once, against tags or named columns, and the engine enforces it for every client. A ward manager gets their ward's rows and never sees the diagnosis column.

  • De-identification and tokenisation

    Produce research and test datasets with identifiers removed or replaced by consistent tokens. The HIPAA Safe Harbor method is built in.

  • Retention policies

    Set retention per table or per classification. Expired rows are removed from the Iceberg tables and the Parquet files beneath them, rather than hidden from query results.

  • Right-to-erasure workflows

    One request propagates the delete across every table that holds that person's data and produces an evidence record of what was removed, where and when, for your auditors.

  • Every query is logged

    Every query is logged with the user, the tables and columns touched, and the row count returned. The log is tamper-evident and exportable to your SIEM.

Deployment and operations

Three ways to run it, one licence model

All three run the same software and read the same Iceberg tables, so a pilot on a single VM can move to a cluster later without changing anything your analysts see.

AttributeKubernetes via HelmSingle-node VM installerAir-gapped bundle
Best forDatacentre or private-cloud clusters that already run KubernetesSmall sites, pilots and departmental deploymentsNetworks with no internet route, such as regulatory reporting environments
Minimum nodes3 for high availability1 (no high availability)3 for high availability
ScaleMultiple petabytes; add nodes to growBounded by the VM; move to a cluster when you outgrow itMultiple petabytes
UpgradesQuarterly releases; LTS releases supported for 24 monthsQuarterly releases; LTS releases supported for 24 monthsQuarterly bundles delivered offline; LTS releases supported for 24 months
Who operates itYour own team. Tao installs it and supports it by email and screen-share.Your own team. Tao installs it and supports it by email and screen-share.Your own team. Tao installs it and supports it by email and screen-share; your team applies the offline upgrade bundles.
Licence keysOffline key fileOffline key fileOffline key file

Licence

Basin is licensed per node, monthly, with support included. The first node comes with the £250 a month platform subscription and each additional node is £100 a month, so a three-node high-availability cluster is £450 a month. There are no per-query, per-user or per-seat charges, so adding a thousand analysts or running a heavy month-end costs nothing extra. The licence key is a file that works offline.

Who runs it

Your own team, because Basin runs on your infrastructure. The one-off £500 setup fee covers installation and onboarding: Basin installed into your cluster, VM or air-gapped network, configured, your admins trained and support through go-live. After that, the monthly fee includes support by email and remote screen-share, 09:00 to 18:00 UK time, answered within one working day. Upgrades arrive as quarterly bundles that your team applies, with a screen-share session if you'd like one.

What the setup fee and monthly fee cover

References

Where Basin runs today

Customers in regulated industries rarely allow logo use, so these are anonymised.

  • 3 weeks to same-day

    monthly compliance reporting

    US specialty pharmacy network

    Installed Basin in its own datacentre and connected 14 source systems, including its pharmacy management and Epic feeds. It replaced a cloud analytics vendor it could no longer justify under its BAA review.

  • 40 systems

    covered by each erasure request, with an evidence record

    European private hospital group

    Runs Basin in its Frankfurt private cloud. Erasure requests now propagate across 40 connected systems with an evidence record per request, replacing a manual process that took a data team two days each.

  • Air-gapped

    quarterly upgrade bundles applied offline

    Regional bank

    Runs Basin air-gapped for regulatory reporting. No part of the deployment touches the internet, including upgrades: its own team applies the quarterly upgrade bundles offline.

See Basin running on hardware like yours.

Arrange a technical briefing with the engineers who built it: the architecture, the governance controls, and which deployment fits your estate. We'll give you a written view on fit and cost within one working day.