<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jwt on Widgita</title><link>https://widgita.xyz/tags/jwt/</link><description>Recent content in Jwt on Widgita</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 19 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://widgita.xyz/tags/jwt/index.xml" rel="self" type="application/rss+xml"/><item><title>A JWT Decoder That Doesn't Phone Home</title><link>https://widgita.xyz/posts/2026/04/a-jwt-decoder-that-doesnt-phone-home/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://widgita.xyz/posts/2026/04/a-jwt-decoder-that-doesnt-phone-home/</guid><description>&lt;p&gt;Every now and then I need to peek inside a JWT - debugging an auth flow, sanity-checking what scopes a CI service account actually has, or figuring out &lt;em&gt;why&lt;/em&gt; a token is being rejected at 23:00 the night before a release. And every time, I&amp;rsquo;d catch myself reaching for whatever JWT decoder Google surfaced first, pasting in a token, and then immediately feeling slightly icky about it. That token might be a service credential. It might still be valid for another six hours. And I just handed it to some random subdomain.&lt;/p&gt;</description></item></channel></rss>