Privacy Required
Keep personal data out of addresses
Never put names, email addresses or other personal data in URLs. Send them in the body of a POST request instead. Only single-use links from an email may carry a random token.
How to do it
Use method="post" for every form with personal data. Addresses end up in browser history, server logs, analytics and the Referer header sent to other sites. Send Referrer-Policy: strict-origin-when-cross-origin or stricter as a safety net. A token in an email link must be random, expire, work once where it signs in, and never appear in logs. Send Referrer-Policy: no-referrer on that page. See sign-in links.
Example
<!-- Bad: the email lands in logs and history -->
<form action="/subscribe" method="get">
<!-- Good -->
<form action="/subscribe" method="post">
How to check
Submit every form with test data. Search the access log and the browser history for the test values, and find none. Open an email link, and the access log shows the path without its token.
For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers website playbook: https://agentwranglers.se/playbook/website/privacy/personal-data-out-of-urls.