Loading self-IAM…
Content is loading — this may take a moment.
Loading self-IAM…
Content is loading — this may take a moment.
An identity server for your apps: password and QuickHash verification, WhatsApp OTP, a drop-in contact widget, org-scoped API keys, and an admin panel — all self-hosted with MongoDB.
Verify usernames, emails, and passwords with bcrypt-backed hashing — or stateless QuickHash replay for fast client-side checks.
One-time passcodes delivered over WhatsApp with a 5-minute TTL, resend cooldowns, and wrong-answer lockout.
Drop in the self-IAM contact + auth widget and start collecting messages on your site in minutes.
Org-scoped keys with a daily operation budget. Raw keys are never stored — only SHA-256 digests.
One account across many organizations. Sessions are HS256 JWTs with central revocation, not opaque tokens.
A super-admin panel to see every organization, plan, message, and enquiry across the platform.
Copy-paste these values into your project. Full reference and security guidance live in the docs.
Step 1 · Install
npm install self-iam
NEXT_PUBLIC_SELFIAM_API_URL=https://selfiam.site NEXT_PUBLIC_SELFIAM_PUBLISHABLE_KEY=pk_live_YOUR_PUBLISHABLE_KEY
Step 2 · Embed
import { ContactAuthProvider } from "self-iam";
import "self-iam/styles.css";
<ContactAuthProvider
apiUrl="https://selfiam.site"
publishableKey="pk_live_YOUR_PUBLISHABLE_KEY"
>
<YourApp />
</ContactAuthProvider>Step 3 · Call
curl -X POST https://selfiam.site/api/v1/auth/verify \
-H "Authorization: Bearer org_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method":"username","identity":"jane_doe","password":"correct horse battery staple"}'Questions about plans, deployments, or the API? Send a message and we will get back to you — usually within one business day.
Everything you need to know about self-IAM.
self-IAM is an open-source, self-hosted multi-tenant identity and access management platform. It provides password & QuickHash verification, WhatsApp OTP, Google OAuth, API keys with daily quotas, and a drop-in React contact + auth widget — all backed by MongoDB.
Run npm install self-iam, set NEXT_PUBLIC_SELFIAM_API_URL and NEXT_PUBLIC_SELFIAM_PUBLISHABLE_KEY in your .env file, then wrap your app with ContactAuthProvider and drop in the ContactForm or ContactAuthModal component.
Yes. The Free plan includes 1 API key with 100 operations per day. The Pro plan unlocks 10 API keys with 10,000 operations per day and advanced features like WhatsApp OTP, email OTP, and Google OAuth.
self-IAM supports username/password, email/password, QuickHash (stateless client-side hash replay), WhatsApp OTP, Google OAuth, and email OTP. Sessions use HS256 JWTs with central revocation and configurable TTL from 1 hour to 30 days.
Yes. self-IAM is designed for self-hosting. It requires Node.js and MongoDB. Deploy to Vercel, Railway, your own VPS, or any Node.js hosting. Environment variables control all configuration — no code changes needed.
Each organization gets a publishable key (pk_live_*) for the widget and a secret key (org_live_*) for server-side API calls. The Free plan allows 100 operations per key per day; the Pro plan allows 10,000. Keys are stored as SHA-256 hashes — raw keys are shown only once.
Sign in to manage API keys and users, explore the API playground, or check out the pricing plans.