Skip to content

Concept

Pseudentity is a stateless OpenID Connect (OIDC) provider and visual companion for the pseudata ecosystem. While pseudata provides the engine for generating deterministic mock data, Pseudentity provides the interface for visualizing and authenticating with those identities.

Pseudentity acts as three things:

  1. A Profile Viewer - Instantly visualize any “fake user” generated by pseudata
  2. An OpenID Provider - Allow developers to “Login with Pseudentity” in their apps
  3. An Enterprise Mock - Simulate complex provisioning flows (SCIM 2.0) without expensive SaaS subscriptions

The core innovation is that Pseudentity is entirely stateless. It uses CPU (math) instead of storage (disk).

Instead of storing user profiles in a database, Pseudentity encodes all generation parameters directly into a PseudoID (RFC 9562 UUID v8). Any server can “inflate” the full user profile instantly just by decoding the ID.

Example PseudoID:

00000000-0000-8002-a800-6500000003e8

This ID encodes:

  • World Seed: 42
  • Type Sequence: 101 (User)
  • Index: 1000

Decode it, and you can regenerate the complete user profile deterministically—same name, email, avatar, everything.

Learn more: PseudoID Technical Documentation

Pseudentity is organized into four distinct namespaces:

Human-readable representations of a specific identity.

URL PatternTypeDescription
/u/{uuid}HTMLProfile page with Svelte UI
/u/{uuid}/data.jsonJSONRaw user object (Name, Bio, Job)
/u/{uuid}/contact.vcfVCFVCard 4.0 for mobile contacts
/u/{uuid}/avatar.pngPNGDeterministic avatar image
/u/{uuid}/cover.pngPNGDeterministic banner image
/u/{uuid}/qr.pngPNGQR code for mobile scanning
/u/lookup307Redirector (converts ?seed=X to /u/{uuid})

Machine endpoints to generate/search for identities.

URL PatternMethodDescription
/api/v1/userGETParams: ?seed=X&index=Y, Returns user with ID
/api/v1/companyGET(Future) Returns company object + ID

Authentication protocol endpoints (OpenID Connect compliant).

URL PatternDescription
/oidc/authorizeLogin screen (user inputs seed or UUID)
/oidc/tokenToken exchange (stateless, signed JWTs)
/oidc/introspectValidates token signature (RFC 7662)
/oidc/userinfoReturns profile data for authenticated token
/.well-known/openid-configurationOpenID Connect Discovery

Mock SCIM 2.0 endpoints for testing user provisioning.

URL PatternMethodDescription
/scim/v2/UsersGETList users (simulates pagination via O(1) access)
/scim/v2/Users/{id}GETReturns RFC 7643 compliant user schema

Add “Login with Pseudentity” to your app without configuring a real identity provider. Perfect for:

  • Local development
  • Integration tests
  • Demo environments
  • QA workflows

See what your generated users actually look like:

  • Profile photos (deterministic avatars)
  • Complete contact information
  • Job titles and companies
  • Export to mobile contacts (VCard)

Simulate complex provisioning scenarios:

  • SCIM 2.0 user sync (Okta, Azure AD)
  • Group assignments
  • Deprovisioning workflows
  • Pagination with millions of users

Show authentication features with consistent, repeatable identities:

  • Same user appears every time
  • Professional-looking profiles
  • Cross-language consistency
  • No setup required
ComponentChoiceRationale
FrameworkAstroBest for mixing API routes with UI
ModeServer (SSR)Required for dynamic generation
InteractivitySvelteIslands architecture keeps pages lightweight
EnginePseudataShared logic library for data generation
HostingVercelEdge network + serverless functions
DatabaseNoneAll state is in the UUID or signed tokens

Pseudentity is built on pseudata, the deterministic mock data generator that produces identical data across Go, Java, Python, and TypeScript.

Visit pseudata.dev to learn about:

  • PCG32 algorithm for cross-language consistency
  • Virtual arrays with O(1) infinite scale
  • Multi-locale support
  • Zero-dependency implementations

Early Stage: Pseudentity is in active development and not yet ready for public deployment.

The core PseudoID format and architecture are finalized. Implementation of the web interface, OIDC endpoints, and SCIM provider is ongoing.