<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://zerokey.vercel.app/</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/encrypt</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.9</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/about</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/contact</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/donate</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.7</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/privacy</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/terms</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/disclaimer</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/cookie-policy</loc>
        <lastmod>2026-03-10</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>

    <url>
        <loc>https://zerokey.vercel.app/blog</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>daily</changefreq>
        <priority>0.9</priority>
    </url>

    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-encrypt-large-files-javascript-streams</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-prevent-clipboard-hijacking-javascript</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-prevent-ui-freezing-with-web-workers</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-build-p2p-file-sharing-webrtc</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-convert-arraybuffer-to-base64</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-trigger-secure-downloads-in-javascript</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-bypass-vercel-payload-limit</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/why-we-abandoned-npm-for-cryptography</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-securely-share-env-files</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/why-never-store-keys-in-localstorage</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/why-never-use-math-random-for-cryptography</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/why-xss-defeats-client-side-encryption</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-build-geofencing-javascript</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-derive-encryption-keys-pbkdf2</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/the-url-fragment-exploit-zero-knowledge</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-build-burn-after-reading-supabase</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-implement-webauthn-biometrics</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-share-api-keys-securely</loc>
        <lastmod>2026-03-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>

    <url>
        <loc>https://zerokey.vercel.app/blog/how-to-securely-clear-memory-javascript</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/blind-indexing-e2ee-search</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/blog-rfc-3986-zero-knowledge</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/streaming-e2ee-large-files</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/multi-device-e2ee-ecdh</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>https://zerokey.vercel.app/blog/non-extractable-keys-xss</loc>
        <lastmod>2026-04-21</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>
</urlset>
