Skip to main content

About Reusable KYC

Reusable KYC allows verified users to share their identity verification results with third parties via secure, time-limited tokens.

What is Reusable KYC?

When a user completes identity verification through TrustGate, you can generate a share token that allows a third party to view the verification results. This enables:

  • Sharing verification results with partners or other services
  • Controlling what data is shared through granular permissions
  • Time-limited access with configurable expiration and usage limits
  • Full audit trail of who accessed shared data and when

How It Works

┌─────────────────────────────────────────────────────────┐
│ YOUR APP │
│ (User already verified via TrustGate) │
└─────────────────────────┬───────────────────────────────┘

│ 1. Generate share token
│ POST /api/v1/kyc-share/token
v
┌─────────────────────────────────────────────────────────┐
│ TRUSTGATE API │
│ Returns token + token_id + expiry info │
└─────────────────────────┬───────────────────────────────┘

│ 2. Send token to third party
v
┌─────────────────────────────────────────────────────────┐
│ THIRD PARTY │
│ Receives token from user or your app │
└─────────────────────────┬───────────────────────────────┘

│ 3. Verify token (public endpoint)
│ POST /api/v1/kyc-share/verify
v
┌─────────────────────────────────────────────────────────┐
│ TRUSTGATE API │
│ Returns verification data based on token permissions │
└─────────────────────────────────────────────────────────┘

Benefits

For Your Users

BenefitDescription
Share on demandUsers control when and with whom to share
Privacy controlChoose what data categories to include
RevocableTokens can be revoked at any time
Time-limitedAll tokens expire automatically

For Your Business

BenefitDescription
Lower frictionPartners can verify users without re-onboarding
Audit trailEvery access is logged with IP, domain, and timestamp
ComplianceConsent recorded at token creation
Granular control6 permission levels from basic info to full data

Quick Start

1. Generate a Share Token

curl -X POST https://api.bytrustgate.com/api/v1/kyc-share/token \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"applicant_id": "550e8400-e29b-41d4-a716-446655440000",
"shared_with": "Partner Company Inc",
"permissions": {
"basic_info": true,
"id_verification": true,
"screening": false,
"address": false,
"documents": false,
"full": false
},
"expires_days": 7,
"max_uses": 1
}'

The applicant must have status: "approved" to generate a share token.

2. Share the Token

Send the token to the third party through your application. The token is shown only once in the generation response — it is not stored (only its SHA-256 hash is kept).

3. Third Party Verifies

The third party calls the public verify endpoint (no authentication required):

curl -X POST https://api.bytrustgate.com/api/v1/kyc-share/verify \
-H "Content-Type: application/json" \
-d '{
"token": "THE_SHARE_TOKEN"
}'

They receive only the data categories allowed by the token's permissions.

Data Sharing

What Can Be Shared

Data sharing is controlled by 6 permission keys set at token creation:

PermissionData Included
basic_infoFirst name, last name, date of birth
id_verificationID type, ID number, issuing country, verification status
addressVerified address
screeningAML/sanctions result, PEP status, sanctions matches
documentsDocument metadata (type, issuing country, verified date)
fullAll of the above

Always Included

Regardless of permissions, every verification response includes:

  • applicant_id
  • verification_status
  • verified_at
  • token_permissions (what the token allows)
  • uses_remaining

Never Shared

These data types are never included in share responses:

  • Document images / files
  • Biometric data (selfies, face embeddings)
  • Device fingerprints
  • Internal case notes

Token Security

FeatureDetails
SHA-256 hashedOnly the hash is stored; token shown once at creation
Time-boundMax 90 days, default 30 days
Usage limitsMax 10 uses, default 1 (single-use)
RevocableCan be revoked at any time via API
Audit loggedEvery access attempt logged with IP, domain, user agent
Tenant-scopedTokens are scoped to the generating tenant

Compliance

Every token records:

  • consent_given_at — timestamp of token creation (implicit consent)
  • consent_ip_address — IP address at time of consent

Audit Trail

Every token access (successful or failed) is logged with:

  • Requester IP address
  • Requester domain
  • User agent
  • Timestamp
  • Success/failure status
  • Which permissions were accessed

Next Steps