Welcome to Self
# Welcome to Self
Self is an open-source identity protocol built on zero-knowledge proofs. Your users prove facts about their government ID (age, nationality, sanctions status) without exposing personal data; they verify once in the Self app and can then disclose attributes to any integrated application.
These docs cover **[Self Enterprise](/docs/self-enterprise/get-started/what-is-self-enterprise/)**, the managed way to use the protocol: configure a flow in the dashboard, call one SDK, and receive a signed result.
:::cta{title="Start building" href="https://dashboard.self.xyz" button="Open the dashboard"}
Sign up free and deploy your first verification flow in minutes.
:::
## The five workspaces
Every verification starts by picking a workspace in the [dashboard](https://dashboard.self.xyz). Each answers one question about your user:
| Workspace | The question it answers | Typical use |
| -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------ |
| **[Pre-KYC](/docs/self-enterprise/workspaces/pre-kyc/)** | "Who is this user?" (genuine document, age, country rules, OFAC, optional data reveals) | Onboarding, compliance gating |
| **[Age Verification](/docs/self-enterprise/workspaces/age-verification/)** | "Is this user old enough?" (a minimum age, nothing else revealed) | Age-gated content and commerce |
| **[Proof of Human](/docs/self-enterprise/workspaces/proof-of-human/)** | "Is this a unique, real person?" (one person, one account) | Sybil resistance, anti-bot, airdrops |
| **[Sovereign](/docs/self-enterprise/workspaces/sovereign/)** | "Is this user from a country I allow?" (a nationality allowlist) | Region-restricted access |
| **[Custom Config](/docs/self-enterprise/workspaces/custom-config/)** | "Give me exactly these identity fields, under my custody" (early access, Enterprise plan) | Own-vault KYC, data residency |
:::tip
**New here?** Go from zero to a verified user in ten minutes with the **[Quickstart](/docs/self-enterprise/get-started/quickstart/)**.
:::
## Start with Self Enterprise
| Page | What it covers |
| ----------------------------------------------------------------------------------------- | --------------------------------------------------- |
| **[What is Self Enterprise](/docs/self-enterprise/get-started/what-is-self-enterprise/)** | The overview, and who it's for. |
| **[Quickstart](/docs/self-enterprise/get-started/quickstart/)** | Verified user in ten minutes. |
| **[Core concepts](/docs/self-enterprise/get-started/concepts/)** | Orgs, flows, sessions, keys, webhooks. |
| **[How verification works](/docs/self-enterprise/get-started/how-it-works/)** | The zero-knowledge model, in plain language. |
| **[SDK](/docs/self-enterprise/sdk/nodejs/)** | The `@selfxyz/enterprise-sdk` client. |
| **[Webhooks](/docs/self-enterprise/webhooks/overview/)** | Signed events, signature verification, idempotency. |
## Resources
::::cards
:::card{title="Skills" href="/skills/" icon="sparkles"}
Agent skills that teach AI coding tools how to build with Self.
:::
:::card{title="MCP" href="/mcp/" icon="server"}
Connect the Self MCP server to your editor or agent.
:::
:::card{title="npm package" href="https://www.npmjs.com/package/@selfxyz/enterprise-sdk" icon="package"}
Install the Enterprise SDK, the Node.js client for sessions and webhooks.
:::
:::card{title="Interactive coverage map" href="https://map.self.xyz/" icon="map"}
Explore which documents and countries are supported, worldwide.
:::
::::
Read https://docs.self.xyz/docs/welcome.md so I can ask questions about this Self documentation page.
On this page
Self is an open-source identity protocol built on zero-knowledge proofs. Your users prove facts about their government ID (age, nationality, sanctions status) without exposing personal data; they verify once in the Self app and can then disclose attributes to any integrated application.
These docs cover Self Enterprise, the managed way to use the protocol: configure a flow in the dashboard, call one SDK, and receive a signed result.
The five workspaces
Every verification starts by picking a workspace in the dashboard. Each answers one question about your user:
| Workspace | The question it answers | Typical use |
|---|---|---|
| Pre-KYC | ”Who is this user?” (genuine document, age, country rules, OFAC, optional data reveals) | Onboarding, compliance gating |
| Age Verification | ”Is this user old enough?” (a minimum age, nothing else revealed) | Age-gated content and commerce |
| Proof of Human | ”Is this a unique, real person?” (one person, one account) | Sybil resistance, anti-bot, airdrops |
| Sovereign | ”Is this user from a country I allow?” (a nationality allowlist) | Region-restricted access |
| Custom Config | ”Give me exactly these identity fields, under my custody” (early access, Enterprise plan) | Own-vault KYC, data residency |
Start with Self Enterprise
| Page | What it covers |
|---|---|
| What is Self Enterprise | The overview, and who it’s for. |
| Quickstart | Verified user in ten minutes. |
| Core concepts | Orgs, flows, sessions, keys, webhooks. |
| How verification works | The zero-knowledge model, in plain language. |
| SDK | The @selfxyz/enterprise-sdk client. |
| Webhooks | Signed events, signature verification, idempotency. |
Resources
Was this page helpful?
Thanks — what went wrong?
Thanks for your feedback!