How it works

Your data stays.
Your tools come and go.

A managed lakehouse for your files and tables. Connect your agents and tools, bring your own compute, and keep everything in open formats.

Managed in Europe · Self-hosting available

Bring data

FilesCSV, Parquet, JSON, images
APIsREST feeds, webhooks, devices
PipelinesETL, ELT, batch jobs

Your LakehouseBox

CatalogTables, schemas & permissions
StorageApache Iceberg + files in open formats

Connect tools

AI agentsYour agents and assistants
DuckDBand Spark, Trino, Polars, Snowflake
BI & appsDashboards, apps, emails
You choose where compute runs: a laptop, your cloud, your servers.

A simple structure.

  1. Organization
  2. Catalog
  3. Tables & files

Control access at each level.

For admins

Set up once. Keep control.

  1. 01

    Create a catalog

    Organise your data in catalogs, namespaces and tables: one catalog per team, project or dataset.

  2. 02

    Give access

    Share with your team and their agents: read or write per catalog; with Enterprise, per table and through your identity provider.

  3. 03

    Bring data in

    Load files and tables from your sources, feeds and pipelines. Every load is one commit.

  4. 04

    Observe

    Read the audit log and your usage, and revoke any connection. We keep the tables healthy.

Use it with the tools you already love.

  • Agents with a shell

    Claude Code, Codex or any agent: one approval in the browser, then DuckDB on its own machine.

    Learn more
  • Chat assistants

    Ask about your data in natural language from Claude, ChatGPT or any MCP host.

    Learn more
  • The browser

    Explore your data on the account page: tables, previews, maps and SQL that runs in the browser.

    Learn more
  • Engines & pipelines

    Use your existing compute: DuckDB, PyIceberg, Spark, Trino, Polars; Snowflake reads.

    Learn more
  • Hosted agents Preview

    A prompt we run next to your data, on a schedule, that emails you what it finds.

    Learn more
  • Dashboards & apps

    Connect BI tools through an engine, or build apps on the query API.

    Learn more

A closer look under the hood.

Explore the capabilities, without the wall of text.

Open tables. Durable storage.

Your data is stored in open formats, with one catalog for tables, files and permissions.

  • Apache IcebergAn open table format with atomic commits and schema evolution. Version 2 by default, version 3 for geometry.
  • Files alongside tablesEach catalog has a file bucket for the files around its tables: source downloads, rasters, photos.
  • Snapshots & historyRead a table as it was, or roll it back: 20 snapshots and 7 days by default, up to 90 days per catalog.
  • Managed maintenanceCompaction, snapshot expiry and cleanup on every table every 6 hours, included. Geometry tables get automatic spatial clustering: compaction keeps their rows in spatial order as agents append, so a lookup by area stays cheap (how). Backups every hour, with a restore drilled weekly.
  • Public tables from a CDNA published catalog is served from edge servers near each reader.
  • Cold tierData untouched for 7 days moves to cheaper storage; the first read of it is slower. A catalog can stay hot.

SQL

SELECT * FROM acme_corp.analytics.events LIMIT 10;
Explore tables & storage

Every way in ends as a table.

Files, feeds, devices, pipelines and messages: each load is one Iceberg commit.

  • Writes from your engineCREATE TABLE … AS SELECT, INSERT and COPY from DuckDB, PyIceberg or Spark commit straight to the catalog.
  • File importMany Parquet, CSV or GeoParquet files loaded as one commit.
  • Ingest sinksOne HTTP intake per table for a device or webhook, with a send-only key.
  • Scheduled SQLA query over a URL on a schedule; we run it and commit the rows. No server of your own.
  • Upload keys & drop boxA key that can only put files in one folder; FTP, FTPS or SFTP for cameras and scanners.
  • WhatsApp PilotMembers' messages, photos, locations and voice notes become rows and files in a table of yours.

Shell

lhbox table import 'exports/*.parquet' --namespace raw --name orders
Explore getting data in

Your engine, or ours for a quick look.

Engines read the files straight from storage; rows never pass through our servers, except for the capped query a chat runs on our side.

  • Verified enginesDuckDB 1.5.5+, PyIceberg 0.12, Spark 3.5, Trino 483 and Polars 1.44 read and write. ClickHouse and Snowflake read, with limits.
  • One command to connectlhbox duckdb opens a shell with the catalog attached; lhbox connect prints any engine's recipe.
  • MCP serverTen tools for any MCP host: list, describe, query on our side (20 s, 2,000 rows), writes when approved.
  • SQL in the browserDuckDB compiled to WebAssembly on the account page; the site never sees the data.
