The Developer Passport
Build anything. Test everything. No limits. When you're ready to publish, verification takes 30 seconds.
1. Sandbox: Zero Friction
Layer 1 (Device Verified) • Identity Tier 0 (Pseudonymous)
Your developer sandbox is unlimited from the moment you create a Passport. No gates, no verification walls, no "upgrade to Pro." Build connectors, agents, and integrations without any restrictions.
What's available immediately
2. The Publish Gate
Requires Identity Tier 1 (Org Verified)
When you're ready to publish to the marketplace, we need to verify you're a real person. This isn't about gatekeeping — it's about accountability. Every published connector carries the publisher's identity. This protects you (reputation) and the ecosystem (trust).
How it works: Link your Passport to your organization via SSO or verified email. Takes about 30 seconds. After that, your published work carries your verified identity.
Developer messaging at the gate
"Build anything. Test everything. No limits."
"Ready to publish? We need to verify you're a real person. This protects you and everyone who uses your work."
"You're verified. Your published work carries your identity — it's your reputation, portable and permanent."
3. Your Work = Your Reputation
Every connector you publish is cryptographically signed with your Passport. Your reputation is:
Portable
Your reputation follows your Passport, not a platform account.
Permanent
Published work creates an immutable record on the provenance ledger.
Yours
No platform can strip your reputation. It's cryptographically yours.
Think of it like npm publishing, but your identity is verified and your reputation is a first-class, portable asset.
SDK Integration
Add Passport to your app in minutes. Magic mode (zero-config) or control mode (full override).
// Magic mode: zero config
import { HumanPassportAuth } from '@human/passport/react';
function App() {
return (
<HumanPassportAuth
onAuthenticated={(passport) => {
console.log('Passport:', passport.did);
// Start your app
}}
/>
);
}
// Control mode: full access
import { PassportAuth } from '@human/passport';
const auth = new PassportAuth({ rpId: 'your-domain.com' });
const { did, sessionToken } = await auth.register('Alice');
const delegation = await auth.exchangeForDelegation(sessionToken);