iiamhuman Developer Docsv1

PERSONHOOD CREDENTIAL INTEGRATION · STEP 0

Before You Start

Prepare your access, app domains, backend, and wallet.

Before You Start

This guide helps you add a personhood check to a web application. A successful integration has a backend that creates and verifies requests, and a frontend that lets the user open Credential Wallet or scan a QR code.

What You Need

  • Access to the Presentation Exchange Platform (PEP) developer console so that you can register an app.
  • A backend service that you control. It must be able to keep secrets, store short-lived verification sessions, and receive HTTPS requests from Credential Wallet.
  • A public HTTPS domain for the wallet request-fetch and submission endpoints. Register those domains in PEP before testing.
  • A web frontend, or another user interface that can show a wallet link or QR code. The frontend SDK is optional.
  • The Credential Wallet app, installed on an iPhone, for the user to store and present the credential your app requests.

Use separate PEP app registrations, domains, and request-issuer secrets for test and production environments. Do not place a request-issuer DID or its private-key material in browser code, a mobile app, source control, or client-visible configuration.

Choose Your Integration Point

Request a credential immediately before the action it protects. For example, request a Human Credential before allowing a user to post, or a Uniqueness Credential before accepting a one-person vote. Do not assume that a credential checked during sign-up remains suitable for every later action.

What This Guide Covers

The guide follows Iamhuman Journal, an existing article website with personhood-protected comments. A reader selects Comment, scans a ten-minute request with Credential Wallet, and approves a Human credential presentation. The browser then completes a seven-day session. First-time readers choose a public name before commenting; returning readers keep their saved name. The backend checks the stored credential before every new comment.

Code snippets are concise adaptations of Journal’s Next.js/React implementation, not its complete application. Journal uses the backend Presentation Exchange SDK and its own QR interface; page 07 demonstrates the equivalent frontend flow using the Vue frontend SDK. Register your own app and domains when adapting this flow. Real-wallet testing requires your registered HTTPS host; Journal’s supplied registrations do not support scanning localhost requests.

If you are new to credential terminology, read Glossary next.