(01)
Passwordless Telegram Login
Your users authenticate with a single tap in Telegram. No passwords to remember, store, or reset — and no email verification flows to maintain.
(Verne Passepartout · Telegram Auth-as-a-Service)
Let your tenant's end-users sign in with a single tap in Telegram. Passepartout handles the bot bridge, tenant-scoped identities, and secure tokens — so you ship authentication without building it.
curl -X POST https://api.vernesoft.com/v1/passepartout/login/start \
-H "Authorization: Bearer vrn_passepartout_•••"
# => { "nonce": "n_9f2c…", "deep_link": "https://t.me/your_bot?start=n_9f2c…" }(The Password Problem)
Passwords, email verification, and reset flows are a constant source of friction, support tickets, and security risk. Building them yourself means weeks of work you will maintain forever.
Traditional / In-House Auth
Verne Software Passepartout
(The Official Widget)
The widget is free, official, and it works — inside five limits that are documented, permanent, and hit the moment you have more than one production domain. Passepartout is the same Telegram login without them.
Where it stops
Telegram Login Widget
Verne Passepartout
(01)
Telegram Login Widget
Bound to one domain you register with BotFather. A staging environment needs a second bot, and the wrong origin fails with "Bot domain invalid".
Verne Passepartout
No domain to register. One bot serves production, staging and every developer machine at once.
(02)
Telegram Login Widget
Will not run on localhost, so the login you ship is never the login you tested.
Verne Passepartout
The same deep-link flow runs locally and in production — the user taps Start in your bot either way.
(03)
Telegram Login Widget
Hands back a signed payload and stops there. There is no session, so there is nothing to expire and nothing to log out of.
Verne Passepartout
Returns a session token with an expiry, plus an introspection endpoint to check it on every request.
(04)
Telegram Login Widget
An iframe you configure rather than markup you control: size, corner radius and the wording Telegram allows, in Telegram's own styling.
Verne Passepartout
You render your own button. The flow is two HTTP calls, so it fits whatever your design system already looks like.
(05)
Telegram Login Widget
You build the data-check string and verify the HMAC yourself, correctly, in every backend that accepts a login.
Verne Passepartout
Validated on our side before a token is issued. Your backend verifies one token, the same way it does for every other Verne engine.
(Core Features)
(01)
Your users authenticate with a single tap in Telegram. No passwords to remember, store, or reset — and no email verification flows to maintain.
(02)
Every tenant's end-users are fully isolated. Identities live in a shared Ory Kratos, namespaced per tenant, so one customer's users never overlap with another's.
(03)
Create a bot with @BotFather, paste the token into your dashboard, and enable it. Passepartout handles the rest — no public webhook or infrastructure required.
(04)
Start a login to receive a nonce and a t.me deep link. The user taps Start in your bot, and you poll for status until an access token and user profile are returned.
(05)
Bot tokens from @BotFather are encrypted at rest with AES-256-GCM. The bridge uses Telegram long-polling, so you never expose a public webhook endpoint.
(06)
Official SDKs for Node, PHP, Python, and Rust ship a first-class passepartout resource, so you can integrate login in minutes from any stack.
(Nautilus Ecosystem)
Passepartout brings your users in through Telegram, while Gate secures your own API keys and admin access. Deliver post-login events reliably with Relay — one platform for identity and infrastructure.
(Developer Experience)
Start a login, share the deep link, and poll for completion — in any language. Validate the returned tokens with a single introspection call.
# 1. Start a login — returns a nonce and a Telegram deep link
curl -X POST https://api.vernesoft.com/v1/passepartout/login/start \
-H "Authorization: Bearer $VERNE_PASSEPARTOUT_KEY" \
-H "Content-Type: application/json"
# => { "nonce": "n_9f2c…", "deep_link": "https://t.me/your_bot?start=n_9f2c…" }
# 2. Poll for status until the user taps Start in your bot
curl "https://api.vernesoft.com/v1/passepartout/login/status?nonce=n_9f2c…" \
-H "Authorization: Bearer $VERNE_PASSEPARTOUT_KEY"
# => { "status": "completed", "access_token": "…", "user": { "id": "…" } }(FAQ)
Your app calls POST /v1/passepartout/login/start to get a nonce and a t.me deep link. The user opens it and taps Start in your bot; your app then polls GET /v1/passepartout/login/status until it returns a completed status with an access token and user profile.
No. The Passepartout bridge connects to Telegram using long-polling, so there is no public webhook to expose or secure. You only configure your bot token from @BotFather in the dashboard.
Every tenant's end-users are namespaced independently in the shared Ory Kratos identity store, and each tenant configures its own Telegram bot. Bot tokens are encrypted at rest with AES-256-GCM.
The widget is bound to one domain you register with BotFather, which is why it will not run on localhost; it has no session or logout concept; its button is limited to the options Telegram exposes; and validating the HMAC is your code. Passepartout is a deep-link flow instead: it works from any origin, we validate on our side, and you get back a session token with an expiry you can introspect.
Yes. There is no domain to register, so the same flow runs in local development and in production — the user taps Start in your bot either way.
No. Delivery rides Telegram, so there is no per-message cost at all. You pay per API request like every other engine — 3,000 a month free, then €3 per 10,000.
(Get Started Today)
Skip the passwords, the email flows, and the maintenance. Ship secure Telegram authentication for your platform today.
What passwordless costs
Passwordless has a price list, and it only becomes obvious in production. SMS one-time codes bill per message in every country, permanently, and the most expensive routes tend to serve the cheapest customers. Magic links move the cost to email: a transactional provider, a warmed domain, and the sign-ups you lose to a spam folder you cannot inspect.
Telegram delivery has neither cost. It arrives in an app the user already has open, there is no per-message charge to pass on, and there is no domain reputation to maintain. What it costs instead is reach — your users have to be on Telegram, which is a real constraint and the honest reason this is one login method rather than the only one.
So the arithmetic is short. Where your audience is already on Telegram, passwordless login stops being a line item at all; where it is not, Gate covers email, password and eleven OIDC providers on the same account. A bot token from @BotFather is the whole setup, and the first 3,000 requests each month are free.