<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Clerk Blog</title>
  <subtitle>The latest in product launches and feature updates from Clerk</subtitle>
  <rights>Copyright 2026 Clerk Inc.</rights>
  <link rel="self" type="application/atom+xml" href="https://clerk.com/blog/atom.xml" />
  <link rel="alternate" type="text/html" href="https://clerk.com/blog" />
  <updated>2026-09-22T00:00:00.000Z</updated>
  <id>https://clerk.com/blog</id>
  <entry>
  <id>https://clerk.com/blog/giving-customers-a-free-subscription-period</id>
  <title>Giving customers a free subscription period</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/giving-customers-a-free-subscription-period" />
  <updated>2026-08-18T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>When to use a free trial, a 100% Discount, or a $0 complimentary price in Clerk Billing, and what each option means for conversion and ongoing management.</p><p><a href="https://clerk.com/blog/giving-customers-a-free-subscription-period">Read more</a></p></div>
  </content>
  <author><name>Maurício Antunes</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/adding-clerk-auth-to-your-cli</id>
  <title>Adding Clerk auth to your CLI</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/adding-clerk-auth-to-your-cli" />
  <updated>2026-06-04T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A practical OAuth 2.0 + PKCE localhost-callback pattern for authenticating CLI users with Clerk.</p><p><a href="https://clerk.com/blog/adding-clerk-auth-to-your-cli">Read more</a></p></div>
  </content>
  <author><name>Railly Hugo</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-blog-with-trpc-drizzle-nextjs-clerk</id>
  <title>Build a blog with tRPC, Drizzle, Next.js and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-blog-with-trpc-drizzle-nextjs-clerk" />
  <updated>2026-06-02T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to work with tRPC, Drizzle, Next.js, and Clerk by building a secure blog application</p><p><a href="https://clerk.com/blog/build-a-blog-with-trpc-drizzle-nextjs-clerk">Read more</a></p></div>
  </content>
  <author><name>Alexis Aguilar</name></author>
