Supported UI wrappers gate native SDK creation behind an SDK-owned consent window. Product code cannot replace this with consent: true or a custom boolean.
Required onboarding configuration
Section titled “Required onboarding configuration”- Consent page HTTPS URL.
- Consent revoke HTTPS URL.
- Consent version for the current disclosure.
- RS256 public verification key supplied by P2PSDK.
- Application API key bound to the integration.
The private signing key and service implementation remain outside the application and are not distributed with the SDK.
Result states
Section titled “Result states”| State | Meaning | Application action |
|---|---|---|
accepted | The decision was verified and an SDK instance was created | Attach callbacks, call connect(), wait for online |
declined | The user declined this consent version | Keep SDK disabled; do not retry in a loop |
revoked | The current app/device/version scope was revoked | Keep disabled until an approved new flow |
cancelled | The user closed the consent window | Leave disabled; allow deliberate future retry |
error | Configuration, navigation, verification, or native creation failed | Show retry/support UX and log a sanitized category |
Accepted decisions
Section titled “Accepted decisions”Accepted decisions are bound to the application API key, device identity, consent version, and the current consent session. Do not copy stored decisions or receipts between installations. Changing the device identity or consent version intentionally selects a new consent scope.
Decline and cancel
Section titled “Decline and cancel”A decline or cancelled window must never create a native SDK handle. Respect the user's decision and avoid prompts that immediately reopen the same consent version.
Revoke
Section titled “Revoke”Expose revoke from persistent application settings. A successful revoke invalidates the local decision and closes the active instance. Clear your application reference after success.
A network or server failure must leave the accepted decision and active instance intact so the user can see the error and retry. Do not simulate successful revoke locally when the SDK reports failure.
Consent version changes
Section titled “Consent version changes”Change the consent version only as part of a coordinated disclosure rollout. A new version invalidates the old local scope and can require a new user decision. Test both upgrade and rollback paths before release.