<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Prashant Nadarajan's Tech/Dev Blog]]></title><description><![CDATA[Your go-to destination for insights and expertise at the intersection of SaaS, Cybersecurity, Technology, and Software Engineering.]]></description><link>https://techdev.prashantrajan.com</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 00:00:47 GMT</lastBuildDate><atom:link href="https://techdev.prashantrajan.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How Popular Financial Apps Are Failing Your Security]]></title><description><![CDATA[As digital financial platforms become increasingly popular, users rely on apps like Coinbase, Venmo, Cash App, and Credit Karma to manage their finances, transfer money, and access sensitive personal information. With the rise in cyber threats, one w...]]></description><link>https://techdev.prashantrajan.com/how-popular-financial-apps-are-failing-your-security</link><guid isPermaLink="true">https://techdev.prashantrajan.com/how-popular-financial-apps-are-failing-your-security</guid><category><![CDATA[coinbase]]></category><category><![CDATA[venmo]]></category><category><![CDATA[cash app]]></category><category><![CDATA[biometrics]]></category><category><![CDATA[Security]]></category><dc:creator><![CDATA[Prashant Nadarajan]]></dc:creator><pubDate>Mon, 06 Jan 2025 03:51:35 GMT</pubDate><content:encoded><![CDATA[<p>As digital financial platforms become increasingly popular, users rely on apps like <a target="_blank" href="https://www.coinbase.com/">Coinbase</a>, <a target="_blank" href="https://venmo.com/">Venmo</a>, <a target="_blank" href="https://cash.app/">Cash App</a>, and <a target="_blank" href="https://www.creditkarma.com/">Credit Karma</a> to manage their finances, transfer money, and access sensitive personal information. With the rise in cyber threats, one would assume these apps prioritize robust security measures to safeguard their users. However, after examining the default security configurations of these widely-used apps as of January 2025, I discovered a concerning trend: their design choices actively weaken user security.</p>
<h3 id="heading-the-problem-weak-default-security-choices">The Problem: Weak Default Security Choices</h3>
<p>These financial apps often promote the use of biometric authentication, such as Face ID or Touch ID, as a convenient and secure way to access their services. However, the implementation of biometric security in these apps is flawed. Specifically:</p>
<ol>
<li><p><strong>Mandatory In-App Passcodes:</strong></p>
<ul>
<li><p>To enable Face ID or Touch ID within these apps, users are required to set up an additional, app-specific passcode—usually a simple 4-digit PIN.</p>
</li>
<li><p>This passcode is mandatory, and users cannot enable biometric authentication without first creating it.</p>
</li>
<li><p>Even after biometric authentication is set up, the 4-digit PIN remains active and cannot be disabled.</p>
</li>
</ul>
</li>
<li><p><strong>Biometric Authentication Bypass:</strong></p>
<ul>
<li><p>Once Face ID or Touch ID is enabled, users might assume their account is securely locked behind the biometric layer.</p>
</li>
<li><p>However, if the biometric prompt is dismissed or malfunctions, the app falls back to the in-app passcode instead of the user's primary account credentials (username and password).</p>
</li>
</ul>
</li>
<li><p><strong>Weakness of 4-Digit PINs:</strong></p>
<ul>
<li><p>A 4-digit PIN offers minimal security. With only 10,000 possible combinations, such PINs are far weaker than even the default security measures offered by iOS, which now supports 6-digit or longer custom numeric or alphanumeric passcodes.</p>
</li>
<li><p>This creates a significant vulnerability, as it provides a relatively simple way for an attacker to gain access to the app—especially if the device is lost or stolen.</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1736131343164/cd39e13f-7a3c-4896-8834-58ed34d61d81.gif" alt="Screen recording showing how easy it is to bypass the Face ID prompt" class="image--center mx-auto" /></p>
<h3 id="heading-why-is-this-a-problem">Why Is This a Problem?</h3>
<p>The reliance on an app-specific passcode undermines the security benefits of biometric authentication. Here’s why this design choice is problematic:</p>
<ol>
<li><p><strong>Redundant and Arbitrary Security Layers:</strong></p>
<ul>
<li>The introduction of a mandatory in-app passcode creates an additional security layer that users must remember, manage, and protect. This is unnecessary when the primary account already has a robust username and password combination.</li>
</ul>
</li>
<li><p><strong>Increased Attack Surface:</strong></p>
<ul>
<li><p>By falling back to a simple 4-digit PIN instead of the account’s username and password, the app effectively lowers its security standards.</p>
</li>
<li><p>For example, an attacker who gains physical access to a device only needs to bypass a weak 4-digit PIN to access sensitive financial data.</p>
</li>
</ul>
</li>
<li><p><strong>User Experience vs. Security Trade-Offs:</strong></p>
<ul>
<li><p>While the intention behind these design choices might be to enhance user convenience, they come at the cost of reduced security.</p>
</li>
<li><p>Users may not realize the implications of enabling biometric authentication without understanding how the fallback mechanisms work.</p>
</li>
</ul>
</li>
</ol>
<h3 id="heading-a-better-approach">A Better Approach</h3>
<p>There’s no valid reason for these apps to require an additional in-app passcode to use biometric authentication. A more secure and user-friendly implementation would include the following changes:</p>
<ol>
<li><p><strong>Fallback to Primary Credentials:</strong></p>
<ul>
<li>If biometric authentication fails or is dismissed, the app should fall back to the user’s primary account credentials (username and password) rather than a weaker in-app passcode.</li>
</ul>
</li>
<li><p><strong>Eliminate Mandatory In-App Passcodes:</strong></p>
<ul>
<li><p>Allow users to enable Face ID or Touch ID without requiring a separate app-specific passcode.</p>
</li>
<li><p>If an app-specific passcode is deemed necessary for certain features, it should support stronger options, such as 6-digit or alphanumeric passcodes, and remain optional for users who prefer to rely solely on biometric authentication.</p>
</li>
</ul>
</li>
<li><p><strong>Educate Users About Security:</strong></p>
<ul>
<li><p>Apps should provide clear explanations of their security mechanisms, including how biometric authentication works and what happens if it fails.</p>
</li>
<li><p>Users should be empowered to make informed decisions about their security settings without being forced into suboptimal configurations.</p>
</li>
</ul>
</li>
<li><p><strong>Learn From Better Implementations:</strong></p>
<ul>
<li>The <a target="_blank" href="https://www.schwab.com/">Schwab</a>, <a target="_blank" href="https://www.fidelity.com/">Fidelity</a>, <a target="_blank" href="https://www.chase.com/">Chase</a>, and <a target="_blank" href="https://www.citi.com/">Citi</a> apps serve as excellent examples of secure biometric implementations. These apps do not require a custom in-app PIN and correctly fall back to the service’s username/password if biometric authentication fails.</li>
</ul>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1736133475988/d5a13c57-1fdd-4526-8643-ff6947af8f7f.gif" alt="Screen recording showing how the Schwab app implements a secure fallback when Face ID is dismissed" class="image--center mx-auto" /></p>
<h3 id="heading-protecting-yourself-until-change-happens">Protecting Yourself Until Change Happens</h3>
<p>Until these apps change their defaults, users can protect themselves by taking proactive measures. For instance, <a target="_blank" href="https://support.apple.com/guide/iphone/lock-or-hide-or-an-app-iph00f208d05/ios">iOS 18’s Lock App</a> feature can add an extra layer of protection to these apps. Users should pair this feature with a custom-length numeric or alphanumeric iOS passcode for stronger security.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1736137527742/e0f4efce-01cb-4bc6-b44c-9dba0a4d9f55.gif" alt="Screen recording showing how to use iOS 18's Lock App functionality to protect apps" class="image--center mx-auto" /></p>
<h3 id="heading-the-broader-implications">The Broader Implications</h3>
<p>The security flaws highlighted here are not just theoretical; they have real-world implications for the safety of users’ financial and personal data. As financial apps continue to grow in popularity, they become increasingly attractive targets for attackers. By prioritizing convenience over security, these apps put their users at unnecessary risk.</p>
<p>Developers of financial platforms must recognize that user trust is paramount. Strong security measures are not optional; they are a fundamental requirement for any app handling sensitive financial data. It is time for these apps to revisit their security architectures and adopt practices that truly protect their users.</p>
<h3 id="heading-final-thoughts">Final Thoughts</h3>
<p>As users, we must remain vigilant and critical of the tools we use to manage our finances. While biometric authentication is a powerful and convenient tool, its implementation must be done correctly to deliver on its promise of enhanced security. By demanding better security practices from app developers, we can push for a safer digital ecosystem for everyone.</p>
<h4 id="heading-update-february-13-2025">Update (February 13, 2025)</h4>
<p>Venmo has now fixed this flaw within their iOS app. As of February 13, users can enable Face ID independently of the in-app passcode. If Face ID fails, the app will now prompt users to sign out instead of falling back to the weaker in-app PIN. This is a welcome improvement, and hopefully, other financial apps will follow suit to enhance security.</p>
]]></content:encoded></item><item><title><![CDATA[Are Passwordless Logins with Magic Links Appropriate for SaaS Apps?]]></title><description><![CDATA[In recent years, passwordless authentication methods have gained significant traction. This topic has been on my mind since reading We Don’t Want Your Password, which explores the growing trend of passwordless systems and their implications. Among th...]]></description><link>https://techdev.prashantrajan.com/are-passwordless-logins-with-magic-links-appropriate-for-saas-apps</link><guid isPermaLink="true">https://techdev.prashantrajan.com/are-passwordless-logins-with-magic-links-appropriate-for-saas-apps</guid><category><![CDATA[cybersecurity]]></category><category><![CDATA[passkeys]]></category><category><![CDATA[passwords]]></category><category><![CDATA[SaaS]]></category><dc:creator><![CDATA[Prashant Nadarajan]]></dc:creator><pubDate>Fri, 03 Jan 2025 02:00:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/SpVHcbuKi6E/upload/99b878061b4b89edc62dba844c905c05.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In recent years, passwordless authentication methods have gained significant traction. This topic has been on my mind since reading <a target="_blank" href="https://www.404media.co/we-dont-want-your-password-3/">We Don’t Want Your Password</a>, which explores the growing trend of passwordless systems and their implications. Among these methods, magic links—login links sent to a user's email—have emerged as a popular choice for many SaaS applications. <a target="_blank" href="https://hashnode.com/">Hashnode</a> (this blog’s host), for example, is one such SaaS platform that relies on magic link-based authentication, foregoing the traditional username/password approach. Proponents tout magic links as secure, user-friendly, and modern. However, there are critical user experience (UX) and security considerations that SaaS providers must evaluate before committing solely to magic link-based authentication.</p>
<p>While magic links may work well for certain use cases, relying on them exclusively may not be appropriate for many SaaS applications. Here’s a detailed exploration of their benefits and limitations, and why alternatives such as passkeys or traditional username-password combinations (augmented by password managers) might offer a more balanced approach.</p>
<hr />
<h2 id="heading-the-benefits-of-magic-links">The Benefits of Magic Links</h2>
<ol>
<li><p><strong>Simplicity for the User</strong>: Magic links eliminate the need to remember passwords. Instead, users simply provide their email address and receive a one-time link to log in.</p>
</li>
<li><p><strong>Improved Security Over Weak Passwords</strong>: Since magic links bypass the traditional username-password paradigm, they also bypass issues like users creating weak or reused passwords—a common vulnerability in traditional authentication methods.</p>
</li>
<li><p><strong>No Password Management for SaaS Providers</strong>: Developers don’t need to store or hash passwords, reducing the attack surface for potential breaches. Compromised password databases are a common target for attackers, so avoiding them altogether is a security win.</p>
</li>
<li><p><strong>Ease of Implementation</strong>: For SaaS providers, magic links can be relatively simple to implement, requiring integration with an email service and session management system.</p>
</li>
</ol>
<hr />
<h2 id="heading-the-drawbacks-of-magic-links">The Drawbacks of Magic Links</h2>
<h3 id="heading-1-disrupted-user-experience-context-switching">1. <strong>Disrupted User Experience (Context Switching)</strong></h3>
<p>Logging in with magic links introduces an unavoidable context switch for the user. To authenticate, the user must:</p>
<ul>
<li><p>Leave the SaaS application.</p>
</li>
<li><p>Open their email application.</p>
</li>
<li><p>Locate the email with the magic link.</p>
</li>
<li><p>Click the link, which redirects them back to the SaaS application.</p>
</li>
</ul>
<p>This process creates friction, especially for users who access their email on a different device or who manage multiple email accounts. Contrast this with entering a password—a single, uninterrupted flow within the app.</p>
<h3 id="heading-2-dependency-on-email-reliability">2. <strong>Dependency on Email Reliability</strong></h3>
<p>Magic links rely entirely on the email infrastructure. However, email delivery can be delayed due to server issues, spam filtering, or other factors. These delays can frustrate users, particularly when they’re in a time-sensitive situation. Additionally, users who lack immediate access to their email (e.g., due to connectivity issues) are completely blocked from logging in.</p>
<h3 id="heading-3-password-managers-have-improved-traditional-authentication">3. <strong>Password Managers Have Improved Traditional Authentication</strong></h3>
<p>Password managers are now widely available and integrated across devices, browsers, and operating systems. These tools allow users to securely store and autofill strong, unique passwords, effectively mitigating the usability and security concerns of traditional password-based authentication. However, it’s important to note that password managers are still not widely adopted by the general public, which may limit their effectiveness as a universal solution. By solely using magic links, SaaS providers fail to leverage these advancements.</p>
<h3 id="heading-4-passkeys-a-more-user-friendly-passwordless-alternative">4. <strong>Passkeys: A More User-Friendly Passwordless Alternative</strong></h3>
<p><a target="_blank" href="https://fidoalliance.org/passkeys/">Passkeys</a>, which leverage public key cryptography and are implemented using standards like <a target="_blank" href="https://en.wikipedia.org/wiki/WebAuthn">WebAuthn</a>, provide a seamless and secure login experience without requiring passwords. Unlike magic links, passkeys don’t require the user to leave the application to authenticate. Instead, users can log in with biometrics or device-based authentication mechanisms that are fast, reliable, and increasingly supported across modern devices and browsers. However, it’s important to note that current implementations of passkeys, such as those by Apple, Google, and 1Password, may be overly confusing for the average user, potentially limiting their widespread adoption.</p>
<h3 id="heading-5-potential-security-risks-of-magic-links">5. <strong>Potential Security Risks of Magic Links</strong></h3>
<ul>
<li><p><strong>Email Account Security</strong>: The security of magic links is entirely dependent on the user’s email account. If an attacker gains access to the user’s email, they can easily exploit magic links to access the SaaS application.</p>
</li>
<li><p><strong>Phishing Vulnerabilities</strong>: Since magic links often resemble legitimate emails, they can be mimicked by attackers to conduct phishing campaigns. Users trained to expect magic link emails might inadvertently click on malicious links.</p>
</li>
</ul>
<hr />
<h2 id="heading-when-magic-links-might-be-appropriate">When Magic Links Might Be Appropriate</h2>
<p>Magic links can be a good fit for specific scenarios, including:</p>
<ul>
<li><p><strong>Casual or Low-Stakes Applications</strong>: For apps where the risk of account compromise is minimal (e.g., newsletters or personal hobby apps), magic links might provide a simple and acceptable user experience.</p>
</li>
<li><p><strong>Temporary or Guest Access</strong>: Magic links work well for users who only need occasional or one-time access to an application.</p>
</li>
</ul>
<p>However, for SaaS apps handling sensitive data or requiring frequent logins (e.g., enterprise software, financial tools, or collaboration platforms), relying solely on magic links is unlikely to meet user expectations or security requirements.</p>
<hr />
<h2 id="heading-a-balanced-approach-to-authentication">A Balanced Approach to Authentication</h2>
<p>Rather than exclusively implementing magic links, SaaS providers should consider offering a mix of authentication methods to cater to diverse user needs. Here are some recommendations:</p>
<ol>
<li><p><strong>Support Password Managers and Strong Passwords</strong> Allow users to create and manage passwords while encouraging (or even requiring) strong password policies. Make the experience seamless by ensuring compatibility with password managers.</p>
</li>
<li><p><strong>Implement Passkeys</strong> Passkeys provide a modern, passwordless experience that’s both user-friendly and secure. By adopting passkeys, SaaS providers can future-proof their authentication systems.</p>
</li>
<li><p><strong>Offer Magic Links as an Option</strong> Magic links can complement other authentication methods, providing an alternative for users who prefer them or as a backup mechanism for password recovery.</p>
</li>
<li><p><strong>Enhance Email Security</strong> If using magic links, SaaS providers should implement safeguards such as:</p>
<ul>
<li><p>Short expiration times for links.</p>
</li>
<li><p>Clear instructions to verify the legitimacy of the email.</p>
</li>
<li><p>Encouraging users to enable multi-factor authentication (MFA) for their email accounts.</p>
</li>
</ul>
</li>
</ol>
<hr />
<h2 id="heading-conclusion">Conclusion</h2>
<p>Passwordless authentication with magic links has its merits, but it is far from a one-size-fits-all solution. SaaS providers must weigh the trade-offs between simplicity, security, and user experience. In many cases, offering a range of authentication options—including passkeys and password manager-friendly systems—will better serve users while maintaining robust security.</p>
<p>As the landscape of authentication continues to evolve, SaaS providers should stay informed about emerging standards and user preferences. By prioritizing flexibility and security, they can deliver an authentication experience that meets the needs of all users.</p>
]]></content:encoded></item></channel></rss>