<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Maintenance on vanityURLs</title><link>https://vanityurls.link/en/tags/maintenance/</link><description>Recent content in Maintenance on vanityURLs</description><generator>Hugo</generator><language>en-CA</language><lastBuildDate>Fri, 05 Jun 2026 11:50:57 -0400</lastBuildDate><atom:link href="https://vanityurls.link/en/tags/maintenance/index.xml" rel="self" type="application/rss+xml"/><item><title>vanityURLs' secret sauce is a JSON ledger</title><link>https://vanityurls.link/en/blog/json-audit-ledger-for-cloudflare-docs/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://vanityurls.link/en/blog/json-audit-ledger-for-cloudflare-docs/</guid><description>&lt;p&gt;The problem showed up in the usual small way: a Cloudflare dashboard label moved, a setup page still named the old path, and the next maintainer had to decide whether the documentation was stale or the product guidance had changed.&lt;/p&gt;
&lt;p&gt;vanityURLs stands on Cloudflare&amp;rsquo;s shoulders. That is the point. A short-link redirector should not need a fleet of servers, a database, or a private control plane. It can run on Cloudflare&amp;rsquo;s serverless architecture and let Cloudflare stop noisy traffic before the Worker executes.&lt;/p&gt;</description></item><item><title>Architecture decisions belong with the code</title><link>https://vanityurls.link/en/blog/architecture-decisions-in-the-code-repository/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://vanityurls.link/en/blog/architecture-decisions-in-the-code-repository/</guid><description>&lt;p&gt;A setup page should tell an operator what to do.&lt;/p&gt;
&lt;p&gt;It should not carry the full history of why the Worker, installer, schema, release automation, and runtime security rules have their current shape. That history still matters. It belongs beside the implementation.&lt;/p&gt;
&lt;p&gt;vanityURLs keeps product-level decisions as architecture decision records in the code repository. The public docs stay operational. The code repo keeps the rationale that future maintainers will need when the next change looks obvious but is not.&lt;/p&gt;</description></item></channel></rss>