Filippo Valsorda's Avatar

Filippo Valsorda

@filippo.abyssdomain.expert

RC F'13, F2'17 Cryptogopher / Go cryptography maintainer Professional open source maintainer https://filippo.io / https://github.com/FiloSottile https://mkcert.dev / https://age-encryption.org https://sunlight.dev / https://filippo.io/newsletter

40,399
Followers
512
Following
2,156
Posts
18.04.2023
Joined
Posts Following

Latest posts by Filippo Valsorda @filippo.abyssdomain.expert

I'm really glad that 404 Media correctly called out the "Proton did not provide any information to the FBI" line as disingenuous. It's not a good sign when a provider is more interested in playing semantic games than realistically explaining their threat model.

05.03.2026 21:28 πŸ‘ 96 πŸ” 39 πŸ’¬ 2 πŸ“Œ 0

Who thinks "clean room" is needed to reimplement and put it into a new license does NOT understand copyright. Clean room is a trick to make litigation simpler, it is not mandated by law: rewrites are allowed. The new code just must not copy protected expressions. Linus was Unix-aware.

05.03.2026 11:26 πŸ‘ 32 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0
HTML Sanitizer API browser support list with unsupported Safari being poked with a stick by the White Ninja meme

HTML Sanitizer API browser support list with unsupported Safari being poked with a stick by the White Ninja meme

c'mon Safari

03.03.2026 16:40 πŸ‘ 105 πŸ” 9 πŸ’¬ 0 πŸ“Œ 0
Post image

did something very silly, may have some at gophercon this year if you ever sent us a vulnerability report or contributed to Go crypto (or are just nice to me)

thanks to @ljamesart.bsky.social who did the great art!

03.03.2026 01:04 πŸ‘ 78 πŸ” 5 πŸ’¬ 5 πŸ“Œ 0
Preview
.website: add tests based on repository imported from git fast-export Β· C2SP/C2SP@99d43ad Community Cryptography Specification Project. Contribute to C2SP/C2SP development by creating an account on GitHub.

TIL about the git fast-import textual format!

Lets me write tests for the new c2sp.org redirector against a synthetic git repository I can easily edit, and even gives me stable shorthands to refer to commits.

02.03.2026 15:04 πŸ‘ 14 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

If you are a regular user, the same way as you would do with passwords saved in iCloud Keychain: by resetting them and/or registering a new passkey.

Don't try to tell me that average users export passwords from iCloud to a CSV, transfer them to Android, and import them.

28.02.2026 22:18 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Which phones? Because that is not the UX of iOS or Android.

28.02.2026 21:44 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I find it competently incompatible with my mental model and observations that average users are discussing authentication mechanisms on social media or thinking about how to backup them.

Maybe we have different definitions of regular user.

28.02.2026 14:16 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

That’s only true of nerds, is my point. Average users will tap β€œyes” on β€œlog in with FaceID” and never think about it again.

28.02.2026 14:06 πŸ‘ 8 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0

It's considerably harder to phish email recovery.

But the point is that we don't need to communicate to users why ECDSA P-256 signatures from a resident credential are better!

We just need to enable them and make the login flow smooth, which it really really is.

28.02.2026 13:40 πŸ‘ 9 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I will never understand the need for backup solutions when you can add multiple passkeys to an account, and do email-based recovery (which is true of 99.9% of accounts).

But it's also not true there aren't/weren't any: you can use your favorite open source local password manager!

28.02.2026 13:36 πŸ‘ 8 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0

Passkeys will make something true that my father already asserted for 20 years: "I never had a password for this website, it just worked". πŸ˜„

28.02.2026 10:42 πŸ‘ 25 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

The more nerds (I identify as a nerd!) complain about passkeys, the more I’m confident in their success.

Just read a comment objecting to a passkey being automatically created for them. β€œDark pattern!!1!1 Should be optional!!”

No regular user wants to think about auth.

28.02.2026 10:29 πŸ‘ 124 πŸ” 9 πŸ’¬ 16 πŸ“Œ 0

I might be lacking in imagination, but I seriously doubt it will ever resolve in a default, mainstream browser.

(I do love a good domain name hack though!)

26.02.2026 20:10 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I guess what I am saying is that you can't use pat.ak for almost anything you'd use patak.cat for: website, bsky handle, etc.

26.02.2026 19:48 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

