Push and sign‑in infrastructure
Send push to Android, iOS and the web. Approve logins on a trusted phone, add passkeys and send email codes. One API key, billed in rupees.
Works with your stack
Four products,
one API key
Send to a user, a topic or everyone on Android, iOS and the web. Schedule it from your server, or let your team write it in the composer.
Learn moreWhen someone signs in on a new device, the user's trusted phone asks if it was them. They pick a number and confirm with Face ID.
Learn moreSign-in with a fingerprint or a screen lock, on your own domain. 10,000 sign-ins a month free, unlimited on Starter.
Learn moreTwo calls: send a code, check a code. From our domain or yours, in English or Hindi.
Learn moreEnter this code to sign in to Kirana Express:
The code expires in 10 minutes. If you did not ask for it, ignore this email.
Pay in rupees, with a GST invoice
- Billed in rupees
- GST invoice
- UPI autopay or card
- No card to start
- Codes in Hindi
- Xiaomi, Oppo and Vivo handled
Offers on time,
written by your team
Write a push, pick a topic, set a time and check the preview. No developer needed.
Learn more- 09:41:02approve.createdusr_8f21c4 · Chrome on WindowsSent
- 09:41:04approve.approvedPixel 8 · matched 47 · Face IDApproved
- 09:41:05push.sentNew login on Chrome · 2 devicesSent
- 09:44:19device.removedRedmi Note 12 · token expiredCleaned
- 10:02:51otp.sentananya@example.in · shared domainSent
- 10:03:08otp.verified2nd try · 17 s after sendVerified
Every event reaches
your server
Sends, approvals, codes and cleaned tokens, each as a signed webhook.
Learn moreOne login, four products
Try a passkey, ask the trusted phone, fall back to an email code, then tell the other devices. One call each, one user id.
- 1PasskeyNo passkey on this laptop yetSkipped
- 2ApprovePush to the trusted Pixel 8, number 47Approved in 4 s
- 3Email OTPUsed only when no trusted phone answersNot needed
- 4Push"New login on Chrome in Pune" to the other devicesSent
// One login, four products, one user id.
const user_id = "usr_8f21c4";
// 1. A passkey, if this device has one.
const pk = await signops.passkeys.verify(token);
if (pk.verified) return signIn(user_id);
// 2. Ask the trusted phone.
const ok = await signops.approve.createAndWait({
user_id,
context: "Chrome on Windows",
});
// 3. No answer: an email code.
if (ok.status !== "approved") {
await signops.otp.send({ email, app_name: "Kirana" });
return askForCode();
}
// 4. Tell the other devices.
await signops.push.send({
user_id,
title: "New login on Chrome in Pune",
});
return signIn(user_id);Start free
Three plans. No card until you pass a free amount; Starter and Pro include 1,000 approvals and 1,000 codes a month.
- 1,000 push devices
- 100 approvals a day
- 10,000 passkey sign-ins a month
- 500 email codes to try
- 5,000 push devices
- 1,000 approvals and 1,000 codes a month
- Then Rs 0.30 an approval, Rs 0.03 a code
- Everything in Starter
- Email from your own domain
- Longer logs, 10 apps
Send your first push today.
Free for 1,000 push devices, 100 approvals a day, 10,000 passkey sign-ins a month and 500 email codes to try. No card until you pass a free amount.