Skip to main content
maxtaco u/maxtaco avatar

maxtaco

u/maxtaco

Feed options
Hot
New
Top
View
Card
Compact

I built FOKS as a fully open-source, fully federated successor to Keybase. All refs, blobs, packs, and other server-side resources are end-to-end encrypted. Also, all encryption is PQ-secure, unlike Keybase.



Thanks for the feedback! From the server's perspective, all git objects are stored as encrypted key-value pairs. The names (i.e. the sha-1 hashes) of the objects are encrypted, as are the values. This means the server can't see branch names and refs. It can likely infer timestamps from access patterns, but it hasn't done so, and if you run the server yourself, it's an added layer of protection. There is no sever-side merging, since the server can't see enough plaintext to help there. So those features you indicate that leak content weren't attempted. For key backup and recovery, there's a pretty good discussion in the white paper (see https://foks.pub). For build transparency, everyone is welcome to build their own clients from our git repo, but you're right, we can invest more efforts here on making builds reproducible and sticking them in transparency logs. For migration, we support the obvious pathways (git pull --all && git push --all), but nothing more sophisticated. There are no identity proofs yet and they aren't really needed for the applications we have so far. But they could be useful to build other features.


FOKS: Self-Hosted Keybase
Image
r/SelfHosting
FOKS: Self-Hosted Keybase

Hi folks, I'm the co-founder and former CEO of Keybase. After I left, I built a self-hosted version called "the Federated Open Key Service", or FOKS. It gives users end-to-end encrypted Git hosting, and key-value storage. Files are plaintext on your computer, but get encrypted before being sent up to the server. The server lacks the keys to decrypt, as only the clients have those keys. The server can be one you host in the cloud, or one you host on your home machine. There also is a hosted option for people who are lazy. Installation is meant to be very simple, mainly via docker compose. Check it out and please let me know if you have any feedback. Thank you!

https://blog.foks.pub/posts/introducing/


I the mean time, we do encourage you to create a team!


We don't currently allow impromptu teams because it would complicate the UX, but it's definitely possible. We'll add it if there's enough interest.


That was the naive approach. The fancy crypto approach is that the publisher publishes hashes of the original blocks, but can still verify the erasure-encoded blocks as they arrive.


I wrote a paper on this problem in 2004: https://pdos.csail.mit.edu/papers/otfvec/paper.pdf