Policy Mapping
Map obligations to PDPL, GDPR, and internal policy catalogs.
Policy mapping attaches extracted obligations to a catalog: UAE PDPL, GDPR, SOX, Basel, MiFID II, or a custom catalog you upload. The output is a gap list for counsel, not a legal opinion and not a filing.
Catalogs
GET /v1/legal/catalogs
Authorization: Bearer eridian_sk_...
X-Eridian-Project: prj_legal_001
| Id | Contents |
|---|---|
cat_pdpl_uae | UAE PDPL articles Eridian maintains |
cat_gdpr | GDPR articles Eridian maintains |
cat_sox | SOX ITGC mapping pack (Enterprise add-on) |
cat_custom_* | Your uploaded catalog |
Custom catalogs are JSONL: article_id, title, requirement, jurisdiction. They are residency-pinned. They do not train GPT or Gemini.
Map a contract
POST /v1/legal/mappings
Authorization: Bearer eridian_sk_...
Idempotency-Key: map-ctr-4821-pdpl
{
"project_id": "prj_legal_001",
"matter_id": "mtr_4821",
"contract_id": "ctr_4821",
"catalog_ids": ["cat_pdpl_uae", "cat_gdpr"],
"model": "gpt",
"routing_policy": "quality_optimized"
}
Required scope: legal:write.
{
"id": "map_4821",
"object": "eridian.legal.mapping",
"status": "completed",
"gaps": [
{
"article": "PDPL Art. 8",
"severity": "high",
"issue": "No processor instruction clause matching Art. 8 processor duties.",
"clause_ids": [],
"recommendation": "Insert processor terms from tpl_pdpl_processor_v2."
}
],
"covered": [
{
"article": "GDPR Art. 28",
"clause_ids": ["cls_41"]
}
],
"eridian": {
"route": "gpt",
"region": "me-central-1"
}
}
Gaps with empty clause_ids are true negatives from retrieval. Counsel still confirms. Mapping never files with a regulator.
Internal policies
Upload an internal policy as classification: policy on the matter, then:
{
"catalog_ids": ["cat_custom_bank_dp_v3"],
"contract_id": "ctr_4821"
}
Internal catalogs should be versioned like prompt templates. Changing a catalog does not rewrite historical mappings. Re-run the job.
Dual regime
When catalog_ids includes both PDPL and GDPR, the mapping is a single object with per-article jurisdiction tags. That is the supported way to run both regimes on one control plane. See PDPL and GDPR. Do not merge two matters from different regions to "simplify" the map.
Committee output
POST /v1/legal/mappings/map_4821/report
Returns object: eridian.legal.mapping.report suitable for a model-risk or legal-ops committee: catalog versions, template ids, eridian.route, residency, and sample gaps. Attach the report id to dual control if you promote a mapping template.
See Evaluations for metrics: ["rubric_legal", "pii_leak"].
Production API credentials are issued with an institution workspace. Contact sales if you need access.