<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Contact-Form on Ergophobia</title><link>https://ergophobia.org/tags/contact-form/</link><description>Recent content in Contact-Form on Ergophobia</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 30 Aug 2026 00:00:00 -0400</lastBuildDate><atom:link href="https://ergophobia.org/tags/contact-form/index.xml" rel="self" type="application/rss+xml"/><item><title>Ergophobia — week of 2026-08-24 (continued)</title><link>https://ergophobia.org/updates/2026-08-30-ergophobia/</link><pubDate>Sun, 30 Aug 2026 00:00:00 -0400</pubDate><guid>https://ergophobia.org/updates/2026-08-30-ergophobia/</guid><description>&lt;p&gt;The contact form got most of the attention. A hardening pass first: the honeypot&#10;field is hidden from screen readers so nobody using assistive tech fills it in by&#10;accident, the rate limiter&amp;rsquo;s memory is bounded and sweeps idle entries, and two&#10;bypasses are closed. It trusted whatever the client put in the forwarded-for&#10;header, and the Bun process listened on every interface instead of loopback. Then&#10;the bigger change: the form takes several attachments in one submit, and the&#10;handler encrypts message and files to my published PGP key before handing them to&#10;sendmail. What lands in the spool on the VPS is ciphertext. The public key is on&#10;the contact page and at /jim.asc.&lt;/p&gt;</description></item></channel></rss>