import Clavro
// Initialize with your instance
let clavro = Clavro(
publicKey: "pk_live_..."
)
// Sign in a user
let session = try await clavro.signIn(
email: "[email protected]",
password: "********"
)
// That's it! User is authenticated
print("Welcome, \(session.user.firstName)!")
Everything you need for identity
From authentication to multi-tenancy, Clavro provides the building blocks for modern applications.
Email/password, social logins, and passwordless authentication out of the box.
Built-in organization management with isolated data and custom domains per tenant.
Become an OAuth provider. Issue tokens, manage consent, and integrate with any platform.
Track active sessions, device info, and let users revoke access from anywhere.
Real-time event notifications for user signups, logins, and account changes.
First-class Swift, Kotlin, and REST APIs. Integrate in minutes, not days.
Built by developers, for developers
We obsess over the details so you don't have to. Clean APIs, comprehensive docs, and SDKs that feel native to your platform.
Full TypeScript, Swift, and Kotlin support with autocomplete.
Standard-compliant endpoints for seamless integration.
Separate environments with isolated data and keys.
class AuthManager(
private val clavro: ClavroClient
) {
suspend fun signUp(
email: String,
password: String,
firstName: String
): Result<Session> {
return clavro.auth.signUp(
SignUpRequest(
email = email,
password = password,
firstName = firstName
)
)
}
suspend fun signInWithGoogle(): Result<Session> {
return clavro.auth.signInWithOAuth(
provider = OAuthProvider.GOOGLE
)
}
}
Start free, scale as you grow
Generous free tier for indie hackers and startups. Enterprise features when you need them.
Perfect for side projects and MVPs
$0 /month
For growing teams and products
$49 /month
For organizations at scale
Custom
Join developers building modern applications with Clavro. Start free, no credit card required.