Engines: versions and limitations
EngineStatusNotes
DuckDB 1.5.5+read and write, verified1.5.5 also writes format version 3
PyIceberg 0.12read and write (version 2), verifiedreads version 3, cannot write it
Spark 3.5 + Iceberg 1.11read and write, version 3 included2026-09-20, with a geometry column
Trino 483read and write, verified2026-09-28, format version 2
Polars 1.44 + PyIceberg 0.12read and write, verified2026-09-28, reader_override="pyiceberg"
ClickHouse 25.8, 26.9reads with icebergS3not yet through its catalog engine
Snowflakereads, on an account Snowflake Support has allowedverified 2026-09-28
Databricksuntestedno run, no recipe

Shell

lhbox duckdb
Explore querying

Access a person approves.

Every person and agent holds exactly what it was granted, and loses it in one click.

  • AccountsEmail and password or Google, with an authenticator app or a passkey.
  • Roles & grantsAdmin or member; read or write on each catalog, for each person and each key.
  • Agent connectionsApproved once in the browser; the key is saved, never shown, and revocable on its own.
  • Isolation at the catalogA credential for one catalog cannot read another; storage credentials last an hour.
  • Start without an accountlhbox new gives an agent a catalog at once; a person keeps it with lhbox claim.
  • SSO & SCIM EnterpriseYour OpenID Connect provider, SCIM provisioning, group rules, table grants, service accounts.

Shell

lhbox login
Explore access & identity

Tables that keep themselves fresh.

Feeds, devices and agents that run on a schedule, with no server of your own.

  • Scheduled SQL“Read this URL every 20 minutes” is one command.
  • Ingest sinksDevices, webhooks and scripts append rows over HTTP.
  • Hosted agents PreviewA prompt we run on a schedule: it reads your tables, appends rows and emails you. The model runs in the EU.
  • Skills for agentsAn open plugin for Claude Code and Codex that teaches them LakehouseBox.

Shell

lhbox agent run garden_morning --dry-run --wait
Explore automation

Share a catalog with anyone.

Publishing changes who can read, never who can write.

  • Public catalogsAnyone reads with DuckDB and no account, served from a CDN; any account attaches it by name.
  • A free tier for public data5 GB when you publish, up to 50 GB for datasets we review, on top of the private 5 GB.
  • AGENTS.md & descriptionsTell every agent what the tables mean and how they join.
  • Public data, ready to joinReference datasets in commons/pubdata.

Shell

lhbox catalog publish open_data --confirm
Explore sharing

Run by us, visible to you.

What we measure, we publish; what is not there yet, we say.

  • Backups & restoreData stored in Frankfurt, Germany, with a replicated copy in Stockholm, Sweden; the catalog's state backed up every 5 minutes.
  • EncryptionTLS on every hostname; every chunk encrypted before it reaches a disk.
  • Audit logEvery action with who did it, kept 400 days; with Enterprise, as a catalog you can query.
  • Limits you can readThe API names each limit and its headroom; over the storage limit, reads keep working.
  • Said plainlyOne host, recreated automatically in about 4 minutes; no standby and no SLA yet.

Shell

lhbox audit
Explore operations & security

Our cloud or yours.

The same product, operated by us in Europe or by you on your own servers.

  • Our cloudOperated by Lakehousebox, S.L. in Frankfurt, Germany, with a replicated copy of the data in Stockholm, Sweden; no US-controlled company operates any part of it.
  • Self-hostedThe same containers on your servers, air-gapped if needed, with signed releases.
  • Your data stays openParquet files and Iceberg metadata in a bucket you can list; copy them out at any time.
Explore deployment
Where LakehouseBox fits.Compare storage, compute and operations.Compare with cloud platforms
LakehouseBoxSnowflakeBigQueryDatabricksMicrosoft Fabric
Who operates itLakehousebox, S.L. (Spain), in Germany; or you, self-hostedSnowflake (US), on AWS, Azure or Google CloudGoogle (US), on Google CloudDatabricks (US), on AWS, Azure or Google CloudMicrosoft (US), on Azure
Table formatApache Iceberg, every tableits own format; Iceberg tables as an optionits own storage; Iceberg tables through BigLakeDelta Lake; Iceberg through Unity CatalogDelta Lake in OneLake; Iceberg through shortcuts
Where queries runin your engine or agent; small queries from a chat on our sideSnowflake's warehousesBigQuery's engineDatabricks clusters and SQL warehousesFabric capacity
What you pay forstorage only; 5 GB freecompute credits, storage, servicesbytes scanned or slots, storagecompute units, plus your cloud billcapacity units, storage
How an agent startslhbox new with no account, or one approval by a personan account, a project or workspace, and credentials set up by a person

Those platforms sell storage and compute together; LakehouseBox is the storage half, as open tables, and your engine brings the compute. Side-by-side pages with sources: Compare.

Start with your data.

Explore pricing or create your first catalog. We meter storage only: 5 GB free, no card.