<author><name>Roy Anger</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-deploy</id>
  <title>Going to production with Clerk Deploy</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-deploy" />
  <updated>2026-05-29T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Take a Clerk app to production with a single, resumable command, all from your terminal.</p><p><a href="https://clerk.com/blog/clerk-deploy">Read more</a></p></div>
  </content>
  <author><name>Nicolas Angelo</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-init</id>
  <title>Clerk Init: The fastest way to start a new project</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-init" />
  <updated>2026-05-11T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Bootstrap a new project in seconds using Clerk CLI<code>s </code>init` command</p><p><a href="https://clerk.com/blog/clerk-init">Read more</a></p></div>
  </content>
  <author><name>Nicolas Angelo</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/introducing-clerk-cli</id>
  <title>Introducing Clerk CLI</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/introducing-clerk-cli" />
  <updated>2026-04-22T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>The Clerk CLI gives your coding agents auth superpowers</p><p><a href="https://clerk.com/blog/introducing-clerk-cli">Read more</a></p></div>
  </content>
  <author><name>Nicolas Angelo</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/middleware-based-route-protection-bypass</id>
  <title>Middleware-based route protection bypass</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/middleware-based-route-protection-bypass" />
  <updated>2026-04-15T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A CVE has been released for a middleware-based route protection bypass affecting applications using createRouteMatcher in middleware or proxy.</p><p><a href="https://clerk.com/blog/middleware-based-route-protection-bypass">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/2026-03-10-service-outage-postmortem</id>
  <title>Postmortem: Clerk System Outage (March 10, 2026)</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/2026-03-10-service-outage-postmortem" />
  <updated>2026-03-13T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A detailed postmortem of the outage on March 10, 2026, including timeline, root cause analysis, and remediations.</p><p><a href="https://clerk.com/blog/2026-03-10-service-outage-postmortem">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/2026-03-03-clerk-for-the-ai-era</id>
  <title>Clerk for the AI era</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/2026-03-03-clerk-for-the-ai-era" />
  <updated>2026-03-03T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>We're doubling down on making Clerk composable by default, with clear APIs and tools that work as well for human developers as they do for agents.</p><p><a href="https://clerk.com/blog/2026-03-03-clerk-for-the-ai-era">Read more</a></p></div>
  </content>
  <author><name>Bryce Kalow</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/add-api-key-support-to-your-saas-with-clerk</id>
  <title>Add API Key support to your SaaS in minutes</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/add-api-key-support-to-your-saas-with-clerk" />
  <updated>2026-02-27T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to implement multi-tenant API Key functionality in your SaaS platform without the complexity.</p><p><a href="https://clerk.com/blog/add-api-key-support-to-your-saas-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Nicolas Angelo</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/2026-02-19-system-outage-postmortem</id>
  <title>Postmortem: Clerk System Outage (February 19, 2026)</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/2026-02-19-system-outage-postmortem" />
  <updated>2026-02-19T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A detailed post-mortem of the system outage that occurred on February 19, 2026, including root cause analysis and planned remediations.
</p><p><a href="https://clerk.com/blog/2026-02-19-system-outage-postmortem">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/2026-02-10-dns-outage-postmortem</id>
  <title>Postmortem: DNS Provider Outage (February 10, 2026)</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/2026-02-10-dns-outage-postmortem" />
  <updated>2026-02-10T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A detailed post-mortem of the DNS provider outage that occurred on February 10, 2026, including impact analysis and planned remediations.
</p><p><a href="https://clerk.com/blog/2026-02-10-dns-outage-postmortem">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-do-i-implement-passkeys-in-nextjs</id>
  <title>How do I implement passkeys in Next.js?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-do-i-implement-passkeys-in-nextjs" />
  <updated>2025-12-09T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how passkeys enable passwordless authentication with phishing-resistant cryptography. This tutorial walks through a complete Next.js WebAuthn implementation, covering registration and authentication flows.</p><p><a href="https://clerk.com/blog/how-do-i-implement-passkeys-in-nextjs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-ranked-4-fastest-growing-software-vendor-by-ramp</id>
  <title>Clerk ranked #4 fastest-growing software vendor on Ramp’s December 2025 list</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-ranked-4-fastest-growing-software-vendor-by-ramp" />
  <updated>2025-12-04T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Recognition highlights Clerk’s rapid customer adoption</p><p><a href="https://clerk.com/blog/clerk-ranked-4-fastest-growing-software-vendor-by-ramp">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-do-i-handle-jwt-verification-in-nextjs</id>
  <title>How do I handle JWT verification in Next.js?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-do-i-handle-jwt-verification-in-nextjs" />
  <updated>2025-10-16T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn all about JWTs: what they are, how they are created, and how to verify them in a Next.js application</p><p><a href="https://clerk.com/blog/how-do-i-handle-jwt-verification-in-nextjs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/series-c</id>
  <title>Committing to Agent Identity: Clerk raises $50m Series C from Menlo and Anthropic’s Anthology Fund</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/series-c" />
  <updated>2025-10-15T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Funding will be used to advance Agent Identity, expand products, and elevate developer experience.</p><p><a href="https://clerk.com/blog/series-c">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
<author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/best-auth-nextjs-app-router</id>
  <title>What is the best way to handle authentication in Next.js App Router?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/best-auth-nextjs-app-router" />
  <updated>2025-09-26T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn about the various authentication options available when using Next.js app router, and how to properly secure access to protected areas of your application.</p><p><a href="https://clerk.com/blog/best-auth-nextjs-app-router">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/2025-09-18-database-incident-postmortem</id>
  <title>Postmortem: Database Incident (September 14–18, 2025)</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/2025-09-18-database-incident-postmortem" />
  <updated>2025-09-18T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A detailed post-mortem of the database incident that occurred between September 14-18, 2025, including root cause analysis, timeline, and remediation steps.
</p><p><a href="https://clerk.com/blog/2025-09-18-database-incident-postmortem">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
<author><name>Braden Sidoti</name></author>
<author><name>Brandon Romano</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-add-authentication-to-a-nextjs-application</id>
  <title>How do I add authentication to a Next.js app?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-add-authentication-to-a-nextjs-application" />
  <updated>2025-09-15T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how Next.js authentication works by implementing JWTs from scratch, including user registration, sign-in/sign-out functionality, and middleware protection.</p><p><a href="https://clerk.com/blog/how-to-add-authentication-to-a-nextjs-application">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/introducing-free-trials-in-clerk-billing</id>
  <title>Introducing Free Trials in Clerk Billing</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/introducing-free-trials-in-clerk-billing" />
  <updated>2025-09-02T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk Billing now supports free trials to help developers boost conversion rates and reduce buyer friction.</p><p><a href="https://clerk.com/blog/introducing-free-trials-in-clerk-billing">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/postmortem-aug-28-2025-elevated-latency-errors</id>
  <title>Postmortem: August 28, 2025 - elevated API latency and errors</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/postmortem-aug-28-2025-elevated-latency-errors" />
  <updated>2025-08-28T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>On August 28, 2025, a credential stuffing attack caused elevated API latency and errors. This postmortem details the impact, root cause, and remediations.</p><p><a href="https://clerk.com/blog/postmortem-aug-28-2025-elevated-latency-errors">Read more</a></p></div>
  </content>
  <author><name>Alex Ntousias</name></author>
<author><name>Agis Anastasopoulos</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/introducing-mosaic-bring-your-brand-to-every-authentication-flow</id>
  <title>Introducing Mosaic: Bring Your Brand to Every Authentication Flow</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/introducing-mosaic-bring-your-brand-to-every-authentication-flow" />
  <updated>2025-08-20T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Introducing Mosaic, our new Figma design system that mirrors every Clerk UI component. Design and prototype auth flows that look and feel like your product before writing a single line of code.</p><p><a href="https://clerk.com/blog/introducing-mosaic-bring-your-brand-to-every-authentication-flow">Read more</a></p></div>
  </content>
  <author><name>Jeremy Sallee</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/multi-tenant-authentication-what-you-need-to-know</id>
  <title>Multi-tenant authentication: What you need to know (and how Clerk helps)</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/multi-tenant-authentication-what-you-need-to-know" />
  <updated>2025-08-20T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn what multi-tenant authentication is, common pitfalls and use cases, and how Clerk can help simplify implementation.</p><p><a href="https://clerk.com/blog/multi-tenant-authentication-what-you-need-to-know">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-are-the-risks-and-challenges-of-multi-tenancy</id>
  <title>What are the risks and challenges of multi-tenancy?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-are-the-risks-and-challenges-of-multi-tenancy" />
  <updated>2025-08-20T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Multi-tenancy offers scalability benefits but requires careful design for tenant isolation, performance, and compliance. Learn about five potential caveats when implementing multi-tenancy in your B2B applications.</p><p><a href="https://clerk.com/blog/what-are-the-risks-and-challenges-of-multi-tenancy">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/resilience-in-practice-regional-failover</id>
  <title>Resilience in Practice: Regional Failover at Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/resilience-in-practice-regional-failover" />
  <updated>2025-08-18T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>See how Clerk's new regional failover kept services running during a cloud provider outage.</p><p><a href="https://clerk.com/blog/resilience-in-practice-regional-failover">Read more</a></p></div>
  </content>
  <author><name>Clerk</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-cross-platform-b2b-app-expo-supabase</id>
  <title>Build a Cross-Platform B2B App with Clerk, Expo, and Supabase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-cross-platform-b2b-app-expo-supabase" />
  <updated>2025-08-07T12:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to add multi-tenancy to your React Native &amp; Expo app using Clerk and Supabase.</p><p><a href="https://clerk.com/blog/build-a-cross-platform-b2b-app-expo-supabase">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/highlights-midudev-clerk-hackathon</id>
  <title>Highlights from the MiduDev/Clerk Hackathon</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/highlights-midudev-clerk-hackathon" />
  <updated>2025-08-07T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Explore the top 5 projects from the MiduDev/Clerk Hackathon, showcasing creativity, technical skills, and community engagement.</p><p><a href="https://clerk.com/blog/highlights-midudev-clerk-hackathon">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/using-clerk-in-a-react-native-app</id>
  <title>Using Clerk in a React Native app</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/using-clerk-in-a-react-native-app" />
  <updated>2026-02-12T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Build a cross-platform time tracking app from scratch with React Native and Expo, implement secure authentication with Clerk, and set up data storage using Supabase.</p><p><a href="https://clerk.com/blog/using-clerk-in-a-react-native-app">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/multi-tenancy-clerk-lovable</id>
  <title>Add multi-tenancy to an app built with Clerk, Lovable, and Supabase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/multi-tenancy-clerk-lovable" />
  <updated>2025-07-11T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to transform your single-user app into a team-ready B2B platform using Clerk Organizations with Lovable and Supabase.</p><p><a href="https://clerk.com/blog/multi-tenancy-clerk-lovable">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-app-with-lovable-supabase-clerk</id>
  <title>How to build an AI coding rules app with Clerk, Lovable, and Supabase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-app-with-lovable-supabase-clerk" />
  <updated>2025-07-03T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to vibe code a secure app with Clerk, Lovable, and Supabase</p><p><a href="https://clerk.com/blog/build-app-with-lovable-supabase-clerk">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-build-multitenant-authentication-with-clerk</id>
  <title>How to Build Multi-Tenant Authentication with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-build-multitenant-authentication-with-clerk" />
  <updated>2025-06-27T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Multi-tenancy is one of those architectural decisions that pays off early and compounds over time. Clerk enables you to build multi-tenant authentication with ease.</p><p><a href="https://clerk.com/blog/how-to-build-multitenant-authentication-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/multi-tenant-vs-single-tenant</id>
  <title>Choosing the right SaaS architecture: Multi-Tenant vs. Single-Tenant</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/multi-tenant-vs-single-tenant" />
  <updated>2025-06-27T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>What's the difference between multi-tenant and single-tenant SaaS architecture? This guide breaks down the pros, cons, and use cases of each model—so you can choose the right B2B SaaS architecture for your app. Learn how multi-tenancy scales efficiently, when single-tenancy is the better fit, and which modern tools make tenant isolation easier than ever.</p><p><a href="https://clerk.com/blog/multi-tenant-vs-single-tenant">Read more</a></p></div>
  </content>
  <author><name>Alex Rapp</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/postmortem-jun-26-2025-service-outage</id>
  <title>Postmortem: June 26, 2025 service outage</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/postmortem-jun-26-2025-service-outage" />
  <updated>2025-06-26T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn more about our service outage, including the timeline of events and our next steps.</p><p><a href="https://clerk.com/blog/postmortem-jun-26-2025-service-outage">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
<author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-design-multitenant-saas-architecture</id>
  <title>How to Design a Multi-Tenant SaaS Architecture</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-design-multitenant-saas-architecture" />
  <updated>2025-06-18T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to design a multi-tenant SaaS architecture that scales from your first 10 users to your next 10,000.</p><p><a href="https://clerk.com/blog/how-to-design-multitenant-saas-architecture">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-is-multi-tenancy-and-why-it-matters-for-b2b-saas</id>
  <title>What is multi-tenancy and why it matters for B2B SaaS</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-is-multi-tenancy-and-why-it-matters-for-b2b-saas" />
  <updated>2025-06-17T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn what multi-tenancy is, why it matters for B2B SaaS apps, and how it shapes your architecture decisions.</p><p><a href="https://clerk.com/blog/what-is-multi-tenancy-and-why-it-matters-for-b2b-saas">Read more</a></p></div>
  </content>
  <author><name>Isaac Ejeh</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-oauth-works</id>
  <title>How OAuth Works</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-oauth-works" />
  <updated>2025-06-13T22:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A practical guide to OAuth Scoped Access that walks through the Authorization Code Flow with real code examples, security best practices, and clear explanations of how third-party app integrations actually work.</p><p><a href="https://clerk.com/blog/how-oauth-works">Read more</a></p></div>
  </content>
  <author><name>Jeff Escalante</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/sync-clerk-user-data-to-supabase</id>
  <title>Synchronize user data from Clerk to Supabase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/sync-clerk-user-data-to-supabase" />
  <updated>2025-06-06T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to synchronize user data from Clerk to Supabase with webhooks and Supabase Functions</p><p><a href="https://clerk.com/blog/sync-clerk-user-data-to-supabase">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/add-subscriptions-to-your-saas-with-clerk-billing</id>
  <title>Add subscriptions to your SaaS with Clerk Billing</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/add-subscriptions-to-your-saas-with-clerk-billing" />
  <updated>2025-05-20T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to quickly monetize your SaaS with subscriptions powered by Clerk Billing.</p><p><a href="https://clerk.com/blog/add-subscriptions-to-your-saas-with-clerk-billing">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/intro-to-clerk-billing</id>
  <title>Getting started with Clerk Billing</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/intro-to-clerk-billing" />
  <updated>2025-05-14T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to build a complete billing experience with Clerk and Stripe, from subscriptions and usage-based pricing to role-based access—no custom UI or webhooks required.</p><p><a href="https://clerk.com/blog/intro-to-clerk-billing">Read more</a></p></div>
  </content>
  <author><name>Alex Rapp</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/tinybird-and-clerk</id>
  <title>Multi-tenant analytics with Tinybird and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/tinybird-and-clerk" />
  <updated>2025-05-02T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How to use Clerk's Tinybird JWT template to secure Tinybird APIs for fast, easy, and secure user-facing analytics in your multi-tenant application.</p><p><a href="https://clerk.com/blog/tinybird-and-clerk">Read more</a></p></div>
  </content>
  <author><name>Cameron Archer</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/huntr-testimonial</id>
  <title>How Huntr Migrated 250K Users to Clerk: A Scalable Auth Solution for Startups</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/huntr-testimonial" />
  <updated>2025-05-01T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Huntr shares how migrating to Clerk gave them transparent pricing, responsive support, and a developer-first experience.</p><p><a href="https://clerk.com/blog/huntr-testimonial">Read more</a></p></div>
  </content>
  <author><name>Sam Wright</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-take-clerk-to-production</id>
  <title>How to take Clerk to Production</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-take-clerk-to-production" />
  <updated>2025-04-25T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Step-by-step guide for developers to launch a Clerk app in a production environment with a custom domain, OAuth credentials, and secure DNS configuration.</p><p><a href="https://clerk.com/blog/how-to-take-clerk-to-production">Read more</a></p></div>
  </content>
  <author><name>Alex Rapp</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-take-your-clerk-app-to-prod</id>
  <title>How to take your Clerk application to production</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-take-your-clerk-app-to-prod" />
  <updated>2025-04-25T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to launch your app with a production instance of Clerk to maximize security and user limits.</p><p><a href="https://clerk.com/blog/how-to-take-your-clerk-app-to-prod">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/testing-clerk-nextjs</id>
  <title>A practical guide to testing Clerk Next.js applications</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/testing-clerk-nextjs" />
  <updated>2025-04-11T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>An example-packed guide to writing effective tests for Clerk applications, covering everything from integration testing with React Testing Library to end-to-end testing using Playwright.</p><p><a href="https://clerk.com/blog/testing-clerk-nextjs">Read more</a></p></div>
  </content>
  <author><name>Lily Barrett</name></author>
<author><name>Alex Booker</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/multitenancy-clerk-supabase-b2b</id>
  <title>Implementing multi-tenancy into a Supabase app with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/multitenancy-clerk-supabase-b2b" />
  <updated>2025-03-31T00:02:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to build B2B applications with Clerk and Supabase.</p><p><a href="https://clerk.com/blog/multitenancy-clerk-supabase-b2b">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-clerk-integrates-nextjs-supabase</id>
  <title>How Clerk integrates with a Next.js application using Supabase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-clerk-integrates-nextjs-supabase" />
  <updated>2025-03-31T00:01:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how Supabase works with Next.js to increase security and reduce development hours, and how Clerk integrates with this stack.</p><p><a href="https://clerk.com/blog/how-clerk-integrates-nextjs-supabase">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-clerk-integrates-with-supabase-auth</id>
  <title>How Clerk integrates with Supabase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-clerk-integrates-with-supabase-auth" />
  <updated>2025-03-31T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how Supabase Auth works and how Clerk can provide more capabilities in less time.</p><p><a href="https://clerk.com/blog/how-clerk-integrates-with-supabase-auth">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/cve-2025-29927</id>
  <title>Next.js CVE-2025-29927</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/cve-2025-29927" />
  <updated>2025-03-23T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>On March 21, 2025, Next.js disclosed a critical security vulnerability, CVE-2025-29927, that may impact your application.</p><p><a href="https://clerk.com/blog/cve-2025-29927">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
<author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-blog-with-trpc-prisma-nextjs-clerk</id>
  <title>Build a blog with tRPC, Prisma, Next.js and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-blog-with-trpc-prisma-nextjs-clerk" />
  <updated>2025-03-14T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to work with tRPC, Prisma, Next.js, and Clerk by building a secure blog application</p><p><a href="https://clerk.com/blog/build-a-blog-with-trpc-prisma-nextjs-clerk">Read more</a></p></div>
  </content>
  <author><name>Alexis Aguilar</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/posthog-events-with-clerk</id>
  <title>How to enrich PostHog events with Clerk user data</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/posthog-events-with-clerk" />
  <updated>2025-02-28T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to enrich PostHog events with Clerk user data to better understand your users and their actions on your website.</p><p><a href="https://clerk.com/blog/posthog-events-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-secure-project-management-nextjs</id>
  <title>How to build a secure project management platform with Next.js, Clerk, and Neon</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-secure-project-management-nextjs" />
  <updated>2025-02-20T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn a security-first approach to building web applications by building a secure project management platform with Next.js.</p><p><a href="https://clerk.com/blog/build-secure-project-management-nextjs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/validate-saas</id>
  <title>Validate your SaaS idea while building an audience</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/validate-saas" />
  <updated>2025-02-14T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to validate a new SaaS idea with a Clerk waitlist and Loops newsletter.</p><p><a href="https://clerk.com/blog/validate-saas">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/postmortem-feb-6-2025-service-outage</id>
  <title>Postmortem: February 6, 2025 service outage</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/postmortem-feb-6-2025-service-outage" />
  <updated>2025-02-11T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn more about our service outage, including the timeline of events and our remediations.</p><p><a href="https://clerk.com/blog/postmortem-feb-6-2025-service-outage">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
<author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-role-based-access-control</id>
  <title>Implement Role-Based Access Control in Next.js 15</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-role-based-access-control" />
  <updated>2025-02-07T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn Role-Based Access Control (RBAC) by building a complete Q&amp;A platform.</p><p><a href="https://clerk.com/blog/nextjs-role-based-access-control">Read more</a></p></div>
  </content>
  <author><name>Ankur Tyagi</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-sign-up-form</id>
  <title>Build a Next.js sign-up form with React Hook Form</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-sign-up-form" />
  <updated>2025-02-04T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to capture user credentials and save them securely with Argon2 password hashing.</p><p><a href="https://clerk.com/blog/nextjs-sign-up-form">Read more</a></p></div>
  </content>
  <author><name>Alex Booker</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/building-a-nextjs-login-page-template</id>
  <title>Build a Next.js login page template</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/building-a-nextjs-login-page-template" />
  <updated>2025-01-31T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to implement session-based authentication into a Next.js application from scratch.</p><p><a href="https://clerk.com/blog/building-a-nextjs-login-page-template">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-google-authentication</id>
  <title>How to implement Google authentication in Next.js 15</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-google-authentication" />
  <updated>2025-01-24T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to add Google authentication to your Next.js app, implement a user button for profile management, and enable Google One Tap using Clerk.</p><p><a href="https://clerk.com/blog/nextjs-google-authentication">Read more</a></p></div>
  </content>
  <author><name>Alex Booker</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-is-middleware-in-nextjs</id>
  <title>What is middleware in Next.js?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-is-middleware-in-nextjs" />
  <updated>2025-01-16T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn all about middleware in Next.js and how it works, as well as some of its common use cases, in this comprehensive guide.</p><p><a href="https://clerk.com/blog/what-is-middleware-in-nextjs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-customize-nextjs-metadata</id>
  <title>How to customize Next.js metadata</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-customize-nextjs-metadata" />
  <updated>2025-01-09T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn all about metadata and how to set it in your Next.js application</p><p><a href="https://clerk.com/blog/how-to-customize-nextjs-metadata">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-set-environment-variables-in-nodejs</id>
  <title>How to set environment variables in Node.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-set-environment-variables-in-nodejs" />
  <updated>2024-12-27T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Explore the best practices and techniques you can use to set environment variables in Node.js, ensuring your app runs smoothly across different environments.</p><p><a href="https://clerk.com/blog/how-to-set-environment-variables-in-nodejs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/building-a-react-login-page-template</id>
  <title>Building a React Login Page Template</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/building-a-react-login-page-template" />
  <updated>2024-12-20T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how session-based authentication works and how to implement it in a React app with Express.</p><p><a href="https://clerk.com/blog/building-a-react-login-page-template">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/implement-per-user-oauth-with-clerk</id>
  <title>How to implement per-user OAuth scopes with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/implement-per-user-oauth-with-clerk" />
  <updated>2024-12-13T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to implement per-user OAuth scopes with Clerk.</p><p><a href="https://clerk.com/blog/implement-per-user-oauth-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/using-clerk-sso-access-google-calendar</id>
  <title>Using Clerk SSO to access Google Calendar and other service data</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/using-clerk-sso-access-google-calendar" />
  <updated>2024-12-06T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to use Clerk to access data on behalf of the current user to request their availability from Google Calendar using an open-source, live demo application.</p><p><a href="https://clerk.com/blog/using-clerk-sso-access-google-calendar">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/streamline-enterprise-onboarding-saml</id>
  <title>Streamline enterprise customer onboarding with SAML and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/streamline-enterprise-onboarding-saml" />
  <updated>2024-11-26T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to automatically enroll new users into your SAML-enabled enterprise customers.</p><p><a href="https://clerk.com/blog/streamline-enterprise-onboarding-saml">Read more</a></p></div>
  </content>
  <author><name>Jakob Evangelista</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-launches-easio-sso-and-drops-all-sso-fees</id>
  <title>Clerk launches EASIE SSO and eliminates SSO fees</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-launches-easio-sso-and-drops-all-sso-fees" />
  <updated>2024-11-20T09:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>EASIE SSO brings Clerk’s signature simplicity to a notoriously agonizing corner of authentication.</p><p><a href="https://clerk.com/blog/clerk-launches-easio-sso-and-drops-all-sso-fees">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/secure-liveblocks-rooms-clerk-nextjs</id>
  <title>How to secure Liveblocks Rooms with Clerk in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/secure-liveblocks-rooms-clerk-nextjs" />
  <updated>2024-11-19T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to use Clerk user data to secure access to rooms in Liveblocks.</p><p><a href="https://clerk.com/blog/secure-liveblocks-rooms-clerk-nextjs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/securing-node-express-apis-clerk-react</id>
  <title>Securing Node.js Express APIs with Clerk and React</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/securing-node-express-apis-clerk-react" />
  <updated>2024-09-26T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this guide, we will cover how to use Clerk with Express to authenticate API requests using ClerkExpressWithAuth() and ClerkExpressRequireAuth() middleware.</p><p><a href="https://clerk.com/blog/securing-node-express-apis-clerk-react">Read more</a></p></div>
  </content>
  <author><name>Savannah Longoria</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/combining-the-benefits-of-session-tokens-and-jwts</id>
  <title>Combining the benefits of session tokens and JWTs</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/combining-the-benefits-of-session-tokens-and-jwts" />
  <updated>2024-09-11T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn about how leveraging the benefits of both session token authentication and JWTs results in the best of both approaches.</p><p><a href="https://clerk.com/blog/combining-the-benefits-of-session-tokens-and-jwts">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-supabase-clerk</id>
  <title>Build a task manager with Next.js, Supabase, and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-supabase-clerk" />
  <updated>2024-09-06T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to integrate Clerk with Supabase by building a task manager.</p><p><a href="https://clerk.com/blog/nextjs-supabase-clerk">Read more</a></p></div>
  </content>
  <author><name>Alexis Aguilar</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/webhooks-v-bapi</id>
  <title>Comparing Clerk Webhooks vs Backend API</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/webhooks-v-bapi" />
  <updated>2024-08-29T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn when to use Clerk Webhooks or the Backend API to efficiently access user data and avoid unnecessary complexity.</p><p><a href="https://clerk.com/blog/webhooks-v-bapi">Read more</a></p></div>
  </content>
  <author><name>Alex Booker</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/automate-neon-schema-changes-with-drizzle-and-github-actions</id>
  <title>Automate Neon schema changes with Drizzle and GitHub Actions</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/automate-neon-schema-changes-with-drizzle-and-github-actions" />
  <updated>2024-08-22T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn about schema migrations and how they can be applied to a Neon database with Drizzle and GitHub Actions</p><p><a href="https://clerk.com/blog/automate-neon-schema-changes-with-drizzle-and-github-actions">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/read-user-data-guide</id>
  <title>A guide to reading authenticated user data from Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/read-user-data-guide" />
  <updated>2024-08-15T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to access data about the currently authenticated user with Clerk's APIs and session claims.</p><p><a href="https://clerk.com/blog/read-user-data-guide">Read more</a></p></div>
  </content>
  <author><name>Alex Booker</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/role-based-access-control-with-clerk-orgs</id>
  <title>Role based access control with Clerk Organizations</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/role-based-access-control-with-clerk-orgs" />
  <updated>2024-08-09T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn what role based access control is and how to use it with Clerk Organizations to simplify permissions management.</p><p><a href="https://clerk.com/blog/role-based-access-control-with-clerk-orgs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/open-response-type-vulnerability</id>
  <title>Mitigating OAuth’s recently discovered Open Response Type vulnerability</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/open-response-type-vulnerability" />
  <updated>2024-08-07T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How Clerk mitigated the recently discovered Open Response Type vulnerability</p><p><a href="https://clerk.com/blog/open-response-type-vulnerability">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/per-user-licensing-with-stripe-and-clerk-organizations</id>
  <title>Per-user B2B monetization with Stripe and Clerk Organizations</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/per-user-licensing-with-stripe-and-clerk-organizations" />
  <updated>2024-08-02T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to architect a B2B application for per-user licensing with Stripe and Clerk Organizations</p><p><a href="https://clerk.com/blog/per-user-licensing-with-stripe-and-clerk-organizations">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-team-based-task-manager-with-organizations</id>
  <title>Build a team-based task manager with Next.js, Neon, and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-team-based-task-manager-with-organizations" />
  <updated>2024-07-09T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Use Clerk Organizations to build a task management app that isolates tasks to specific teams.</p><p><a href="https://clerk.com/blog/build-a-team-based-task-manager-with-organizations">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/building-a-hybrid-sign-up-and-subscribe-form-with-stripe</id>
  <title>Building a Hybrid Sign-Up/Subscribe Form with Stripe Elements</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/building-a-hybrid-sign-up-and-subscribe-form-with-stripe" />
  <updated>2024-06-18T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Using custom flows, webhooks, and user metadata, learn how to build a single form that automatically subscribes new users.</p><p><a href="https://clerk.com/blog/building-a-hybrid-sign-up-and-subscribe-form-with-stripe">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/zod-fellowship</id>
  <title>Welcoming Colin from Zod as our inaugural Open Source Fellow</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/zod-fellowship" />
  <updated>2024-06-11T02:04:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk is funding the development of Zod 4 with a new Open Source Fellowship program.</p><p><a href="https://clerk.com/blog/zod-fellowship">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/authenticated-next-chat-app-with-ably-and-clerk</id>
  <title>Build a modern authenticated chat application with Next.js, Ably, and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/authenticated-next-chat-app-with-ably-and-clerk" />
  <updated>2024-06-04T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to build a modern, authenticated chat application using Next.js, Ably, and Clerk. This comprehensive guide covers everything from setting up real-time messaging and user authentication to implementing roles and message history.</p><p><a href="https://clerk.com/blog/authenticated-next-chat-app-with-ably-and-clerk">Read more</a></p></div>
  </content>
  <author><name>Alex Booker</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-waitlist-with-clerk-user-metadata</id>
  <title>Build a waitlist with Clerk user metadata</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-waitlist-with-clerk-user-metadata" />
  <updated>2024-05-28T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to use Clerk user metadata to build a waitlist for your application, as well as an admin dashboard to toggle user access.</p><p><a href="https://clerk.com/blog/build-a-waitlist-with-clerk-user-metadata">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-use-clerk-with-posthog-identify-in-nextjs</id>
  <title>How to use Clerk with PostHog Identify in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-use-clerk-with-posthog-identify-in-nextjs" />
  <updated>2024-05-09T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to configure your Next.js applications to send Clerk user data to PostHog for analytics and data analysis.</p><p><a href="https://clerk.com/blog/how-to-use-clerk-with-posthog-identify-in-nextjs">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-secure-api-gateway-using-jwt-and-lambda-authorizers-with-clerk</id>
  <title>How to secure API Gateway using JWT and Lambda Authorizers with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-secure-api-gateway-using-jwt-and-lambda-authorizers-with-clerk" />
  <updated>2024-04-29T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn what API Gateway authorizers are, how they work, and how to use them with Clerk to secure your API endpoints using JWT and Lambda authorizers.</p><p><a href="https://clerk.com/blog/how-to-secure-api-gateway-using-jwt-and-lambda-authorizers-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-are-passkeys</id>
  <title>What are passkeys and how do they work?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-are-passkeys" />
  <updated>2024-04-22T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Passkeys allow for a simple, yet extremely secure, sign-in experience. Learn more about what they are and how they work in this article.</p><p><a href="https://clerk.com/blog/what-are-passkeys">Read more</a></p></div>
  </content>
  <author><name>Brian Morrison II</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/comparing-authentication-react-nextjs</id>
  <title>Comparing Authentication in React.js vs. Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/comparing-authentication-react-nextjs" />
  <updated>2024-03-15T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>We compare authentication in React.js and Next.js, emphasizing the ease of securing user data with Clerk.</p><p><a href="https://clerk.com/blog/comparing-authentication-react-nextjs">Read more</a></p></div>
  </content>
  <author><name>Alex Rapp</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/add-onboarding-flow-for-your-application-with-clerk</id>
  <title>How to Add an Onboarding Flow for your Application with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/add-onboarding-flow-for-your-application-with-clerk" />
  <updated>2024-01-30T19:29:11.451Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Leverage Clerk’s customizable session tokens, publicMetadata and Next’s Middleware to create a robust onboarding experience within a few lines of code.</p><p><a href="https://clerk.com/blog/add-onboarding-flow-for-your-application-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Roy Anger</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/create-custom-user-menu-radix-pt-2</id>
  <title>Create Your Own Custom User Menu with Radix - Part 2</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/create-custom-user-menu-radix-pt-2" />
  <updated>2024-01-29T21:44:46.631Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Extend your Radix powered custom User Menu to turn it into a Sign In or User Profile component</p><p><a href="https://clerk.com/blog/create-custom-user-menu-radix-pt-2">Read more</a></p></div>
  </content>
  <author><name>Roy Anger</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-inngest-svix-webhooks</id>
  <title>Introducing Webhook Workflows with Inngest &amp; Svix</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-inngest-svix-webhooks" />
  <updated>2024-01-24T16:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>We are excited to announce that Clerk has teamed up with Inngest and Svix to integrate with external systems reliably.</p><p><a href="https://clerk.com/blog/clerk-inngest-svix-webhooks">Read more</a></p></div>
  </content>
  <author><name>Domitrius Clark</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/series-b</id>
  <title>Clerk raises $30M Series B from CRV and Stripe</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/series-b" />
  <updated>2024-01-18T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>New funding will accelerate expansion beyond authentication, into authorization</p><p><a href="https://clerk.com/blog/series-b">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-2023-year-review</id>
  <title>Clerk in 2023: A Year in Review</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-2023-year-review" />
  <updated>2024-01-04T21:35:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Wow! We had an incredible year in 2023, here is a list of everything we shipped...</p><p><a href="https://clerk.com/blog/clerk-2023-year-review">Read more</a></p></div>
  </content>
  <author><name>Jacob Evans</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-movie-emoji-quiz-with-remix-fauna-and-clerk</id>
  <title>Build a Movie Emoji Quiz App with Remix, Fauna, and Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-movie-emoji-quiz-with-remix-fauna-and-clerk" />
  <updated>2024-01-02T17:38:49.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Test the emoji game of all the movie buffs you know by building a Movie Emoji Quiz app with Remix, Fauna, and Clerk.</p><p><a href="https://clerk.com/blog/build-movie-emoji-quiz-with-remix-fauna-and-clerk">Read more</a></p></div>
  </content>
  <author><name>Ian McPhail</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/magic-links</id>
  <title>Ultimate Guide to Magic Link Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/magic-links" />
  <updated>2023-12-20T16:10:00.980Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this post, we discuss the benefits of email magic links, show examples of how they work, and explain why they meet the requirements for secure, passwordless authentication.</p><p><a href="https://clerk.com/blog/magic-links">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/create-custom-user-menu-radix</id>
  <title>Create Your Own Custom User Menu with Radix</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/create-custom-user-menu-radix" />
  <updated>2023-12-14T17:30:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Quickly and easily build a custom user menu for your application leveraging Clerk's hooks and methods and building on Radix primitives for a custom UI.</p><p><a href="https://clerk.com/blog/create-custom-user-menu-radix">Read more</a></p></div>
  </content>
  <author><name>Roy Anger</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/introducing-authorization</id>
  <title>Introducing has(), protect(), and &lt;Protect&gt;</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/introducing-authorization" />
  <updated>2023-12-13T18:28:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Authorization is now a core feature of Clerk – learn more about our new authorization helpers for B2B SaaS</p><p><a href="https://clerk.com/blog/introducing-authorization">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/new-pricing-plans</id>
  <title>Updated Pricing: 10,000 MAUs Free, and a new “Pro Plan”</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/new-pricing-plans" />
  <updated>2023-11-30T19:22:13.500Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Introducing NEW pricing for Clerk – a Pro Plan with additional features, Pro Add-Ons to fit your application's use case, and 10,000 MAUs free on all plans</p><p><a href="https://clerk.com/blog/new-pricing-plans">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-auth-clerk-streamlined-ssr-efficiency</id>
  <title>Next.js Authentication with Clerk: Streamlined SSR Handling</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-auth-clerk-streamlined-ssr-efficiency" />
  <updated>2023-11-18T00:03:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Discover streamlined Next.js authentication with Clerk, simplifying SSR for efficient user data handling in web development.</p><p><a href="https://clerk.com/blog/nextjs-auth-clerk-streamlined-ssr-efficiency">Read more</a></p></div>
  </content>
  <author><name>Jacob Evans</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/webhooks-data-sync-convex</id>
  <title>Clerk Webhooks: Data Sync with Convex</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/webhooks-data-sync-convex" />
  <updated>2023-11-14T19:00:30.009Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>This post covers how to synchronize user data from Clerk into a Convex database using Webhooks.</p><p><a href="https://clerk.com/blog/webhooks-data-sync-convex">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/exploring-clerk-metadata-stripe-webhooks</id>
  <title>Exploring Clerk Metadata with Stripe Webhooks</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/exploring-clerk-metadata-stripe-webhooks" />
  <updated>2023-11-09T22:55:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Utilize Clerk Metadata &amp; Stripe Webhooks for efficient user data management and enhanced SaaS experiences with our step-by-step tutorial.</p><p><a href="https://clerk.com/blog/exploring-clerk-metadata-stripe-webhooks">Read more</a></p></div>
  </content>
  <author><name>Jacob Evans</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-authentication</id>
  <title>The Ultimate Guide to Next.js Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-authentication" />
  <updated>2023-11-02T22:09:16.075Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this guide, you will learn best practices for implementing secure authentication in your Next.js app.</p><p><a href="https://clerk.com/blog/nextjs-authentication">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/empower-support-team-user-impersonation</id>
  <title>Empower Your Support Team With User Impersonation</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/empower-support-team-user-impersonation" />
  <updated>2023-10-18T02:40:35.793Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>User impersonation enables support teams to assist customers without compromising privacy and security, essential for delivering great CX.</p><p><a href="https://clerk.com/blog/empower-support-team-user-impersonation">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/webhooks-getting-started</id>
  <title>Clerk Webhooks: Getting Started</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/webhooks-getting-started" />
  <updated>2023-09-29T22:23:39.502Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to get started with Webhooks to build integrations in a Nextjs application with Clerk's fully-featured authentication.</p><p><a href="https://clerk.com/blog/webhooks-getting-started">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/complete-guide-session-management-nextjs</id>
  <title>A Complete Guide to Session Management in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/complete-guide-session-management-nextjs" />
  <updated>2023-09-27T23:28:56.022Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Session management allows users to stay logged in across multiple tabs devices and maintains security by tracking user sessions.</p><p><a href="https://clerk.com/blog/complete-guide-session-management-nextjs">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/advanced-guide-passwordless-authentication-nextjs</id>
  <title>The Advanced Guide to Passwordless Authentication in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/advanced-guide-passwordless-authentication-nextjs" />
  <updated>2023-08-25T21:43:14.502Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to implement passwordless authentication in Next.js using magic links, social OAuth and SAML SSO.</p><p><a href="https://clerk.com/blog/advanced-guide-passwordless-authentication-nextjs">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-roundup</id>
  <title>How We Roll – Chapter 10: Roundup</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-roundup" />
  <updated>2023-08-11T12:22:26.622Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. This chapter provides a roundup of the topics discussed in this series.</p><p><a href="https://clerk.com/blog/how-we-roll-roundup">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-infrastructure</id>
  <title>How We Roll – Chapter 9: Infrastructure</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-infrastructure" />
  <updated>2023-08-04T18:17:52.427Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. This chapter covers the infrastructure that powers Clerk’s authentication capabilities.</p><p><a href="https://clerk.com/blog/how-we-roll-infrastructure">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/password-based-authentication-nextjs</id>
  <title>Password-Based Authentication in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/password-based-authentication-nextjs" />
  <updated>2023-07-26T18:11:48.356Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>This article explores password authentication, risks, and better solutions like SSO, MFA, and passwordless login.</p><p><a href="https://clerk.com/blog/password-based-authentication-nextjs">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/otp-authentication-nextjs</id>
  <title>Exploring the Intricacies of OTP Authentication in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/otp-authentication-nextjs" />
  <updated>2023-07-24T01:22:27.208Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how one-time passwords work, best practices for using OTPs in authentication, and how to implement OTPs in Next.js.</p><p><a href="https://clerk.com/blog/otp-authentication-nextjs">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-cookie-clicker-app-with-clerk-and-hasura</id>
  <title>Build a Cookie Clicker App with Clerk and Hasura</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-cookie-clicker-app-with-clerk-and-hasura" />
  <updated>2023-07-23T19:12:30.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this tutorial we will use Clerk with Hasura to build a full-stack Next.js app with a database and GraphQL API, all without having to write any backend code.</p><p><a href="https://clerk.com/blog/build-a-cookie-clicker-app-with-clerk-and-hasura">Read more</a></p></div>
  </content>
  <author><name>Ian McPhail</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/redwoodjs-blog-tutorial-with-clerk</id>
  <title>RedwoodJS Blog Tutorial with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/redwoodjs-blog-tutorial-with-clerk" />
  <updated>2023-07-23T19:12:30.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Branching off from the excellent (and mighty) Redwood tutorial, the guide will lead you through setting up Clerk as the authentication provider.</p><p><a href="https://clerk.com/blog/redwoodjs-blog-tutorial-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Ian McPhail</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-sessions</id>
  <title>How We Roll – Chapter 8: Sessions</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-sessions" />
  <updated>2023-07-21T19:12:30.185Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. This chapter covers how Sessions unlock security and performance capabilities for Clerk.</p><p><a href="https://clerk.com/blog/how-we-roll-sessions">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-jwt-sso</id>
  <title>How We Roll – Chapter 7: JWT Single Sign-On</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-jwt-sso" />
  <updated>2023-07-14T20:10:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. This chapter covers how Clerk integrates with BaaS providers with JWT SSO.</p><p><a href="https://clerk.com/blog/how-we-roll-jwt-sso">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/migrating-pages-router-to-app-router-an-incremental-guide</id>
  <title>Migrating from Pages Router to App Router: An Incremental Guide</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/migrating-pages-router-to-app-router-an-incremental-guide" />
  <updated>2023-07-03T04:55:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Already know the /pages directory? Here's a simple way to migrate to the /app directory in Next.js 13.</p><p><a href="https://clerk.com/blog/migrating-pages-router-to-app-router-an-incremental-guide">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/social-sso-in-next-js</id>
  <title>Social SSO in Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/social-sso-in-next-js" />
  <updated>2023-06-24T23:15:03.798Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this article, we explore how to incorporate OAuth SSO into a Next.js project with JSON Web Tokens (JWTs) and the new app router from Next.js.</p><p><a href="https://clerk.com/blog/social-sso-in-next-js">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-user-profile</id>
  <title>How We Roll – Chapter 6: User Profile</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-user-profile" />
  <updated>2023-06-23T22:05:18.924Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. This chapter explores how we help developers ship a fully-featured account management UI.</p><p><a href="https://clerk.com/blog/how-we-roll-user-profile">Read more</a></p></div>
  </content>
  <author><name>James Perkins</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-authenticate-api-requests-with-clerk-express</id>
  <title>How to Authenticate API Requests with Clerk &amp; Express</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-authenticate-api-requests-with-clerk-express" />
  <updated>2023-06-16T23:14:01.791Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this tutorial, we'll explore how to use Clerk with Express to authenticate API requests using middleware.</p><p><a href="https://clerk.com/blog/how-to-authenticate-api-requests-with-clerk-express">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-customization</id>
  <title>How We Roll – Chapter 5: Customization</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-customization" />
  <updated>2023-06-16T16:46:06.435Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. This chapter covers the various ways developers can customize Clerk's UI components.</p><p><a href="https://clerk.com/blog/how-we-roll-customization">Read more</a></p></div>
  </content>
  <author><name>James Perkins</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-email-verification</id>
  <title>How We Roll – Chapter 4: Email Verification</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-email-verification" />
  <updated>2023-06-09T20:57:48.924Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep dive into how Clerk implements authentication. From codes to links to SSO, this chapter is about when and how we verify emails.</p><p><a href="https://clerk.com/blog/how-we-roll-email-verification">Read more</a></p></div>
  </content>
  <author><name>Dev Agrawal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/secure-authentication-nextjs-email-magic-links</id>
  <title>Secure Authentication in Next.js with Email Magic Links</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/secure-authentication-nextjs-email-magic-links" />
  <updated>2023-06-06T22:42:59.226Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this guide, you will learn how to implement email magic links in Next.js.</p><p><a href="https://clerk.com/blog/secure-authentication-nextjs-email-magic-links">Read more</a></p></div>
  </content>
  <author><name>Nick Parsons</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-multifactor</id>
  <title>How We Roll – Chapter 3: Multifactor</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-multifactor" />
  <updated>2023-06-02T17:14:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep-dive into how Clerk implements authentication. This chapter is on something you know and something you have: multifactor authentication!</p><p><a href="https://clerk.com/blog/how-we-roll-multifactor">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/a-new-password-experience</id>
  <title>Announcing A New Password Experience</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/a-new-password-experience" />
  <updated>2023-05-19T17:14:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>The team has been focused on making a first in class experience for your end users when it comes to passwords. Let's talk about the new features we introduced. </p><p><a href="https://clerk.com/blog/a-new-password-experience">Read more</a></p></div>
  </content>
  <author><name>James Perkins</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-avatars</id>
  <title>How We Roll – Chapter 2: Avatars</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-avatars" />
  <updated>2023-05-19T17:14:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep-dive into how Clerk implements authentication. In this chapter, we discuss why avatars should never be an afterthought.</p><p><a href="https://clerk.com/blog/how-we-roll-avatars">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-roll-passwords</id>
  <title>How We Roll – Chapter 1: Passwords</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-roll-passwords" />
  <updated>2023-05-19T17:14:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>How We Roll is a deep-dive into how Clerk implements authentication. In this first chapter, we discuss passwords – the original form of authentication.</p><p><a href="https://clerk.com/blog/how-we-roll-passwords">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/opusflow</id>
  <title>Seamless Integration: How Clerk Streamlined OpusFlow&#039;s User Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/opusflow" />
  <updated>2023-05-15T16:02:50.478Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how Clerk's user-friendly authentication system streamlined OpusFlow's SaaS integration, enhancing productivity and performance.</p><p><a href="https://clerk.com/blog/opusflow">Read more</a></p></div>
  </content>
  <author><name>James Perkins</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-13-4</id>
  <title>Stable Support for the Next.js App Router, plus a Middleware Update!</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-13-4" />
  <updated>2023-05-04T19:38:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>App Router support is out of beta, plus we've launched a major middleware update.</p><p><a href="https://clerk.com/blog/nextjs-13-4">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/generating-and-using-uuids-in-react</id>
  <title>Generating and Using UUIDs in React</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/generating-and-using-uuids-in-react" />
  <updated>2023-04-20T22:35:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn the significance of UUIDs in full-stack apps, their optimal usage, and how to implement them in React apps.</p><p><a href="https://clerk.com/blog/generating-and-using-uuids-in-react">Read more</a></p></div>
  </content>
  <author><name>Kumar Harsh</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/setting-and-using-cookies-in-react</id>
  <title>Setting and Using Cookies in React</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/setting-and-using-cookies-in-react" />
  <updated>2023-04-14T17:14:15.620Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to set up cookies in React with this guide! You'll create a login page and store user information using cookies.</p><p><a href="https://clerk.com/blog/setting-and-using-cookies-in-react">Read more</a></p></div>
  </content>
  <author><name>Marshall Chikari</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/adding-jwt-authentication-to-react</id>
  <title>Adding JWT Authentication to React</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/adding-jwt-authentication-to-react" />
  <updated>2023-04-14T15:57:37.915Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to implement JSON Web Token (JWT) authentication in a React app using a standard flow, and how Clerk can make the process even easier.</p><p><a href="https://clerk.com/blog/adding-jwt-authentication-to-react">Read more</a></p></div>
  </content>
  <author><name>Anshuman Bhardwaj</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/understanding-and-properly-using-react-global-state</id>
  <title>Understanding and Properly Using React Global State</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/understanding-and-properly-using-react-global-state" />
  <updated>2023-04-14T15:37:18.272Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Explore the benefits of global state and discover two methods to implement it: the React context API and the Clerk React context API component.</p><p><a href="https://clerk.com/blog/understanding-and-properly-using-react-global-state">Read more</a></p></div>
  </content>
  <author><name>Philip Jonas</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/implementing-recaptcha-in-react</id>
  <title>Implementing reCAPTCHA in React</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/implementing-recaptcha-in-react" />
  <updated>2023-04-14T00:32:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to protect your React app from spam and abuse using reCAPTCHA. Follow this tutorial to create a sign-up form with reCAPTCHA validation.</p><p><a href="https://clerk.com/blog/implementing-recaptcha-in-react">Read more</a></p></div>
  </content>
  <author><name>Anshuman Bhardwaj</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/oauth2-react-user-authorization</id>
  <title>Implementing OAuth 2.0 to React for User Authorization</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/oauth2-react-user-authorization" />
  <updated>2023-04-13T19:37:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to implement OAuth 2.0 in a React app for user authorization. OAuth 2.0 lets users share information securely without passwords.</p><p><a href="https://clerk.com/blog/oauth2-react-user-authorization">Read more</a></p></div>
  </content>
  <author><name>Gideon Idoko</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/series-a</id>
  <title>Clerk raises $15m Series A led by Madrona</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/series-a" />
  <updated>2023-03-22T15:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk surpasses a million managed users and taps into executive experience from Auth0 and Vercel</p><p><a href="https://clerk.com/blog/series-a">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/refactoring-our-api-keys</id>
  <title>Refactoring our frontend API key: Familiar DX is the best DX</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/refactoring-our-api-keys" />
  <updated>2023-01-27T23:50:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>We switched to the familiar Publishable Key, but we changed less than you'd think</p><p><a href="https://clerk.com/blog/refactoring-our-api-keys">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/validate-create-style-react-bootstrap-forms</id>
  <title>Validating, Creating, and Styling React-Bootstrap Forms</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/validate-create-style-react-bootstrap-forms" />
  <updated>2023-01-25T20:22:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Create a complete login and sign-up flow with React Bootstrap forms, then learn how to use tools like Clerk to easily manage authentication and authorization.</p><p><a href="https://clerk.com/blog/validate-create-style-react-bootstrap-forms">Read more</a></p></div>
  </content>
  <author><name>Himanish Munjal</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/add-google-login-next13-app</id>
  <title>Adding Google Login to Your Next.js 13 Application</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/add-google-login-next13-app" />
  <updated>2023-01-25T20:21:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Compare adding Google Login to your Next.js 13 Application by building it yourself, with using a third-party service like Clerk.</p><p><a href="https://clerk.com/blog/add-google-login-next13-app">Read more</a></p></div>
  </content>
  <author><name>Ivan Kahl</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/conditional-rendering-react</id>
  <title>Guide to Conditional Rendering in React</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/conditional-rendering-react" />
  <updated>2023-01-25T20:20:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how conditional rendering is used to show a personalized UI, complete a user flow without changing routes, or show a loading or error state.</p><p><a href="https://clerk.com/blog/conditional-rendering-react">Read more</a></p></div>
  </content>
  <author><name>Anshuman Bhardwaj</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/next13-api-routes-2</id>
  <title>Next.js 13 Routes Part 2: Implementing Protected Routes</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/next13-api-routes-2" />
  <updated>2023-01-25T20:19:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to create protected routes using React Context as well as how using Clerk makes this process easier.</p><p><a href="https://clerk.com/blog/next13-api-routes-2">Read more</a></p></div>
  </content>
  <author><name>Aniket Bhattacharyea</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/next13-api-routes-1</id>
  <title>Next.js 13 Routes Part 1: Getting Started with Next.js API Routes</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/next13-api-routes-1" />
  <updated>2023-01-25T20:18:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>API routes in Next.js provide a solution to build server-side API logic.</p><p><a href="https://clerk.com/blog/next13-api-routes-1">Read more</a></p></div>
  </content>
  <author><name>Aniket Bhattacharyea</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-t3-turbo</id>
  <title>Clerk and Create T3 Turbo</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-t3-turbo" />
  <updated>2022-12-28T15:34:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>This guide shows you how to integrate Clerk into T3-Turbo so you can have user management for everyone.</p><p><a href="https://clerk.com/blog/clerk-t3-turbo">Read more</a></p></div>
  </content>
  <author><name>James Perkins</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/a16z-seed</id>
  <title>Clerk raises $6.2m led by Andreessen Horowitz</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/a16z-seed" />
  <updated>2022-11-30T17:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk is building the future of authentication for React, where the Component is the new API</p><p><a href="https://clerk.com/blog/a16z-seed">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/skip-nextjs-middleware-static-and-public-files</id>
  <title>How to skip Next.js middleware for static and public files</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/skip-nextjs-middleware-static-and-public-files" />
  <updated>2022-10-06T19:13:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Stop your Next.js middleware from running on static assets like images and Next.js internals</p><p><a href="https://clerk.com/blog/skip-nextjs-middleware-static-and-public-files">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/lets-stop-arguing-about-jwts-and-just-fix-them</id>
  <title>Let&#039;s stop arguing about JWTs and just fix them</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/lets-stop-arguing-about-jwts-and-just-fix-them" />
  <updated>2022-10-05T23:59:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>JWTs have won. It's time we embrace them and fix the dangerous implementations.</p><p><a href="https://clerk.com/blog/lets-stop-arguing-about-jwts-and-just-fix-them">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/nextjs-pass-value-from-middleware-to-api-routes-and-getserversideprops</id>
  <title>How to pass a value from Next.js middleware to API routes and getServerSideProps</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/nextjs-pass-value-from-middleware-to-api-routes-and-getserversideprops" />
  <updated>2022-10-05T01:19:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Compute a value in middleware and pass it to your API route or getServerSideProps. Works in both Node and Edge runtimes.</p><p><a href="https://clerk.com/blog/nextjs-pass-value-from-middleware-to-api-routes-and-getserversideprops">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-nextjs-4-5</id>
  <title>@clerk/nextjs v4.5</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-nextjs-4-5" />
  <updated>2022-10-04T06:51:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>New in 4.5: Authentication moves to middleware, switchable runtime support, improved developer experience, preparation for Layouts</p><p><a href="https://clerk.com/blog/clerk-nextjs-4-5">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/passwordless-authentication</id>
  <title>Passwordless Authentication: Which Option Is Right for Your App</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/passwordless-authentication" />
  <updated>2022-09-06T16:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Passwordless Authentication is on an upward trajectory thanks to advancements in this space and recent password breaches.</p><p><a href="https://clerk.com/blog/passwordless-authentication">Read more</a></p></div>
  </content>
  <author><name>Subha Chanda</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-are-webhooks</id>
  <title>What are Webhooks? The Ultimate Guide </title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-are-webhooks" />
  <updated>2022-08-19T16:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Webhooks allow apps to communicate with one another. Find out best practices and more here.</p><p><a href="https://clerk.com/blog/what-are-webhooks">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/sdk-vs-api</id>
  <title>What Is an SDK and How Is It Different From APIs?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/sdk-vs-api" />
  <updated>2022-08-10T19:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>While an SDK and an API often work together in the software development process, they each serve a different function. Find out what that is here.</p><p><a href="https://clerk.com/blog/sdk-vs-api">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/a-component-is-worth-a-thousand-apis</id>
  <title>A ‹Component/› is worth a thousand APIs</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/a-component-is-worth-a-thousand-apis" />
  <updated>2022-08-07T10:58:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk is the only authentication service that offers a User Profile component. It sounds incremental, but it's 10x more work – this post explains why</p><p><a href="https://clerk.com/blog/a-component-is-worth-a-thousand-apis">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/user-management-in-authentication</id>
  <title>User Management and How It Relates to Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/user-management-in-authentication" />
  <updated>2022-08-03T19:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>User management assists in authenticating and storing users. Find out more about it here.</p><p><a href="https://clerk.com/blog/user-management-in-authentication">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/building-custom-user-profile-with-clerk</id>
  <title>Building a Custom User Profile with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/building-custom-user-profile-with-clerk" />
  <updated>2022-08-03T17:13:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Authentication is one of the most critical functions of securing your applications; however, it's also one of the most challenging functions to implement.</p><p><a href="https://clerk.com/blog/building-custom-user-profile-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Subha Chanda</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-app-with-clerk-prisma-nextjs</id>
  <title>Build an App with Clerk, Prisma Cloud, and Next.js</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-app-with-clerk-prisma-nextjs" />
  <updated>2022-07-27T18:49:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk is an easy-to-use, customizable, and secure customer identity platform that provides you with multiple authentication strategies for your application. </p><p><a href="https://clerk.com/blog/build-app-with-clerk-prisma-nextjs">Read more</a></p></div>
  </content>
  <author><name>Kevin Kimani</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/the-journey-to-modern-web-authentication</id>
  <title>The Journey to Modern Web Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/the-journey-to-modern-web-authentication" />
  <updated>2022-07-21T13:36:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A blog post about the story of Clerk; our journey of bringing seamless authentication to the Modern Web, where we stand now, and what lies ahead.</p><p><a href="https://clerk.com/blog/the-journey-to-modern-web-authentication">Read more</a></p></div>
  </content>
  <author><name>Sokratis Vidros</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-is-nextjs</id>
  <title>What is Next.js?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-is-nextjs" />
  <updated>2022-09-01T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Next.js is a framework in the React ecosystem that is primarily used for developing JavaScript applications. Understand the ins and outs below.</p><p><a href="https://clerk.com/blog/what-is-nextjs">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-joins-netlify-jamstack-innovation-fund</id>
  <title>Clerk joins the Netlify Jamstack Innovation Fund</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-joins-netlify-jamstack-innovation-fund" />
  <updated>2022-07-12T16:22:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk powers authentication for over 5,000 Jamstack teams – now we're working with Netlify to further our commitment to the ecosystem</p><p><a href="https://clerk.com/blog/clerk-joins-netlify-jamstack-innovation-fund">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/authentication-vs-authorization</id>
  <title>Authentication vs. Authorization: What&#039;s the Difference?</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/authentication-vs-authorization" />
  <updated>2022-07-06T16:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Understand the differences between authentication vs. authorization and the purpose they both serve.</p><p><a href="https://clerk.com/blog/authentication-vs-authorization">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/refactoring-stripes-api-for-frontend-access</id>
  <title>Refactoring Stripe&#039;s API for frontend access</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/refactoring-stripes-api-for-frontend-access" />
  <updated>2022-06-10T09:59:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>We built <code>use-stripe-subscription</code> to make it easier for React developers to implement Stripe Billing</p><p><a href="https://clerk.com/blog/refactoring-stripes-api-for-frontend-access">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-user-switcher-just-like-gmail</id>
  <title>Quickly Build a User Switcher, Just Like Gmail</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-user-switcher-just-like-gmail" />
  <updated>2022-06-03T04:17:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Build an app with complete authentication and a user switcher just like gmail has.</p><p><a href="https://clerk.com/blog/build-a-user-switcher-just-like-gmail">Read more</a></p></div>
  </content>
  <author><name>Anshuman Bhardwaj</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/new-wave-stack</id>
  <title>The New Wave Stack</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/new-wave-stack" />
  <updated>2022-06-02T22:44:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A custom Remix stack with Clerk, Fauna, and Netlify.</p><p><a href="https://clerk.com/blog/new-wave-stack">Read more</a></p></div>
  </content>
  <author><name>Charles Wefso</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/best-practices-for-building-react-rest-sdks</id>
  <title>Three best practices for building React REST SDKs</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/best-practices-for-building-react-rest-sdks" />
  <updated>2022-05-20T23:25:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>For optimal developer experience, React SDKs require completely different patterns than Node</p><p><a href="https://clerk.com/blog/best-practices-for-building-react-rest-sdks">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/next-js-ssr-authentication-with-clerk</id>
  <title>Next.js SSR authentication with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/next-js-ssr-authentication-with-clerk" />
  <updated>2023-11-02T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Next.js SSR authentication is easy with Clerk – just a few lines of code to get started.</p><p><a href="https://clerk.com/blog/next-js-ssr-authentication-with-clerk">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/skip-cors-options-preflight</id>
  <title>How to skip CORS preflights and speed up your API with polyfills</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/skip-cors-options-preflight" />
  <updated>2022-04-29T21:47:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>CORS preflights add unnecessary latency to requests. Learn to use &quot;simple&quot; requests to skip the preflight entirely.</p><p><a href="https://clerk.com/blog/skip-cors-options-preflight">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/future-of-auth-stateless-and-stateful</id>
  <title>The future of authentication is both stateful and stateless</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/future-of-auth-stateless-and-stateful" />
  <updated>2022-04-28T14:20:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Stateful authentication is more secure. Stateless authentication is faster. A hybrid approach delivers the best of both worlds.</p><p><a href="https://clerk.com/blog/future-of-auth-stateless-and-stateful">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/remix-delightful-developer-experiences</id>
  <title>It&#039;s the little things: Three developer experience delights of our Remix authentication package</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/remix-delightful-developer-experiences" />
  <updated>2022-04-23T02:03:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>We integrate with a lot of React frameworks - here's what we love most about our Remix authentication package</p><p><a href="https://clerk.com/blog/remix-delightful-developer-experiences">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/exporting-customizable-react-components</id>
  <title>Unicorn or Chameleon? Two strategies for exporting customizable React components</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/exporting-customizable-react-components" />
  <updated>2022-04-15T07:12:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>React Components are the future of APIs – but how can developer tools companies enable robust customization? We explore two strategies.</p><p><a href="https://clerk.com/blog/exporting-customizable-react-components">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/just-in-time-api-requests-are-replacing-webhooks</id>
  <title>Just-in-time API requests are replacing webhooks</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/just-in-time-api-requests-are-replacing-webhooks" />
  <updated>2022-04-08T03:54:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Only 30% of Clerk customers use webhooks to sync user data into their own database. Instead, most skip syncing and use our APIs to retrieve data in real-time.</p><p><a href="https://clerk.com/blog/just-in-time-api-requests-are-replacing-webhooks">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/introducing-web3-authentication</id>
  <title>Introducing Web3 Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/introducing-web3-authentication" />
  <updated>2022-01-21T19:31:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk is saving Web3 developers from the greatest evils of the Web2 platform: cookies, multifactor authentication, and profile enrichment</p><p><a href="https://clerk.com/blog/introducing-web3-authentication">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-complete-and-win-in-software-economy-2</id>
  <title>How to compete and WIN in a software economy [Part 2]</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-complete-and-win-in-software-economy-2" />
  <updated>2022-01-13T22:27:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this next part, we'll discuss how to identify 'core' vs. 'non-core' development &amp; how thoughtful outsourcing can be used to develop process power.</p><p><a href="https://clerk.com/blog/how-to-complete-and-win-in-software-economy-2">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-to-complete-and-win-in-software-economy</id>
  <title>How to compete and WIN in a software economy [Part 1]</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-to-complete-and-win-in-software-economy" />
  <updated>2022-01-11T23:32:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Software has eaten the world and almost every business is a software business. How do you develop a competitive advantage and win in today's software economy?</p><p><a href="https://clerk.com/blog/how-to-complete-and-win-in-software-economy">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/guide-jwt-authentication-json-web-tokens</id>
  <title>The Ultimate Guide To JSON Web Tokens (JWTs) and Token-Based Authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/guide-jwt-authentication-json-web-tokens" />
  <updated>2022-01-07T20:08:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>JSON Web Tokens, more commonly known as JWTs, are encoded and cryptographically signed data that allows for the secure transfer of information.</p><p><a href="https://clerk.com/blog/guide-jwt-authentication-json-web-tokens">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/2021-the-resurgence-of-authentication</id>
  <title>2021: The Year Authentication Saw a Resurgence (and Why)</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/2021-the-resurgence-of-authentication" />
  <updated>2021-12-31T23:36:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Authentication saw a resurgence as developers demanded better tools for Modern Web frameworks like Next.js, and users demanded easier sign-in options</p><p><a href="https://clerk.com/blog/2021-the-resurgence-of-authentication">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/offload-user-table</id>
  <title>Consider dropping your users table</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/offload-user-table" />
  <updated>2021-12-01T23:20:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>The same way we would rather let Stripe handle your credit card, we'll let Clerk handle your phone numbers, emails and sessions.</p><p><a href="https://clerk.com/blog/offload-user-table">Read more</a></p></div>
  </content>
  <author><name>Scott Block</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/trading-experts</id>
  <title>Trading Experts | Case Study</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/trading-experts" />
  <updated>2021-11-20T02:39:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>A case study of how Trading Experts used Clerk to quickly implement the authentication and user management features they needed.</p><p><a href="https://clerk.com/blog/trading-experts">Read more</a></p></div>
  </content>
  <author><name>Braden Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/hiring-frontend-full-stack-components</id>
  <title>Clerk is hiring a senior frontend team to expand our full-stack component library</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/hiring-frontend-full-stack-components" />
  <updated>2021-11-19T19:59:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Seeking experts in CSS, browser APIs, JS bundling, React, react-native, Swift, Kotlin and Developer Experience</p><p><a href="https://clerk.com/blog/hiring-frontend-full-stack-components">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/bcrypt-hashing-authentication-encryption</id>
  <title>The Ultimate Guide to BCrypt and Authentication Protocols</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/bcrypt-hashing-authentication-encryption" />
  <updated>2021-11-02T00:12:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn why bcrypt is the industry standard hashing algorithm for authentication - including its history and how it compares to other protocols. </p><p><a href="https://clerk.com/blog/bcrypt-hashing-authentication-encryption">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/passwordless-history-popularity</id>
  <title>History and Rise of &quot;Passwordless&quot;</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/passwordless-history-popularity" />
  <updated>2021-09-29T23:33:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn the history of passwordless, and how it became popularized. From OTPs to MFA to mobile.</p><p><a href="https://clerk.com/blog/passwordless-history-popularity">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/what-is-session-management</id>
  <title>Session management: What it is and why your security depends on its controls</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/what-is-session-management" />
  <updated>2026-09-22T00:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn what session management is, the attacks it prevents, and how Clerk handles session lifetime, revocation, device activity, and audit logs.</p><p><a href="https://clerk.com/blog/what-is-session-management">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
<author><name>Alex Rapp</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/forgot-password-sspr</id>
  <title>Don’t underestimate the value of a secure, seamless ‘forgot password’ flow</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/forgot-password-sspr" />
  <updated>2021-09-16T19:27:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn about “forgot password” flows, how they work, and the best practices to keep in mind.
</p><p><a href="https://clerk.com/blog/forgot-password-sspr">Read more</a></p></div>
  </content>
  <author><name>Rishi Raman</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/add-authentication-to-your-gatsby-app</id>
  <title>Add authentication to your Gatsby app</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/add-authentication-to-your-gatsby-app" />
  <updated>2021-09-15T16:39:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to add authentication and user management to your Gatsby app with Clerk. </p><p><a href="https://clerk.com/blog/add-authentication-to-your-gatsby-app">Read more</a></p></div>
  </content>
  <author><name>Marcel Cruz</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-prisma-mongodb-fullstack-post-app</id>
  <title>Authenticated data access using Clerk, Prisma, and MongoDB - A post-making fullstack app</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-prisma-mongodb-fullstack-post-app" />
  <updated>2021-08-17T13:14:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Add a complete authentication workflow with authenticated access to your Prisma API layer to your web application.</p><p><a href="https://clerk.com/blog/clerk-prisma-mongodb-fullstack-post-app">Read more</a></p></div>
  </content>
  <author><name>Peter Perlepes</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/generating-sortable-stripe-like-ids-with-segment-ksuids</id>
  <title>Generating sortable Stripe-like IDs with Segment&#039;s KSUIDs</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/generating-sortable-stripe-like-ids-with-segment-ksuids" />
  <updated>2021-08-06T20:47:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how Clerk generates resource IDs with inspiration from Stripe and Segment.</p><p><a href="https://clerk.com/blog/generating-sortable-stripe-like-ids-with-segment-ksuids">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/serverless-auth-with-clerk-and-firebase</id>
  <title>Serverless authentication with Clerk and Firebase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/serverless-auth-with-clerk-and-firebase" />
  <updated>2021-07-30T20:45:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Protect your Firebase Cloud Functions with user authentication using Clerk.</p><p><a href="https://clerk.com/blog/serverless-auth-with-clerk-and-firebase">Read more</a></p></div>
  </content>
  <author><name>Peter Perlepes</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/row-level-access-for-your-airtable-powered-application</id>
  <title>Row-level access for your Airtable-powered application with Clerk</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/row-level-access-for-your-airtable-powered-application" />
  <updated>2021-07-17T02:39:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to add complete user authenticated access to your Airtable data API using Clerk.</p><p><a href="https://clerk.com/blog/row-level-access-for-your-airtable-powered-application">Read more</a></p></div>
  </content>
  <author><name>Peter Perlepes</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-premium-recipes-app-clerk-firebase</id>
  <title>Build a premium recipes app with Clerk and Firebase</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-premium-recipes-app-clerk-firebase" />
  <updated>2021-07-10T06:23:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn how to connect Clerk as an authentication and user management solution together with your Firebase as your backend.</p><p><a href="https://clerk.com/blog/build-a-premium-recipes-app-clerk-firebase">Read more</a></p></div>
  </content>
  <author><name>Peter Perlepes</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-raises-for-next-gen-auth</id>
  <title>Clerk raises $4 million to build the next-gen authentication and user management platform for developers</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-raises-for-next-gen-auth" />
  <updated>2021-07-01T23:36:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Clerk raised a $4 million seed round led by S28 capital with Andrew Miklas (cofounder, PagerDuty) joining our board.</p><p><a href="https://clerk.com/blog/clerk-raises-for-next-gen-auth">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/designing-fast-sign-in-forms</id>
  <title>Designing fast sign in forms— diving into the data</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/designing-fast-sign-in-forms" />
  <updated>2021-06-17T22:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Key insights on building fast sign in forms with Social Sign In, password-based, and passwordless authentication.</p><p><a href="https://clerk.com/blog/designing-fast-sign-in-forms">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-or-buy-user-management-with-nextjs-1</id>
  <title>Build or Buy? A Look at User Management with Next.js: Part 1</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-or-buy-user-management-with-nextjs-1" />
  <updated>2021-06-15T19:02:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>In this article, you'll learn the pros and cons of developing or buying a user management system so you’re ready to make the right choice for your project.</p><p><a href="https://clerk.com/blog/build-or-buy-user-management-with-nextjs-1">Read more</a></p></div>
  </content>
  <author><name>Aniket Bhattacharyea</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-we-use-end-to-end-tests-to-bulletproof-our-authentication-flows-across-browsers</id>
  <title>How we use End To End tests to bulletproof our authentication flows across browsers</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-we-use-end-to-end-tests-to-bulletproof-our-authentication-flows-across-browsers" />
  <updated>2021-06-11T11:51:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Due to the evolution of tooling and the shift towards high-velocity product development, End To End testing is a regular topic of discussion for small teams.</p><p><a href="https://clerk.com/blog/how-we-use-end-to-end-tests-to-bulletproof-our-authentication-flows-across-browsers">Read more</a></p></div>
  </content>
  <author><name>Peter Perlepes</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/build-a-to-do-app-with-clerk-and-hasura-and-no-backend-code</id>
  <title>Build a to-do app with Clerk and Hasura— and no backend code</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/build-a-to-do-app-with-clerk-and-hasura-and-no-backend-code" />
  <updated>2021-05-27T22:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>Learn to build a to-do app using Clerk for authentication, Hasura for data storage and access, and Next.js for the frontend.</p><p><a href="https://clerk.com/blog/build-a-to-do-app-with-clerk-and-hasura-and-no-backend-code">Read more</a></p></div>
  </content>
  <author><name>Nacho Iacovino</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/how-httponly-cookies-help-mitigate-xss-attacks</id>
  <title>How HttpOnly cookies help mitigate XSS attacks</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/how-httponly-cookies-help-mitigate-xss-attacks" />
  <updated>2021-05-06T22:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>HttpOnly cookies do not prevent cross-site scripting (XSS) attacks, but they do lessen the impact and prevent the need to sign out users after the XSS is patched. HttpOnly cookies are not a substitute for XSS prevention measures.</p><p><a href="https://clerk.com/blog/how-httponly-cookies-help-mitigate-xss-attacks">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/clerk-vercel-one-click-deployment</id>
  <title>How to deploy Clerk using Vercel with one click</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/clerk-vercel-one-click-deployment" />
  <updated>2021-04-11T22:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>If you are looking to implement Auth in the easiest way possible, this is the tutorial for you. Deploy in 5 minutes.</p><p><a href="https://clerk.com/blog/clerk-vercel-one-click-deployment">Read more</a></p></div>
  </content>
  <author><name>Nacho Iacovino</name></author>
</entry>
<entry>
  <id>https://clerk.com/blog/all-of-user-management-not-just-authentication</id>
  <title>Introducing Clerk: All of user management, not just authentication</title>
  <link rel="alternate" type="text/html" href="https://clerk.com/blog/all-of-user-management-not-just-authentication" />
  <updated>2021-01-07T23:00:00.000Z</updated>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml"><p>The task came with a sense of helplessness. We knew what &quot;great&quot; looked like, but it was impractical to build all of that functionality.</p><p><a href="https://clerk.com/blog/all-of-user-management-not-just-authentication">Read more</a></p></div>
  </content>
  <author><name>Colin Sidoti</name></author>
</entry>
</feed>