Why Explicit Approval?
This is a core design decision:Transparent mapping principle: No data transformations happen behind the scenes. You must explicitly confirm which CSV columns map to which compliance schema fields.
- Auditability: Every scan has a documented mapping configuration
- Error prevention: Catch incorrect mappings before generating false violations
- Control: Override AI suggestions when you know your data better
Standard Schema Fields
Yggdrasil maps your CSV columns to these standard fields:| Field | Description | Example CSV Columns |
|---|---|---|
amount | Monetary value | Amount, Transaction_Amount, Payment_Value |
step | Time reference | Timestamp, Date, Step, Period |
account | Primary entity | Account_ID, Sender, User_ID, Employee_ID |
recipient | Secondary entity | Recipient, Destination, To_Account |
type | Category/classification | Transaction_Type, Event_Type, Category |
Mapping Review Process
Review AI suggestions
After upload, Yggdrasil shows suggested mappings with confidence scores:High confidence (>90%) usually means the AI detected a known dataset format.
Adjust mappings if needed
Click any field to change its CSV column mapping:
- Select a different column from the dropdown
- Leave unmapped if not applicable
- The system shows a preview of sample values for verification
Set temporal scale
If your rules use time windows, specify how to interpret your time column:
- 1.0 = 1 step = 1 day (default for GENERIC datasets)
- 24.0 = 1 step = 1 hour (default for IBM AML / PaySim)
step values 1, 2, 3 and scale is 24.0, the engine treats step 1→2 as a 24-hour window.Mapping Storage
Confirmed mappings are stored in-memory with the scan configuration:What Happens During Confirmation
When you click “Confirm Mapping”:- Validation: System checks that at least one field is mapped
- Storage: Mapping config is saved with a unique
mapping_id - Readiness check: Scan button becomes enabled
- Response: API returns
{ mapping_id, ready_to_scan: true }
The mapping is stored in-memory, not persisted to the database. If you refresh the page, you’ll need to re-upload and re-confirm.
Advanced: Cross-Field Comparisons
Some compliance rules compare two fields (e.g., “sender balance != recipient balance”). For these rules, both fields must be mapped:- Disable the rule (toggle it off in the Rules screen)
- Add the missing columns to your CSV and re-upload
Common Mapping Scenarios
Scenario 1: GDPR Consent Audit
You’re auditing consent records. Your CSV has:data_subject_id→ map toaccountconsent_date→ map tostep- No monetary values → leave
amountunmapped
Scenario 2: AML Transaction Monitoring
You’re scanning financial transactions. Your CSV has:transaction_amount→ map toamounttimestamp→ map tostepsender_account→ map toaccountreceiver_account→ map torecipienttransaction_type→ map totype
Scenario 3: SOC2 Access Logs
You’re auditing system access. Your CSV has:user_id→ map toaccountlogin_time→ map tostepaction→ map totype- No amounts or recipients → leave unmapped
Type Coercion
CSV files produce string values. The engine automatically coerces types:"true"/"false"→ boolean"16"/"99.5"→ numeric- Date strings → parsed as timestamps (if used in temporal rules)
Next Steps
After confirming your mapping:- Optionally run PII detection → PII Detection
- Review rules and toggle any you want to disable
- Run the compliance scan → Compliance Scanning