<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>SignOps blog</title><link>https://signops.dev/blog/</link><description>Push notifications, OTP and passkeys for developers</description>
    <item><title>Migrating from the FCM legacy API to HTTP v1</title><link>https://signops.dev/blog/fcm-http-v1-migration/</link><guid>https://signops.dev/blog/fcm-http-v1-migration/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>The FCM legacy API is shut down. How to move to HTTP v1: service account tokens, the new payload, sending to many tokens, and Node, PHP and cURL examples.</description></item>
    <item><title>FCM says success but the notification never arrives</title><link>https://signops.dev/blog/fcm-notification-not-received/</link><guid>https://signops.dev/blog/fcm-notification-not-received/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Why Android does not show FCM notifications when the app is closed or killed: message types, priority, Doze, permissions, stale tokens and OEM battery savers.</description></item>
    <item><title>Why push notifications go missing on Xiaomi, Oppo, Vivo and Realme</title><link>https://signops.dev/blog/push-notifications-xiaomi-oppo-vivo/</link><guid>https://signops.dev/blog/push-notifications-xiaomi-oppo-vivo/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Battery savers on Xiaomi, Redmi, Poco, Oppo, Realme, Vivo and OnePlus stop apps and drop pushes. What developers can change in the app and what users must switch on.</description></item>
    <item><title>Is Firebase push notification free or paid?</title><link>https://signops.dev/blog/firebase-push-notification-pricing/</link><guid>https://signops.dev/blog/firebase-push-notification-pricing/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Firebase Cloud Messaging is free on every plan. What the limits are, what is not free around it, and what a push backend costs to run.</description></item>
    <item><title>Sending push notifications from a Node.js server</title><link>https://signops.dev/blog/send-push-notification-node-js/</link><guid>https://signops.dev/blog/send-push-notification-node-js/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Send FCM push notifications from Node.js: firebase-admin setup, one user, many tokens, topics, all users, scheduling and cleaning up dead tokens.</description></item>
    <item><title>Expo push notifications work in development but not in the APK</title><link>https://signops.dev/blog/expo-push-notifications-not-working/</link><guid>https://signops.dev/blog/expo-push-notifications-not-working/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>The common reasons Expo push notifications stop in production builds: FCM v1 credentials, google-services.json, Expo Go limits, receipts and Android channels.</description></item>
    <item><title>What an SMS OTP costs in India, and what DLT asks of you</title><link>https://signops.dev/blog/sms-otp-cost-india/</link><guid>https://signops.dev/blog/sms-otp-cost-india/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>SMS OTP prices in India per message, what DLT registration involves for OTP templates, whether you can send OTP without DLT, and the cheaper options.</description></item>
    <item><title>Supabase "email rate limit exceeded": the fix</title><link>https://signops.dev/blog/supabase-email-rate-limit/</link><guid>https://signops.dev/blog/supabase-email-rate-limit/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Supabase's built-in email sender is for testing and allows only a few emails an hour. How custom SMTP raises the limit, and other ways to send sign-in codes.</description></item>
    <item><title>Email OTP in Better Auth, end to end</title><link>https://signops.dev/blog/better-auth-email-otp/</link><guid>https://signops.dev/blog/better-auth-email-otp/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Set up the Better Auth email OTP plugin, choose a sender for the codes, and handle expiry, tries and rate limits in production.</description></item>
    <item><title>Firebase Auth has no email OTP. Here is how to add one</title><link>https://signops.dev/blog/firebase-auth-email-otp/</link><guid>https://signops.dev/blog/firebase-auth-email-otp/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Firebase Auth offers email links, not 6-digit email codes. How to build email OTP sign-in with a Cloud Function and a custom token.</description></item>
    <item><title>Email OTP or SMS OTP?</title><link>https://signops.dev/blog/email-otp-vs-sms-otp/</link><guid>https://signops.dev/blog/email-otp-vs-sms-otp/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Email OTP and SMS OTP compared on price in India, DLT, delivery, SIM swap and phishing risk, with when to use each.</description></item>
    <item><title>Passkeys or OTP?</title><link>https://signops.dev/blog/passkeys-vs-otp/</link><guid>https://signops.dev/blog/passkeys-vs-otp/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>How passkeys work, why they cannot be phished like an OTP, which devices support them, and how to add them next to the login you already have.</description></item>
    <item><title>Push authentication, MFA fatigue and number matching</title><link>https://signops.dev/blog/push-authentication-number-matching/</link><guid>https://signops.dev/blog/push-authentication-number-matching/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>What push authentication is, how MFA fatigue attacks beat it, why number matching stops them, and how it compares with an OTP.</description></item>
    <item><title>The RBI's 2025 authentication directions, for developers</title><link>https://signops.dev/blog/rbi-authentication-directions-2025/</link><guid>https://signops.dev/blog/rbi-authentication-directions-2025/</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>What the RBI's Authentication Mechanisms for Digital Payment Transactions Directions, 2025 ask of apps from 1 April 2026, and the alternatives to SMS OTP they name.</description></item>
</channel></rss>
