Skip to content

Self-hosted CSV importer — keep import data in your own VPC

A self-hosted CSV importer runs the import engine on infrastructure you control — not a vendor cloud — so customer files never leave your VPC. Mildport is exactly that: an embeddable import widget backed by an engine you run yourself, with licenses that verify offline.

Most embeddable importers (Flatfile, OneSchema, CSVbox, Dromo) are cloud services: convenient, but the customer’s file is uploaded to the vendor’s infrastructure to be processed. For many teams — regulated data, enterprise security reviews, air-gapped systems — that single fact is a dealbreaker. Self-hosting removes it.

  • Data residency by construction. Upload, mapping, validation and delivery all happen inside your environment. There’s no cloud round-trip to explain to a security reviewer.
  • Offline licensing. Mildport verifies licenses against a public key you deploy — no license server, no phone-home. It runs in air-gapped networks.
  • Your stack, your rules. The engine is a Docker Compose stack (the service, MongoDB, and decode sidecars for spreadsheets, PDF and OCR) that you deploy like any other internal service.
  • An audit trail you own. Event-sourced, replayable normalization and webhook deliveries with a trail — all inside your perimeter.

You embed one framework-agnostic custom element and point it at your own engine endpoint:

Terminal window
npm install @capitality-io/import-suite-ng
<mildport-import
api-base-url="https://imports.your-infra.example"
license-key="SIGNED_TENANT_KEY"
></mildport-import>

The widget is attributes in, DOM events out — no iframe, no third-party runtime wrapping your app. The engine it talks to runs in your infrastructure. Bring it up with Docker Compose:

Terminal window
docker compose --env-file apps/import-service/.env up --build
# ✔ mildport listening on :8090

Full steps: Quickstart and the Self-hosting overview.

Deterministic first, AI only when it earns it

Section titled “Deterministic first, AI only when it earns it”

Self-hosting shouldn’t mean giving up smart mapping. Mildport’s matcher is deterministic and explainable — visible scores, same input, same answer. An optional, evidence-gated AI judge re-ranks only the uncertain columns, with your model, and it’s off by default. Nothing about your data is required to leave your environment to get a clean import.

What is a self-hosted CSV importer? Import software that runs on infrastructure you control rather than a vendor cloud — upload, mapping, validation and delivery all happen in your own environment, so files never leave your VPC.

Why run a CSV importer on-premise instead of using a cloud service? To satisfy data residency, regulatory and security requirements, pass enterprise security reviews, and support air-gapped deployments — without rewriting your data flow afterwards.

Does Mildport need to phone home to verify a license? No. Licenses verify offline against a public key you deploy, so it runs in air-gapped and network-restricted environments.


See the engine run on your own files — mildport.com — or compare against a cloud importer.