Skip to main content

Consent Management

TrustGate helps you collect, track, and manage consent for data processing activities, ensuring compliance with GDPR and other privacy regulations.

KYC/AML Processing

For mandatory compliance activities, consent is typically NOT the appropriate legal basis:

ActivityLawful BasisWhy Not Consent
Identity verificationLegal obligationRequired by AML law
Sanctions screeningLegal obligationRequired by sanctions law
Document collectionLegal obligationRequired for KYC

Optional Processing

Consent IS appropriate for optional activities:

ActivityRequires Consent
Marketing communicationsYes
Optional biometric featuresYes
Data sharing with third partiesYes (if not required)
Analytics beyond complianceYes
curl -X POST https://api.bytrustgate.com/v1/consent \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"applicant_id": "550e8400-e29b-41d4-a716-446655440000",
"consent_type": "biometric_verification",
"granted": true,
"consent_text": "I consent to facial recognition for identity verification.",
"collected_at": "2025-01-20T14:30:00Z",
"collection_method": "checkbox",
"ip_address": "192.168.1.1",
"user_agent": "Mozilla/5.0..."
}'

Response

{
"consent_id": "consent_123456",
"applicant_id": "550e8400-e29b-41d4-a716-446655440000",
"consent_type": "biometric_verification",
"status": "granted",
"version": "1.0",
"collected_at": "2025-01-20T14:30:00Z",
"expires_at": null,
"audit_trail": {
"ip_address": "192.168.1.1",
"collection_method": "checkbox"
}
}
TypeDescriptionRequired
terms_of_serviceAgreement to termsYes
privacy_policyAcknowledgment of privacy policyYes
biometric_verificationFace matching consentJurisdiction-dependent
data_sharingThird-party data sharingIf applicable
marketingMarketing communicationsNo
ongoing_monitoringContinuous screeningJurisdiction-dependent
curl -X POST https://api.bytrustgate.com/v1/consent/types \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type_id": "credit_check",
"name": "Credit Check Consent",
"description": "Consent to perform credit bureau check",
"required_for": ["credit_application"],
"consent_text_template": "I authorize {company_name} to obtain my credit report from credit bureaus.",
"expires_after_days": 30
}'

Web SDK Integration

// Initialize TrustGate consent
const consent = new TrustGate.Consent({
applicantId: 'app_123',
apiKey: 'your_api_key'
});

// Display consent form
consent.show({
consentTypes: ['biometric_verification', 'privacy_policy'],
onComplete: (result) => {
if (result.allGranted) {
// Proceed with verification
startVerification();
} else {
// Handle declined consent
showConsentRequired();
}
}
});
curl -X GET "https://api.bytrustgate.com/v1/consent?applicant_id=app_123" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"applicant_id": "app_123",
"consents": [
{
"consent_type": "biometric_verification",
"status": "granted",
"granted_at": "2025-01-20T14:30:00Z",
"version": "1.0"
},
{
"consent_type": "privacy_policy",
"status": "granted",
"granted_at": "2025-01-20T14:30:00Z",
"version": "2.1"
},
{
"consent_type": "marketing",
"status": "not_requested"
}
]
}
curl -X POST https://api.bytrustgate.com/v1/consent/withdraw \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"applicant_id": "app_123",
"consent_type": "marketing",
"withdrawn_at": "2025-01-20T15:00:00Z",
"reason": "user_request"
}'

Withdrawal Effects

{
"withdrawal": {
"consent_type": "marketing",
"status": "withdrawn",
"withdrawn_at": "2025-01-20T15:00:00Z",
"effects": [
"Marketing emails will be stopped within 24 hours",
"Applicant removed from marketing lists"
],
"data_affected": [
"marketing_preferences will be deleted"
]
}
}

Track Version Changes

curl -X GET "https://api.bytrustgate.com/v1/consent/versions?type=privacy_policy" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"consent_type": "privacy_policy",
"versions": [
{
"version": "2.1",
"effective_date": "2025-01-01",
"status": "active",
"changes_summary": "Updated data retention section"
},
{
"version": "2.0",
"effective_date": "2024-06-01",
"status": "archived",
"changes_summary": "Added AI processing disclosure"
}
]
}
curl -X POST https://api.bytrustgate.com/v1/consent/request-reconsent \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"consent_type": "privacy_policy",
"new_version": "3.0",
"filter": {
"current_version": "2.1",
"status": "approved"
},
"notification": {
"send_email": true,
"template": "reconsent_request"
}
}'
curl -X GET "https://api.bytrustgate.com/v1/consent/history?applicant_id=app_123" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"applicant_id": "app_123",
"history": [
{
"timestamp": "2025-01-20T14:30:00Z",
"action": "granted",
"consent_type": "biometric_verification",
"version": "1.0",
"collection_method": "checkbox",
"ip_address": "192.168.1.1"
},
{
"timestamp": "2025-01-20T15:00:00Z",
"action": "withdrawn",
"consent_type": "marketing",
"reason": "user_request",
"ip_address": "192.168.1.1"
}
]
}

Configure Jurisdiction Rules

curl -X PUT https://api.bytrustgate.com/v1/settings/consent/jurisdictions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rules": [
{
"jurisdiction": "EU",
"required_consents": ["privacy_policy", "terms_of_service"],
"biometric_consent_required": true
},
{
"jurisdiction": "US_IL",
"required_consents": ["privacy_policy", "terms_of_service", "biometric_verification"],
"biometric_consent_required": true,
"notes": "Illinois BIPA requires biometric consent"
},
{
"jurisdiction": "US_DEFAULT",
"required_consents": ["privacy_policy", "terms_of_service"],
"biometric_consent_required": false
}
]
}'
curl -X POST https://api.bytrustgate.com/v1/consent/report \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"report_type": "consent_status",
"period": {
"from": "2025-01-01",
"to": "2025-01-31"
},
"format": "csv"
}'

Report Metrics

{
"period": "2025-01",
"metrics": {
"total_consent_requests": 5000,
"consents_granted": 4850,
"consents_declined": 150,
"grant_rate": 0.97,
"withdrawals": 25,
"by_type": {
"biometric_verification": {
"granted": 4800,
"declined": 200
},
"marketing": {
"granted": 2500,
"declined": 2500
}
}
}
}

Next Steps