The model is the last layer, not the first
The trade · The cost: a deterministic layer can be wrong quietly. That is why every medium- and high-risk template returns requires_hitl so your commit workflow can put a human where one belongs.
About AdaptivMapr
AdaptivMapr maps the CSV, Excel, SQL and JSON your customers and partners send you onto your own schema, and hands back validated rows — resolving as much as possible with no model in the loop at all.
The catalogue, as shipped
Counted from the runtime catalogue at build time — this page cannot drift from the product.
What it is
Most column-matching problems are not hard; they are just tedious. AdaptivMapr spends the cheapest layer that can settle a column, and only the long tail that survives layers 1–4 is ever described to a language model.
A target field, once assigned to a header, cannot be claimed by another header in the same call — you cannot emit two source columns into one field, so the engine refuses to pretend you can.
How we build it
Each of these cost us something, and each is stated here with the cost attached. A list of principles where every principle is free is a list nobody should believe.
The trade · The cost: a deterministic layer can be wrong quietly. That is why every medium- and high-risk template returns requires_hitl so your commit workflow can put a human where one belongs.
Why it exists · This was a real bug, not a design flourish: claiming first-come-first-served gave “email” to a 0.85 hit on “e_mail_alt” and left the exact 1.00 match unmapped.
The trade · The cost: a locked-down deployment gets less coverage, not a different answer. We would rather return “unresolved” than a guess dressed as a decision.
The whole product, in four calls
No SDK required and no proprietary file format in the middle. This is the entire happy path of the v1 API — the same four routes the dashboard and the MCP server use.
POST/v1/uploads
CSV, Excel, SQL dump or JSON. Comes back with an upload_id, detected_columns, row_count, three clamped sample rows, the sheet list for a workbook, and a 24h expires_at.
POST/v1/uploads/:id/match
Returns matches and unmapped, plus the auto_accept_threshold rules and cascade_layers it used — so a reviewer can see which layer settled each column rather than trusting a score.
PATCH/v1/uploads/:id/mappings
Confirmations feed the statistics layer for next time. The response carries requires_hitl and hitl_status, derived from the template’s risk level, so a risky import can gate itself before commit.
POST/v1/uploads/:id/commit
Validated rows inline, as a file (csv / xlsx / xml / sql / parquet), to a webhook or straight into a database — or, on a template that declares one, as a FHIR bundle. The confirmed layout is recorded on the way through.
Who it’s for
Healthcare is one first-class vertical, not the whole product. The same cascade, the same validators and the same review gate serve finance and HR, and the Core, CRM and E-commerce packs cover the flows around them.
Shipped · 8 of the 33 shipped templates declare a fhir_resource; validators include loinc_code, icd10_code, atc_code, cpt_code, npi and gln.
Shipped · iban and bic are first-class validators, not regexes in a config file. Payments, bank accounts and KYC profiles are high-risk templates and return requires_hitl.
Shipped · Employees and payroll are high-risk; candidates is medium. Every medium/high template sets requires_hitl and hitl_status: "pending_review" so your commit workflow can gate itself.
Core, CRM and E-commerce templates — users, transactions, addresses, leads, contacts, opportunities, orders, products, inventory — because a regulated workload is never only its regulated tables.
The suite
AdaptivMapr runs on the phi-cloud suite rather than reimplementing it. Each piece owns exactly one responsibility, and we say which is which so a security reviewer can follow the data.
When the cascade reaches for a model, the call goes to phi-cloud, an OpenAI-compatible, PHI-aware gateway. A full-data run sends X-PHI: true and an X-Region header, and phi-cloud picks a PHI-eligible, in-region model. Jurisdiction and BAA coverage are enforced there, on the gateway that signs for them — not here.
Every commit and every human confirmation is written to the audit trail. In production that lands in the audit_logs table; the external Chainlog emit is the legacy fallback path. Audit records carry ids, counts, bytes and routing — never row content.
A medium- or high-risk template already returns requires_hitl so you can gate your own commit workflow, and 13 of the 33 templates do. The native AgentGate queue is not wired in v1: today the flag is the integration point, and that is all we claim.
What we removed
Anyone can list what they shipped. These are four things we deleted, when, and the reasoning — including one default that had been wrong for over a year.
SNOMED CT generally requires a SNOMED International Affiliate Licence, and no shipped template ever declared the validator. A licensing obligation with no product behind it is worth exactly nothing, so it was deleted rather than defended. There is no plan to reintroduce it.
Replaced by a prepaid token wallet — a ~$10 minimum top-up, shared across the phi-cloud suite. Every map draws a small flat fee, deterministic maps and layout-cache hits included. A free tier on a metered AI path is a promise whose cost lands somewhere else.
Retired in favour of calling phi-cloud directly as the layer-5 provider. One fewer hop that could hold PHI, and BAA/jurisdiction enforcement now lives on exactly one component instead of being split across two.
For fourteen months a new workspace defaulted to PHI routing. That silently opted unconfigured traffic into a +20% surcharge and an agreement gate, so the default is now Standard and PHI is an explicit choice in Settings — the same place you accept the BAA.
One of those is written up at length: why we removed our SNOMED validator.
Posture
A compliance product that overstates its posture is worse than one with a shorter list. This is the whole list, in the words we are willing to defend in a security review.
| Area | What we say | What that actually means |
|---|---|---|
| HIPAA | HIPAA-ready — never “HIPAA certified” | HIPAA is not a certification any vendor can hold. We offer a BAA, we keep a HIPAA security risk assessment on file, and PHI routing is locked until the workspace accepts the BAA in-app. |
| SOC 2 | In progress | Not certified today. We will say so on this page on the day it changes, and not before. |
| Data minimisation | Schema-only is the default posture | Only column headers and up to three sample rows, each clamped to 80 characters, ever leave you. It is a mode, not a free tier — every map still draws the flat fee. |
| Full-data | Explicit, gated, and surcharged | Full-data PHI routing needs an accepted BAA, an entitlement, and an allowlisted BAA-covered host. It costs +20% on the whole map charge, and an unsigned explicit PHI ask is refused rather than quietly downgraded. |
| Pricing | Prepaid wallet, no free tier | Top up from about $10 — shared across the phi-cloud suite. Every map draws a small flat fee, including a fully deterministic map and a cache hit. AI cleanup, convert and reshape bill the tokens they consume at provider cost × 2, or × 0.5 with your own key. |
| Residency | Region is a pin, not a side effect | A standard run keeps the workspace region pin; the sandbox refuses a region-less run outright. Where compute may run is a separate decision from which model catalogue is used. |
Anything not on this list, we have not claimed. If you need something in writing that isn’t here, ask — we would rather answer than imply.
AdaptivMapr is operated by AdaptivMapr, Inc. For security reviews, a DPA, a BAA, or the subprocessor list, write to hello@adaptivmapr.com. Security disclosures go to security@adaptivmapr.com.
Start where it’s cheapest
Top up a prepaid wallet from about $10 and run a map. Schema-only sends headers and three clamped sample rows — nothing else leaves you.