Skip to main content

Data Retention

TrustGate provides configurable data retention policies to help you comply with regulatory requirements while minimizing data storage.

Retention Requirements

Regulatory Minimums

Different regulations require different retention periods:

RegulationRequirementTypical Period
AML (US BSA)Customer records5 years after relationship ends
AML (EU AMLD)Customer records5 years after relationship ends
GDPRPersonal dataMinimum necessary
SOXFinancial records7 years
MiFID IIClient records5-7 years

Data Minimization

GDPR requires you not keep data longer than necessary. Balance:

  • Regulatory minimums - Must retain for compliance
  • Business needs - Legitimate operational needs
  • Privacy principles - Delete when no longer needed

Retention Policies

View Current Policies

curl -X GET "https://api.bytrustgate.com/v1/settings/data-retention" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"policies": {
"approved_applicants": {
"retention_years": 5,
"retention_basis": "aml_regulation",
"start_from": "relationship_end"
},
"rejected_applicants": {
"retention_days": 90,
"retention_basis": "legitimate_interest",
"start_from": "rejection_date"
},
"document_images": {
"retention_years": 5,
"retention_basis": "aml_regulation",
"start_from": "verification_date"
},
"biometric_data": {
"retention_days": 30,
"retention_basis": "data_minimization",
"start_from": "verification_date"
},
"audit_logs": {
"retention_years": 7,
"retention_basis": "legal_requirement",
"start_from": "log_date"
}
}
}

Configure Retention Policies

curl -X PUT https://api.bytrustgate.com/v1/settings/data-retention \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"policies": {
"approved_applicants": {
"retention_years": 7,
"retention_basis": "sox_compliance"
},
"rejected_applicants": {
"retention_days": 180,
"retention_basis": "fraud_prevention"
},
"biometric_data": {
"retention_days": 7,
"retention_basis": "data_minimization"
}
}
}'

Data Categories

Personal Information

CategoryDefault RetentionNotes
Name, DOB, address5 yearsAML requirement
Email, phone5 yearsContact for reviews
Nationality5 yearsRisk assessment

Documents

CategoryDefault RetentionNotes
Document images5 yearsEvidence of verification
Extracted data5 yearsVerification record
Document metadata5 yearsAudit trail

Biometrics

CategoryDefault RetentionNotes
Selfie images30 daysDelete after verification
Face embeddings30 daysNot needed long-term
Liveness data7 daysImmediate verification only

Verification Results

CategoryDefault RetentionNotes
Verification status5 yearsCompliance record
Check results5 yearsDecision basis
Risk scores5 yearsRisk assessment record

Screening Data

CategoryDefault RetentionNotes
Screening results5 yearsAML compliance
Hit records5 yearsInvestigation evidence
Resolution notes5 yearsDecision documentation

Automatic Deletion

How Auto-Deletion Works

┌─────────────────────────────────────────────────────────┐
│ RETENTION POLICY CHECK │
│ Runs daily at configured time │
└─────────────────────────┬───────────────────────────────┘

v
┌─────────────────────────────────────────────────────────┐
│ IDENTIFY EXPIRED RECORDS │
│ Records past retention period with no legal hold │
└─────────────────────────┬───────────────────────────────┘

v
┌─────────────────────────────────────────────────────────┐
│ SCHEDULE DELETION │
│ Mark records for deletion, notify if configured │
└─────────────────────────┬───────────────────────────────┘

v
┌─────────────────────────────────────────────────────────┐
│ EXECUTE DELETION │
│ Permanently remove data, log action │
└─────────────────────────────────────────────────────────┘

View Pending Deletions

curl -X GET "https://api.bytrustgate.com/v1/data-retention/pending-deletions" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"pending_deletions": [
{
"applicant_id": "app_001",
"scheduled_date": "2025-02-01",
"reason": "retention_period_expired",
"data_categories": ["documents", "biometrics"],
"can_cancel": true
}
],
"summary": {
"total_pending": 45,
"next_deletion_batch": "2025-01-21T02:00:00Z"
}
}

Cancel Pending Deletion

curl -X POST https://api.bytrustgate.com/v1/data-retention/cancel-deletion \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"applicant_id": "app_001",
"reason": "legal_hold_applied",
"reference": "HOLD-2025-001"
}'

Prevent deletion when legally required:

curl -X POST https://api.bytrustgate.com/v1/applicants/{applicant_id}/legal-hold \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "litigation_hold",
"reference": "CASE-2025-001",
"applied_by": "legal@company.com",
"expires_at": "2027-01-20"
}'
curl -X GET "https://api.bytrustgate.com/v1/data-retention/legal-holds" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X DELETE "https://api.bytrustgate.com/v1/applicants/{applicant_id}/legal-hold" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "litigation_concluded",
"released_by": "legal@company.com"
}'

Manual Deletion

Delete Single Applicant

curl -X DELETE "https://api.bytrustgate.com/v1/applicants/{applicant_id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "data_subject_request",
"reference": "DSR-2025-001"
}'

Bulk Deletion

curl -X POST https://api.bytrustgate.com/v1/data-retention/bulk-delete \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"status": "rejected",
"created_before": "2024-01-01"
},
"reason": "retention_cleanup",
"confirmation": "DELETE_CONFIRMED"
}'

Deletion Notifications

Configure Notifications

curl -X PUT https://api.bytrustgate.com/v1/settings/data-retention/notifications \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"notify_before_deletion": true,
"notification_days_before": 30,
"notification_email": "compliance@company.com",
"send_deletion_report": true,
"report_frequency": "weekly"
}'

Retention Reports

Generate Retention Report

curl -X POST https://api.bytrustgate.com/v1/data-retention/report \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"report_type": "retention_summary",
"format": "pdf"
}'

Report Contents

  • Current retention policies
  • Data volumes by category
  • Records approaching expiration
  • Legal holds in effect
  • Deletion history

Next Steps