SAP Data Protection
Apply intelligent data masking to SAP data while preserving business process integrity and functional consistency.
Overview
SAP data protection in the Synthesized Platform is designed with SAP-specific knowledge:
-
Process Integrity - Certain fields must remain unchanged to maintain SAP functionality
-
Business Sensitivity - Fields containing manufacturer, pricing, and quantity data are masked
-
Referential Consistency - Masked values remain consistent across related tables
Protection Levels
The SAP Workflow Wizard offers two protection levels:
Field Categories
Always Protected (Passthrough)
These fields are never masked because they are essential for SAP functionality:
| Field | Description | Reason |
|---|---|---|
MANDT |
Client/Mandant |
Multi-tenant isolation |
MATNR |
Material Number |
Primary key, references across tables |
MTART |
Material Type |
Process determination |
MATKL |
Material Group |
Classification logic |
MEINS |
Base Unit of Measure |
Quantity calculations |
SPART |
Division |
Organizational assignment |
WERKS |
Plant |
Organizational unit |
DISMM |
MRP Type |
Planning logic |
BESKZ |
Procurement Type |
Process flow |
BWART |
Movement Type |
Document processing |
TCODE |
Transaction Code |
Authorization checks |
USNAM |
User Name |
Audit trail |
Sensitive Fields (Masked)
These fields contain business-sensitive data and are masked:
| Field | Description | Transformation |
|---|---|---|
MFRNR |
Manufacturer Number |
Unique Hashing |
MFRPN |
Manufacturer Part Number |
Unique Hashing |
EAN11 |
EAN/UPC/GTIN |
Unique Hashing |
DISPO |
MRP Controller |
Unique Hashing |
EKGRP |
Purchasing Group |
Unique Hashing |
PRCTR |
Profit Center |
Unique Hashing |
VKORG |
Sales Organization |
Unique Hashing |
HERKL |
Country of Origin |
Enum Unique Hashing |
VTWEG |
Distribution Channel |
Enum Unique Hashing |
MAKTX |
Material Description |
Redaction (first 4 chars) |
Transformation Types
Unique Hashing
Replaces values with consistent hashed versions:
Original: MFRNR = "ACME-CORP"
Masked: MFRNR = "X7K2M9P4" (consistent across all records)
Characteristics:
-
Same input always produces same output
-
Original value cannot be recovered
-
Maintains referential integrity
Enum Unique Hashing
Preserves the set of possible values while scrambling assignments:
Original values: {DE, US, CN, JP}
Masked mapping: DE→US, US→CN, CN→JP, JP→DE
Characteristics:
-
Enum values remain valid
-
Distribution is preserved
-
Lookups continue to work
Generated Configuration
When "Mask Sensitive Data" is selected, the wizard generates:
tables:
- table_name_with_schema: "SCHEMA.MARA"
transformations:
# Passthrough - functional fields
- columns: ["MANDT"]
params:
type: passthrough
- columns: ["MATNR"]
params:
type: passthrough
- columns: ["MTART"]
params:
type: passthrough
# Unique Hashing - identifiers
- columns: ["MFRNR"]
params:
type: unique_hashing
- columns: ["MFRPN"]
params:
type: unique_hashing
# Enum Hashing - geographic
- columns: ["HERKL"]
params:
type: enum_unique_hashing
- table_name_with_schema: "SCHEMA.MAKT"
transformations:
- columns: ["MANDT", "MATNR"]
params:
type: passthrough
# Redaction - descriptions
- columns: ["MAKTX"]
params:
type: redaction
redact_first: 4
- table_name_with_schema: "SCHEMA.MBEW"
transformations:
- columns: ["MANDT", "MATNR"]
params:
type: passthrough
# Noising - pricing
- columns: ["STPRS"]
params:
type: noising
noise_percentage: 5
- columns: ["VERPR"]
params:
type: noising
noise_percentage: 5
Customizing Protection
Additional Sensitive Fields
To mask additional fields, edit the workflow configuration:
# Add masking for custom field
- columns: ["ZCUSTOM_FIELD"]
params:
type: unique_hashing
Validation
After running a workflow with data protection:
Verify Key Processes Work
Test critical SAP functions:
-
Material creation/modification
-
Goods movements
-
Purchase order processing
-
Inventory management
Verify Masking Applied
Query sample data to confirm transformations:
-- Check manufacturer numbers are hashed
SELECT DISTINCT MFRNR FROM SCHEMA.MARA LIMIT 10;
-- Verify descriptions are redacted
SELECT MAKTX FROM SCHEMA.MAKT LIMIT 10;
-- Confirm prices are noised (compare to source)
SELECT MATNR, STPRS FROM SCHEMA.MBEW LIMIT 10;
Best Practices
Test Protection Settings
-
Run on a small dataset first
-
Validate SAP transactions work correctly
-
Adjust protection as needed
-
Document any custom configurations