Non-Document Verification
Verify customer identities using database checks, credit bureau data, and public records without requiring ID documents.
Non-Document Verification
Verify identities without requiring physical ID documents by checking against authoritative databases, credit bureaus, electoral rolls, and public records.
Why Non-Document Verification?
Use Cases:
- Customers without valid ID documents
- Lower-risk transactions
- Faster onboarding (no document upload required)
- Markets with low ID document ownership
- Age verification for digital services
Regulatory Consideration
Non-document verification meets regulatory requirements for lower-risk customers in many jurisdictions, but document verification is still required for higher-risk scenarios (large transactions, PEPs, etc.).
1 Credit Per non-document verification
Verification Methods
1. Credit Bureau Checks
Verify identity against credit reference agency data.
What We Check:
- Name and address on credit file
- Date of birth confirmation
- Electoral roll registration
- Credit file existence (without credit score)
- Historical address matches
Supported Countries:
- UK (Experian, Equifax, TransUnion)
- US (Experian, Equifax, TransUnion)
- Canada (Equifax, TransUnion)
- Australia (Equifax, Illion, Experian)
- EU (country-specific bureaus)
Credit Check Example:
const verification = await fetch('/api/v3/verifications', {
method: 'POST',
body: JSON.stringify({
applicantId: 'app_abc123',
type: 'non_document',
method: 'credit_bureau',
data: {
firstName: 'John',
lastName: 'Smith',
dateOfBirth: '1985-06-15',
address: {
line1: '123 High Street',
city: 'London',
postcode: 'SW1A 1AA',
country: 'GB'
}
}
})
});Match Result:
{
"status": "completed",
"result": "verified",
"matches": {
"name": true,
"dob": true,
"address": true,
"electoralRoll": true
},
"confidence": 95
}2. Electoral Roll Verification
Check name and address against electoral register.
Coverage: UK, Ireland, some EU countries
What We Check:
- Current registration at given address
- Historical registrations
- Name match
- Date of birth (where available)
Limitations:
- Not everyone registers to vote
- Updates can lag (annual refresh)
- Variations in name format
3. Phone Number Validation
Verify phone number ownership and carrier data.
What We Check:
- Phone number is active
- Carrier information
- Number type (mobile vs. landline)
- Country and region
- Age of number registration
Validation Example:
const phoneCheck = await fetch('/api/v3/phone/verify', {
method: 'POST',
body: JSON.stringify({
phoneNumber: '+447700900123',
applicantId: 'app_abc123'
})
});Result:
{
"valid": true,
"carrier": "Vodafone UK",
"lineType": "mobile",
"country": "GB",
"registrationAge": "3+ years"
}4. Email Validation
Verify email address validity and risk.
What We Check:
- Email format validity
- Domain existence
- MX record validation
- Disposable email detection
- Email reputation score
- Domain age
Risk Indicators:
- Temporary/disposable email (high risk)
- Free email provider (medium risk)
- Recently created domain (medium risk)
- Corporate domain (low risk)
- Aged email domain (low risk)
5. Address Verification
Confirm address exists and is residential.
What We Check:
- Address format validation
- Post office database lookup
- Address type (residential vs. commercial)
- Occupancy status
Supported Countries: 50+ with postal authority data
Multi-Method Verification
Combine multiple checks for higher confidence:
const verification = await fetch('/api/v3/verifications', {
method: 'POST',
body: JSON.stringify({
applicantId: 'app_abc123',
type: 'non_document',
methods: ['credit_bureau', 'phone', 'email', 'address'],
requiredMatches: 3 // Pass if 3 out of 4 methods succeed
})
});Confidence Scoring:
| Methods Passed | Confidence Level | Recommendation |
|---|---|---|
| 4/4 | Very High (95-100%) | Auto-approve |
| 3/4 | High (80-94%) | Approve |
| 2/4 | Medium (60-79%) | Manual review |
| 1/4 | Low (40-59%) | Reject or request documents |
| 0/4 | Very Low (0-39%) | Reject |
Knowledge-Based Authentication (KBA)
Challenge users with questions based on their credit history or public records.
How It Works:
- System generates 3-5 multiple-choice questions
- User answers questions
- Answers validated against credit bureau data
Question Examples:
- "Which of these addresses did you live at in 2018?"
- "What is the name of your mortgage provider?"
- "In what year did you open your current account?"
KBA Request:
const kba = await fetch('/api/v3/verifications/kba/generate', {
method: 'POST',
body: JSON.stringify({
applicantId: 'app_abc123',
questionsCount: 4
})
});KBA Response:
{
"kbaId": "kba_xyz789",
"questions": [
{
"id": "q1",
"question": "Which of these addresses did you live at in 2019?",
"options": [
"123 High Street, London",
"45 Park Lane, Manchester",
"78 Oak Road, Birmingham",
"None of the above"
]
}
// ... more questions
]
}Submit Answers:
await fetch(`/api/v3/verifications/kba/${kbaId}/submit`, {
method: 'POST',
body: JSON.stringify({
answers: {
q1: "123 High Street, London",
q2: "HSBC",
// ...
}
})
});Pass Criteria: 3 out of 4 correct = Pass
1 Credit For KBA (includes question generation + validation)
Country-Specific Methods
United Kingdom
Available Methods:
- Credit bureau checks (Experian, Equifax, TransUnion)
- Electoral roll verification
- DVLA driving license check
- NHS number validation
- Bank account validation (sort code + account number)
United States
Available Methods:
- SSN validation (last 4 digits)
- Credit bureau checks
- Phone number carrier lookup
- Address verification via USPS
- KBA via credit history
European Union
Available Methods:
- National ID number validation
- Tax ID (VAT) validation
- Bank account IBAN validation
- Phone number validation
- Address verification via postal authorities
Rest of World
Coverage varies by country. Contact support for specific country availability.
Risk-Based Decisioning
Configure automated decisions based on verification results:
{
"rules": {
"autoApprove": {
"confidence": ">= 90",
"methodsPassed": ">= 3"
},
"manualReview": {
"confidence": "60-89",
"methodsPassed": ">= 2"
},
"autoReject": {
"confidence": "< 60",
"methodsPassed": "< 2"
}
}
}Compliance Considerations
GDPR (EU)
Non-document verification involving credit checks requires:
- Explicit user consent
- Clear privacy notice
- Right to access results
- Data retention limits
FCRA (US)
Credit bureau checks must comply with Fair Credit Reporting Act:
- Permissible purpose
- User consent
- Adverse action notices if rejected
Data Minimization
Only collect data necessary for verification:
- Don't pull full credit report (just identity match)
- Don't store unnecessary personal information
- Delete verification data after retention period
Best Practices
- Use for low-risk scenarios - Non-document best for small transactions, age verification
- Combine multiple methods - Don't rely on single data source
- Have document fallback - If non-document fails, request ID document
- Set appropriate thresholds - Higher confidence for higher-risk transactions
- Regular re-verification - For ongoing relationships, re-verify periodically
- Clear user communication - Explain why you're checking credit bureau, etc.
Limitations
Accuracy:
- Credit bureau: 85-95% (depends on data quality)
- Phone validation: 80-90%
- Email validation: 95%+
- Address verification: 90%+
Coverage:
- Not all individuals in credit bureau databases
- Young people (no credit history)
- Recent immigrants
- People without bank accounts
Speed: 2-10 seconds (depends on bureau response time)
Cost Comparison
| Method | Cost | Accuracy | Speed |
|---|---|---|---|
| Credit Bureau | 1 credit | 85-95% | 5-10s |
| Electoral Roll | 1 credit | 70-80% | 2-5s |
| Phone Validation | 1 credit | 80-90% | 1-2s |
| Email Validation | 1 credit | 95%+ | <1s |
| Address Verification | 1 credit | 90%+ | 2-3s |
| KBA (4 questions) | 2 credits | 90%+ | User-dependent |
| Multi-method (3 checks) | 3 credits | 95%+ | 5-10s |
API Reference
Create Non-Document Verification
POST /api/v3/verifications
{
"applicantId": "app_abc123",
"type": "non_document",
"methods": ["credit_bureau", "phone", "email"],
"data": {
"firstName": "John",
"lastName": "Smith",
"dateOfBirth": "1985-06-15",
"phone": "+447700900123",
"email": "[email protected]",
"address": {
"line1": "123 High Street",
"city": "London",
"postcode": "SW1A 1AA",
"country": "GB"
}
}
}Get Verification Results
GET /api/v3/verifications/:id
{
"id": "ver_xyz789",
"status": "completed",
"result": "verified",
"confidence": 92,
"methods": {
"credit_bureau": { "passed": true, "score": 95 },
"phone": { "passed": true, "score": 88 },
"email": { "passed": true, "score": 92 }
},
"recommendation": "approve"
}Next Steps
Ready to get started?
Start with our free plan. No credit card required.