Solution · HR & people

Employees, payroll, candidates — PII-safe.

HR systems exchange highly sensitive employee, payroll and candidate data across HRIS, ATS and payroll vendors in inconsistent formats. AdaptivMapr maps it while most records never leave your system.

The problem

Why this is hard

HR systems constantly exchange employee, payroll and candidate data — some of the most sensitive PII a company holds — across HRIS, ATS and payroll vendors, each with its own export format. Getting those files into your canonical shape is repetitive, and one wrong column mapping can expose salaries or personal identifiers. The AdaptivMapr HR pack ships four templates — candidates, employees and payroll among them — and because schema-only mode sends only headers plus 3 sample rows, most HR mapping never exposes a single employee record.

How it works

The pipeline, end to end

  1. 1

    Upload the HR export

    Send an employee, payroll or candidate file from your HRIS, ATS or payroll vendor. In schema-only mode only the headers and up to 3 short sample rows leave your system — no full employee record is transmitted.

    Schema-onlyPII stays in-house
  2. 2

    The cascade maps to the HR template

    Deterministic layers resolve most columns against the HR pack (candidates, employees, payroll) with multilingual hints, so vendor-specific header names still land on the right field.

    candidatesemployeespayroll
  3. 3

    Validate the fields

    Field-level validators check the identifiers and formats each template defines before a value is accepted, so malformed data is caught at map time.

    Field validators
  4. 4

    Human review on high-risk, then commit

    employees and payroll are high-risk and candidates is medium; the mappings response flags requires_hitl so a person confirms before commit. Every commit writes to the audit trail.

    requires_hitlAudit trail

Why AdaptivMapr

What makes it fit

PII stays in-house

Schema-only mode sends only headers and up to 3 clamped sample rows, so most HR mapping never exposes a single employee record — salaries and personal identifiers stay inside your system.

HITL on payroll and employees

employees and payroll are high-risk and candidates is medium; the mappings response flags requires_hitl / pending_review so a person confirms the mapping before it commits.

Deterministic and cheap

The free statistics, heuristic and fuzzy layers resolve most columns without ever calling a metered model — the biggest cost lever in the system — so recurring HR imports stay inexpensive.

Audit trail per commit

Every commit and confirmation is written to the audit log, giving you a per-mapping record for compliance reviews without extra instrumentation.

In code

A representative call

Map a payroll export to the HR template — schema-only means no employee record leaves, and the high-risk template gates on review before commit.

curl
# 1. upload (schema-only: headers + <=3 short sample rows)
curl https://api.adaptivmapr.com/v1/uploads \
  -H "Authorization: Bearer $MAPR_KEY" \
  -F file=@payroll.csv

# 2. map to the HR "payroll" template
curl https://api.adaptivmapr.com/v1/uploads/$ID/mappings \
  -H "Authorization: Bearer $MAPR_KEY" \
  -X PATCH -d '{"template":"payroll"}'

# 3. commit once a reviewer confirms (high-risk = HITL)
curl https://api.adaptivmapr.com/v1/uploads/$ID/commit \
  -H "Authorization: Bearer $MAPR_KEY" -X POST
response
{
  "template": "payroll",
  "risk": "high",
  "requires_hitl": true,
  "hitl_status": "pending_review",
  "fields": {
    "employee_id": { "source": "EmpNo", "ok": true },
    "gross_pay":   { "source": "Gross", "ok": true },
    "net_pay":     { "source": "Net",   "ok": true }
  }
}

FAQ

Common questions

In schema-only mode — the default — no. Only column headers and up to 3 sample rows (each clamped to 80 characters) are sent, and the cascade maps on those alone. For most HR files that means not a single full employee record is ever transmitted.
employees and payroll are high-risk and candidates is medium-risk, so all flag requires_hitl: true / hitl_status: "pending_review" in the mappings response. The flag is derived from the template risk level, so your approval workflow gates the commit.
The three free deterministic layers — statistics, heuristic and fuzzy — resolve most columns before the metered LLM layer is ever reached. When a column resolves earlier in the cascade the model is not called, which is the single biggest cost lever in the system.
Yes. Every commit and confirmation is written to the audit log, so you have a per-mapping trail for HR and compliance reviews without building your own instrumentation.

Ready when you are

Map hr & people data without shipping raw records.

Test on schema-only for a few tokens per map. Full-data routing under a BAA when you go live.

$10 minimum to start · pay only for what you map · PHI under BAA coverage
HR data mapping — AdaptivMapr — AdaptivMapr