Ship auth that
can't leak what
you never held.
Every service gets its own scoped ID. Ask a question, get a zero-knowledge answer, store nothing. Passwordless sign-in, attestation checks and E2E messaging behind three calls.
The integration path, in order
The user-facing approval stays light. The trust-sensitive part stays typed, signed, and verified server-side.
Create a scoped request
web-login builds a service-specific login request and QR surface.
Wait for holder approval
The holder approves locally in U-net. Your service never touches their private keys or global identity.
Verify the signed assertion
server checks the signature before you create an app session — QR approval alone is never a durable identity claim.
Add proof requests when needed
Layer verification sessions on top when a checkout or workflow needs a specific attested predicate.
Packages
Everything ships typed, and every package targets the same public trust-plane contracts as the U-net demos.
@union-networks/web-loginCreate service-scoped login QRs and poll for approval.
@union-networks/verificationRequest checkout-bound, attestation-backed checks.
@union-networks/reactReact hooks and components for the login and verification flow.
@union-networks/serverVerify signed login assertions and verification sessions server-side.
@union-networks/clientTyped client for the public trust-plane API.
@union-networks/contractsShared TypeScript contracts for every package above.
Building the check into a real product?
See what it changes for the person approving it, or the business deciding what to ask for.