PrivyPrivy
Sign in
  • Documentation
Back to Documentation
Digital ID
Get Started
Changelog
Concepts
    EnvironmentsAuthenticationData PackagesVerification FlowUser JourneySession Lifecycle
Guides
API Reference
powered by Zudoku
Sign in
Concepts

Data Packages

The Contact and Identity packages decide which user data the merchant receives. Verification is the same for both packages.

Privy sets one data package for each merchant at onboarding. The merchant cannot select a package for a session. Both packages use the same user journey. Only the delivered data is different.

CapabilityContact packageIdentity package
User inputPrivyID, email, NIK, or mobile numberSame
VerificationSelfie liveness, face match, and OTPSame
Data sectionsContact data (my_contact_data)Contact data (my_contact_data) and identity data (my_identity)
Data itemsVerified email and phoneAll Contact items, plus PrivyID, full name, NIK, date of birth, KTP image URL, and selfie URL
DeliverySigned JWT. Contact data is readable: signed, not encrypted.Signed JWT. Contact data is readable. Identity data is encrypted for the merchant.

Privy configures the data items in each package. Treat each item as optional.

The field names start with my_ because they match the consent screen. The user sees "My Contact Data" and "My Personal Identity".

Session creation, widget loading, callbacks, exchange codes, and JWT verification are the same for both packages. The merchant credentials are separate from the package: the API key, and the RSA private key for the Identity package.

See Data Delivery and Encrypted Identity Data.

Last modified on October 23, 2026
AuthenticationVerification Flow