<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Securoxen Learn</title>
    <link>https://securoxen.io/learn</link>
    <atom:link href="https://securoxen.io/feed.xml" rel="self" type="application/rss+xml" />
    <description>Practical security for developers - how it works, then prove it on a real artifact.</description>
    <language>en</language>
    <lastBuildDate>Sun, 09 Aug 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>How to send someone a password safely</title>
      <link>https://securoxen.io/learn/how-to-send-someone-a-password</link>
      <guid isPermaLink="true">https://securoxen.io/learn/how-to-send-someone-a-password</guid>
      <description>Chat is not insecure in transit - it is permanent and searchable, which is the actual problem. What to do instead, and why most workarounds do not help.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a JWT actually proves</title>
      <link>https://securoxen.io/learn/what-a-jwt-actually-proves</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-jwt-actually-proves</guid>
      <description>A JSON Web Token looks encrypted and is not - anyone holding one can read every claim. What the signature covers, why alg:none works, and why expiry is not revocation.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a 2FA QR code actually contains</title>
      <link>https://securoxen.io/learn/what-a-2fa-qr-code-contains</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-2fa-qr-code-contains</guid>
      <description>The square holds your TOTP secret in plain text, so a screenshot of it is a credential. What that means for backups, and why TOTP still does not stop phishing.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Reading a log line under pressure</title>
      <link>https://securoxen.io/learn/reading-a-log-line-under-pressure</link>
      <guid isPermaLink="true">https://securoxen.io/learn/reading-a-log-line-under-pressure</guid>
      <description>Timestamps in the wrong unit, subnets nobody can size, cron expressions read from memory at 3am. The formats an incident arrives in, and how to convert them without adding mistakes.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Encrypting a file you have to send</title>
      <link>https://securoxen.io/learn/encrypting-a-file-you-have-to-send</link>
      <guid isPermaLink="true">https://securoxen.io/learn/encrypting-a-file-you-have-to-send</guid>
      <description>Encrypting the file is the easy part. Getting the key to the other side without putting it in the same thread is the part that decides whether any of it worked.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Contrast is a security feature</title>
      <link>https://securoxen.io/learn/contrast-is-a-security-feature</link>
      <guid isPermaLink="true">https://securoxen.io/learn/contrast-is-a-security-feature</guid>
      <description>A warning nobody can read is not a warning. WCAG ratios, why colour alone fails one in twelve men, and why dark mode is a second design rather than an inversion.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What SPF, DKIM and DMARC each actually do</title>
      <link>https://securoxen.io/learn/what-spf-dkim-and-dmarc-each-do</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-spf-dkim-and-dmarc-each-do</guid>
      <description>SPF checks the server, DKIM checks the message, DMARC checks they agree with the address you can see. Plus the 10-lookup limit and why p=none protects nobody.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What CORS actually protects</title>
      <link>https://securoxen.io/learn/what-cors-actually-protects</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-cors-actually-protects</guid>
      <description>Not your API. CORS constrains what browser JavaScript may read, and curl ignores it entirely. Plus the reflected-origin-with-credentials combination that undoes it.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A PDF is an envelope, not a page</title>
      <link>https://securoxen.io/learn/a-pdf-is-an-envelope-not-a-page</link>
      <guid isPermaLink="true">https://securoxen.io/learn/a-pdf-is-an-envelope-not-a-page</guid>
      <description>Around the pixels you see, a PDF carries a text layer, fonts, metadata and embedded objects - and &quot;saved over&quot; content can stay in the file. Why covering text is not redacting, and what splitting and merging drags along.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Every image format is a compromise</title>
      <link>https://securoxen.io/learn/every-image-format-is-a-compromise</link>
      <guid isPermaLink="true">https://securoxen.io/learn/every-image-format-is-a-compromise</guid>
      <description>Lossy is a verb, not a label: each save degrades again, and conversion is also a privacy decision. A format picker that turns your needs into the format that actually fits them.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Mock data is a liability waiting to happen</title>
      <link>https://securoxen.io/learn/mock-data-is-a-liability</link>
      <guid isPermaLink="true">https://securoxen.io/learn/mock-data-is-a-liability</guid>
      <description>Realistic fake records become real data by copy-paste, and a Luhn-valid test card is a lesson about shallow validation. Spot the PII fields before the schema becomes your product.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Your favicon is an identity vector</title>
      <link>https://securoxen.io/learn/your-favicon-is-an-identity-vector</link>
      <guid isPermaLink="true">https://securoxen.io/learn/your-favicon-is-an-identity-vector</guid>
      <description>The tab icon is the most trusted visual on the web that nobody checks - and anyone can clone it. Why 16 pixels is the real canvas, and why the icon is a cue, not a check.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What your keyboard actually sends</title>
      <link>https://securoxen.io/learn/what-your-keyboard-actually-sends</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-your-keyboard-actually-sends</guid>
      <description>event.key is the character, event.code is the physical key, and keyCode is a deprecated accident. How the three disagree, why shortcuts must use code, and what a global listener really sees.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why randomness is hard</title>
      <link>https://securoxen.io/learn/why-randomness-is-hard</link>
      <guid isPermaLink="true">https://securoxen.io/learn/why-randomness-is-hard</guid>
      <description>Math.random is a deterministic algorithm, modulo introduces bias, and an entropy score cannot tell that you chose the string yourself.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What an SSH key actually authorises</title>
      <link>https://securoxen.io/learn/what-an-ssh-key-actually-authorises</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-an-ssh-key-actually-authorises</guid>
      <description>The comment on the end proves nothing, authorized_keys is an access control list nobody reviews, and the options field almost no one uses is the useful part.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Key management without a vault</title>
      <link>https://securoxen.io/learn/key-management-without-a-vault</link>
      <guid isPermaLink="true">https://securoxen.io/learn/key-management-without-a-vault</guid>
      <description>For a team of three: enumerate first, rotate on a schedule you can keep, and scope the credential rather than hiding it better.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The audit log you will wish you had</title>
      <link>https://securoxen.io/learn/the-audit-log-you-will-wish-you-had</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-audit-log-you-will-wish-you-had</guid>
      <description>Application logs record what the software did; an audit log records what a person did. Plus the impersonation gap most support tools leave wide open.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Least privilege is a verb</title>
      <link>https://securoxen.io/learn/least-privilege-is-a-verb</link>
      <guid isPermaLink="true">https://securoxen.io/learn/least-privilege-is-a-verb</guid>
      <description>Permissions only ever ratchet upwards, because every grant has a reason and nothing has an expiry. What actually removes access when the reason ends.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Idempotency is a security property</title>
      <link>https://securoxen.io/learn/idempotency-is-a-security-property</link>
      <guid isPermaLink="true">https://securoxen.io/learn/idempotency-is-a-security-property</guid>
      <description>If replaying a request produces a second effect, anyone who can capture it can cause that effect at will. Webhooks, one-time links and TOTP codes all live here.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to receive a vulnerability report</title>
      <link>https://securoxen.io/learn/how-to-receive-a-vulnerability-report</link>
      <guid isPermaLink="true">https://securoxen.io/learn/how-to-receive-a-vulnerability-report</guid>
      <description>The most common reason a bug goes unreported is that nobody could work out where to send it. security.txt, a policy that promises not to sue, and fast acknowledgement.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The guest wifi problem</title>
      <link>https://securoxen.io/learn/the-guest-wifi-problem</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-guest-wifi-problem</guid>
      <description>A wifi QR code carries the password in plain text on a poster anyone can photograph. Why isolation matters more than the passphrase.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a lockfile actually locks</title>
      <link>https://securoxen.io/learn/what-a-lockfile-actually-locks</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-lockfile-actually-locks</guid>
      <description>Exact versions and integrity hashes - which makes it a security control, not a convenience. The line worth stopping on is a hash that moved while the version did not.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The shared account nobody owns</title>
      <link>https://securoxen.io/learn/the-shared-account-nobody-owns</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-shared-account-nobody-owns</guid>
      <description>It destroys attribution, makes offboarding impossible, and usually comes with a TOTP secret screenshotted into a group chat. Including the one you forgot: the registrar.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Security questions are passwords you cannot change</title>
      <link>https://securoxen.io/learn/security-questions-are-passwords-you-cannot-change</link>
      <guid isPermaLink="true">https://securoxen.io/learn/security-questions-are-passwords-you-cannot-change</guid>
      <description>Public answers, a tiny answer space, and permanent once leaked - sitting on the recovery path, which makes them an alternative to your password and your second factor.</description>
      <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Passkeys, and what they actually replace</title>
      <link>https://securoxen.io/learn/passkeys-and-what-they-replace</link>
      <guid isPermaLink="true">https://securoxen.io/learn/passkeys-and-what-they-replace</guid>
      <description>Not &quot;passwords stored better&quot; - with a passkey there is no shared secret anywhere. Why a breached site leaks nothing usable, and why they resist phishing when TOTP does not.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why a CDN script is a supply-chain risk</title>
      <link>https://securoxen.io/learn/why-a-cdn-script-is-a-supply-chain-risk</link>
      <guid isPermaLink="true">https://securoxen.io/learn/why-a-cdn-script-is-a-supply-chain-risk</guid>
      <description>A script tag says: execute whatever this domain serves, forever. The polyfill.io incident showed how that fails without anyone being hacked - and what actually prevents it.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How a malicious link hides in plain sight</title>
      <link>https://securoxen.io/learn/how-a-malicious-link-hides-in-plain-sight</link>
      <guid isPermaLink="true">https://securoxen.io/learn/how-a-malicious-link-hides-in-plain-sight</guid>
      <description>Subdomain tricks, homograph characters and open redirects all defeat &quot;just check the link&quot;. Where a browser actually decides which site it is talking to, and how to read it.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What the padlock does not tell you</title>
      <link>https://securoxen.io/learn/what-the-padlock-does-not-tell-you</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-the-padlock-does-not-tell-you</guid>
      <description>It certifies the pipe, not the people. Certificates are free and instant, so phishing sites have them too - what a certificate does prove, and what to check instead.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Encoding, encryption, hashing: which one you actually need</title>
      <link>https://securoxen.io/learn/hashing-is-not-encryption</link>
      <guid isPermaLink="true">https://securoxen.io/learn/hashing-is-not-encryption</guid>
      <description>Three words used interchangeably that do completely different jobs. Why &quot;we store passwords encrypted&quot; is a red flag, and why SHA-256 is a fine hash and a terrible password hash.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a Content-Security-Policy actually stops</title>
      <link>https://securoxen.io/learn/what-a-csp-actually-stops</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-csp-actually-stops</guid>
      <description>Most policies in the wild are decorative, undone by a single value. What 'unsafe-inline' gives away, why connect-src is the directive people forget, and how to roll one out without breaking the site.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What file permissions actually mean</title>
      <link>https://securoxen.io/learn/what-file-permissions-actually-mean</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-file-permissions-actually-mean</guid>
      <description>chmod 777 makes the error go away and creates the finding in the next audit. What the three digits say, why execute means something different on a directory, and why the fix is usually chown.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>QR codes are links you cannot read</title>
      <link>https://securoxen.io/learn/qr-codes-are-links-you-cannot-read</link>
      <guid isPermaLink="true">https://securoxen.io/learn/qr-codes-are-links-you-cannot-read</guid>
      <description>Every phishing check starts with looking at the URL, and a QR code is a link with the text removed. What a code can carry beyond a web page, and the sticker attack that needs no skill at all.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The first hour of an incident</title>
      <link>https://securoxen.io/learn/the-first-hour-of-an-incident</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-first-hour-of-an-incident</guid>
      <description>The instinct that makes it worse is tidying up before containing. Why revoking beats deleting, why changing a password does not end a session, and what not to paste into the incident channel.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a regex cannot enforce</title>
      <link>https://securoxen.io/learn/what-a-regex-cannot-enforce</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-regex-cannot-enforce</guid>
      <description>A pattern matcher promoted to a security control. Unanchored patterns that mean &quot;contains&quot;, one unescaped dot that opens an allowlist, and the nested quantifier that hangs a process.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why your JSON is a security boundary</title>
      <link>https://securoxen.io/learn/why-your-json-is-a-security-boundary</link>
      <guid isPermaLink="true">https://securoxen.io/learn/why-your-json-is-a-security-boundary</guid>
      <description>Parsing is the easy half. Spreading untrusted data into a config lets the sender choose your settings, inferred types lie about nullability, and a lone null infers as null.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a diff does not show you</title>
      <link>https://securoxen.io/learn/what-a-diff-does-not-show-you</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-diff-does-not-show-you</guid>
      <description>Code review assumes the reviewer sees what changed. Whitespace mode hides indentation edits, big diffs get approved unread, and lockfiles change thousands of lines invisibly.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Timezones will ruin your logs</title>
      <link>https://securoxen.io/learn/timezones-will-ruin-your-logs</link>
      <guid isPermaLink="true">https://securoxen.io/learn/timezones-will-ruin-your-logs</guid>
      <description>Log in UTC or lose an hour twice a year. The repeated hour is genuinely ambiguous, a window can land on a different weekday, and clock drift rejects valid 2FA codes.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Every YAML is a program you trust</title>
      <link>https://securoxen.io/learn/every-yaml-is-a-program-you-trust</link>
      <guid isPermaLink="true">https://securoxen.io/learn/every-yaml-is-a-program-you-trust</guid>
      <description>The Norway problem, version numbers that become floats, anchors that expand exponentially, and loaders that instantiate arbitrary types from a document you did not write.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a stack trace gives away</title>
      <link>https://securoxen.io/learn/what-a-stack-trace-gives-away</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-stack-trace-gives-away</guid>
      <description>Absolute paths, dependency versions, local variables and customer data - written by your software at the moment it was confused, and pasted into public issues daily.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The checksum you did not verify</title>
      <link>https://securoxen.io/learn/the-checksum-you-did-not-verify</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-checksum-you-did-not-verify</guid>
      <description>A hash hosted next to its file is a corruption check, not a security control. Why MD5 proves nothing, and what makes a checksum actually mean something.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>base64url is not base64</title>
      <link>https://securoxen.io/learn/base64url-is-not-base64</link>
      <guid isPermaLink="true">https://securoxen.io/learn/base64url-is-not-base64</guid>
      <description>Three characters of difference and a long tail of intermittent bugs. Why a token works for weeks then breaks for one user, and why double-encoding is the wrong fix.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Open redirects are not harmless</title>
      <link>https://securoxen.io/learn/open-redirects-are-not-harmless</link>
      <guid isPermaLink="true">https://securoxen.io/learn/open-redirects-are-not-harmless</guid>
      <description>The classic wontfix. It launders your domain so every check a careful user makes passes, and in OAuth it hands the authorization code to whoever set the parameter.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a certificate actually says</title>
      <link>https://securoxen.io/learn/what-a-certificate-actually-says</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-certificate-actually-says</guid>
      <description>A signed statement binding a key to a name - and nothing else. Why EV was abandoned, why self-signed is not insecure, and why the chain is the part that breaks.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Secrets in environment variables</title>
      <link>https://securoxen.io/learn/secrets-in-environment-variables</link>
      <guid isPermaLink="true">https://securoxen.io/learn/secrets-in-environment-variables</guid>
      <description>Moving a secret out of the repo is a real improvement and not a solution. Child processes inherit them, crash reporters capture them, and rotation means a redeploy.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The dependency you did not choose</title>
      <link>https://securoxen.io/learn/the-dependency-you-did-not-choose</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-dependency-you-did-not-choose</guid>
      <description>You picked a dozen libraries and installed a thousand. Install scripts run before your code does, and a lockfile is a security control rather than a convenience.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Rate limiting is a security control</title>
      <link>https://securoxen.io/learn/rate-limiting-is-a-security-control</link>
      <guid isPermaLink="true">https://securoxen.io/learn/rate-limiting-is-a-security-control</guid>
      <description>Most attacks are not clever - they are allowed to run a million times. Credential stuffing, enumeration and 2FA brute force all end at the attempt limit.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Logging what you should not</title>
      <link>https://securoxen.io/learn/logging-what-you-should-not</link>
      <guid isPermaLink="true">https://securoxen.io/learn/logging-what-you-should-not</guid>
      <description>Logs are the least access-controlled copy of your most sensitive data. Bearer tokens, reset links and full request bodies, retained forever because nobody owns the decision.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The backup you never restored</title>
      <link>https://securoxen.io/learn/the-backup-you-never-restored</link>
      <guid isPermaLink="true">https://securoxen.io/learn/the-backup-you-never-restored</guid>
      <description>A backup that has never been restored is a file with a hopeful name. Ransomware looks for backups first, and RPO and RTO are decisions rather than defaults.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why deleting is harder than it looks</title>
      <link>https://securoxen.io/learn/why-deleting-is-harder-than-it-looks</link>
      <guid isPermaLink="true">https://securoxen.io/learn/why-deleting-is-harder-than-it-looks</guid>
      <description>Soft deletes, backups, caches, search indexes, logs, third parties and CDNs each learned about the data independently and none are listening for the delete.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What a VPN does, and does not do</title>
      <link>https://securoxen.io/learn/what-a-vpn-does-and-does-not-do</link>
      <guid isPermaLink="true">https://securoxen.io/learn/what-a-vpn-does-and-does-not-do</guid>
      <description>You are moving trust rather than removing it. The public wifi argument is mostly obsolete now everything is HTTPS, and changing your IP does nothing about fingerprinting.</description>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