gTLDs are a lot more reliable than ccTLDs, because ICANN can make actual rules for how they are operated, I regret tying my only identity to the .io ccTLD.

But also... I went to look at who operates .ak and it doesn't actually exist. Handshake uses .ak but that's not part of the DNS.

26.02.2026 19:47 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 3
Video thumbnail

ssh is an obscure but widely-deployed command. It stands for Secure Snake Home and was made in the 90s to securely play snake online

I made a massively multiplayer backend for it with support for thousands of concurrent snake players

ssh snakes.run to join!

26.02.2026 16:10 πŸ‘ 539 πŸ” 180 πŸ’¬ 13 πŸ“Œ 13

@aumasson.jp this might be a stupid q but, why does BLAKE tweak the ChaCha perm. into a block cipher to use it in M-D (where the message block is the cipher β€œkey”), instead of using the perm. in a sponge?

25.02.2026 19:52 πŸ‘ 6 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

I saw a like from @jub0bs.com so I guess I will just wait a couple days for the bluemonday or x/net/html security report now.

24.02.2026 20:10 πŸ‘ 13 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

You should be able to set up a fuzzing loop for HTML sanitizing libraries where you do setHTML on s and sanitize(s) and then compare the DOM, to find places where your sanitizer disagrees with the actual browser parser.

I wonder if it would have tolerable false positives.

24.02.2026 19:53 πŸ‘ 28 πŸ” 2 πŸ’¬ 3 πŸ“Œ 0
Preview
Goodbye innerHTML, Hello setHTML: Stronger XSS Protection in Firefox 148 – Mozilla Hacks - the Web developer blog Cross-site scripting (XSS) remains one of the most prevalent vulnerabilities on the web. The new standardized Sanitizer API provides a straightforward way for web developers to sanitize untrusted…

The Sanitizer API landed in Firefox 148, along with element.setHTML().

This lets you fully configure how HTML strings are cleaned as they're parsed.

hacks.mozilla.org/2026/02/good...

24.02.2026 14:18 πŸ‘ 203 πŸ” 58 πŸ’¬ 1 πŸ“Œ 14
Preview
GitHub - hickford/git-credential-oauth: A Git credential helper that securely authenticates to GitHub, GitLab and BitBucket using OAuth. A Git credential helper that securely authenticates to GitHub, GitLab and BitBucket using OAuth. - hickford/git-credential-oauth

ngl, this is how I thought tangled worked until I looked into it, and I like it.

Could it be made to work with github.com/hickford/git... for ephemeral push credentials?

24.02.2026 14:56 πŸ‘ 3 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0
Preview
Geomys, a blueprint for a sustainable open source maintenance firm Announcing Geomys, a small firm of professional maintainers with a portfolio of critical Go projects.

I mean, I have opinions on one way... :)

words.filippo.io/geomys/

23.02.2026 18:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I’m not a fan of grants. They require mountains of overhead work, and encourage always adding features without funding their ongoing maintenance.

23.02.2026 15:02 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yeah just use zip!

21.02.2026 15:57 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
ArchiveBox πŸ—ƒ Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more…

Ooooh maybe we can add atproto integration to archivebox.io?

21.02.2026 10:37 πŸ‘ 7 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

the full PLC story relies on:
- independent governance
- public, formal auditability to stake its reputation
- in case of emergency, credible exit

even in the case described below, there is a story for auditability (see thread). plc read replicas shipped, governance and transparency logs ahead!

20.02.2026 20:21 πŸ‘ 54 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1

David no

20.02.2026 21:50 πŸ‘ 8 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Turn Dependabot Off I recommend turning Dependabot off and replacing it with a pair of scheduled GitHub Actions, one running govulncheck, and the other running CI against the latest version of your dependencies.

Dependabot security alerts have terrible signal-to-noise ratio, especially for Go vulns. That hurts security!

Just turn it off and set up a pair of scheduled GitHub Actions, one running govulncheck and the other running CI with the latest version of your deps.

Less work, less risk, better results!

20.02.2026 19:56 πŸ‘ 90 πŸ” 20 πŸ’¬ 4 πŸ“Œ 1
Preview
GitHub - geomys/pkg.geomys.dev: Source code viewer for Go modules Source code viewer for Go modules. Contribute to geomys/pkg.geomys.dev development by creating an account on GitHub.

github.com/geomys/pkg.g...

20.02.2026 10:54 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0