PGP

Contents

D6F8 F9BC 780B DD98 8FDC 251D 5FE5 93CB D730 2B8D

Note: This key was renewed on 2019-10-29.

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
GnSvxmUTSZNPEaRnf6Re8M4=
=FIf6
-----END PGP PUBLIC KEY BLOCK-----

Verification

Keybase

I have a public Keybase profile. It hosts a profile that is verified based on signatures posted on my GitHub and Twitter accounts. You can find the signed messages here:

The idea is this: if you know me from GitHub (used often) or Twitter (not used often), you can use Keybase to confirm my identity based on that. While this might not confirm identities in general (i.e. it is not the same as verifying me based on my driver’s license), you can at least confirm that my public online identity is the same throughout these accounts. If you know me personally, then this serves as a verification of my online presence, and when I sign messages, you can be sure that they came from me.

You don’t have trust Keybase itself for you to be sure of this. If you download the messages and verify them with a GPG implementation against my public key, everything will check out just the same.