Peergos is a free, open source data security & privacy project written in Java and released under AGPL-3.0. It has 2,519 GitHub stars, 199 forks and 103 open issues, and was last pushed 8 hours ago. On this registry it ranks #13 of 14 tracked projects in Data Security & Privacy, with 5 head-to-head comparisons available. It gained 6 stars over the last 6 tracked days.

What is Peergos?

What it is

Peergos is a peer-to-peer secure file storage system, social network, and application protocol built in Java under AGPL-3.0. It lives in the IPFS, IPLD, and libp2p ecosystem and supports a private web where users control their data, decide where it is stored, and determine who can see it. The project addresses centralized services that can track users, expose personal data, and observe relationships or file contents without cryptographic access control.

Its core is an encrypted global filesystem with fine-grained access control designed to resist surveillance of data content and friendship graphs. Peergos also provides a secure messenger, an encrypted email client and bridge, and a social network where visibility rules are enforced cryptographically. The name connects the Greek word Pyrgos, meaning stronghold or tower, with peer-to-peer operation.

Key capabilities

  • It provides a peer-to-peer encrypted global filesystem for storing documents and files without a central node.
  • It enforces fine-grained access control so users can decide who sees specific personal data.
  • It uses end-to-end encryption and cryptographic controls to resist surveillance of file contents and friendship graphs.
  • It includes a secure messenger.
  • It includes an encrypted email client and bridge.
  • It provides a social network where users control who sees what through cryptographic enforcement.
  • It supports read-only secret links.

Who uses it and how

  • Individuals use Peergos to store files in a peer-to-peer network while retaining control over storage location and access.
  • Users can share folders through read-only secret links.
  • People can sign up for the hosted paid server at https://peergos.net/ to use the service without running infrastructure themselves.
  • Developers and evaluators can study the architecture through the tech book, release notes, audit reports, and talks linked from the project.
  • Community members can discuss the project in the public Matrix chat room.

Getting started

The provided facts describe a hosted option at https://peergos.net/ and a read-only secret link for trying a shared folder, but they do not list Docker images, package managers, or self-hosting commands. Users can begin with the paid hosted server or inspect the linked tech book, releases, and audit materials.

When to use it — and when not to

Peergos fits when the priority is cryptographic control over files, messages, email, and social visibility in a peer-to-peer setting within the IPFS, IPLD, and libp2p ecosystem. The hosted paid server remains the only deployment method explicitly described, so teams that need documented self-hosting or strong evidence of active contributor maintenance should review the metadata showing 0 contributors, 103 open issues, and no install or deployment instructions in the README.

project readme (upstream, from github) — read inline

Peergos Logo

Peergos

Peergos is building the next web - the private web, where end users are in control. Imagine web apps being secure by default and unable to track you. Imagine being able to control exactly what personal data each web app can see. Imagine never having to log in to an app ever again. You own your data and decide where it is stored and who can see it. At Peergos, we believe that privacy is a fundamental human right and we want to make it easy for everyone to interact online in ways that respect this right.

The foundation of Peergos is a peer-to-peer encrypted global filesystem with fine-grained access control designed to be resistant to surveillance of data content or friendship graphs. It has a secure messenger, an encrypted email client and bridge, and a totally private and secure social network, where users are in control of who sees what (executed cryptographically). Our motto at Peergos is, "Control your data, control your destiny."

The name Peergos comes from the Greek word Πύργος (Pyrgos), which means stronghold or tower, but phonetically spelt with the nice connection to being peer-to-peer. Pronunciation: peer-goss (as in gossip).

Screenshots

Drive

See more screenshots in the web-ui repository https://github.com/Peergos/web-ui.

Try it now!

Want to try it out now? Here's a read-only secret link to a folder;

Sign-up

We run a paid server at https://peergos.net/.

Tech book

You can read more detail about our features and architecture in our tech book.

Recent progress

To see recent developments read the latest release notes or see our web-ui repo releases.

Media

The slides of a talk introducing Peergos are here

Deep dive at IPFS Camp 2024

IPFS Camp 2024

Deep dive at Devstaff Crete:

Deep dive

Overview at IPFS Thing:

Overview

Architecture details

Applications on Peergos:

Overview

A better web: secure, private p2p apps with user owned data and identity

Applications deep dive:

Overview

Architecture talk at IPFS Lab Day:

Architecture Talk

Introduction and 2020 update:

Introduction and 2020 update

Introduction:

Introduction

Support

If you would like to support Peergos development, then please make a

recurring donation less than 100 EUR per week

or a

larger or one off donation.

Audits

2024

https://peergos.org/posts/security-audit-2024

2019

https://peergos.org/posts/security-audit

All audit reports

https://github.com/Peergos/Peergos/tree/master/audits

Chat room

There is a public chat room for Peergos on Matrix.

Peergos aims

  • Allow individuals to securely and privately store files in a peer to peer network which has no central node and is generally difficult to disrupt or surveil
  • Allow secure sharing of files with other users of the network without visible meta-data (who shares with who)
  • Allow web apps to be loaded and run directly from Peergos in a sandbox that prevents data exfiltration and with user granted permissions
  • Have a beautiful user interface that any computer or mobile user can understand
  • Be independent of the central TLS Certificate Authority trust architecture
  • Be self-hostable - A user should be able to easily run Peergos on a machine in their home and get their own Peergos storage space, and social communication platform from it.
  • Have a secure web interface

Project anti-aims

  • Peergos does not provide anonymity, yet. Anonymity can be achieved by creating and only ever accessing a User account over Tor

Architecture

1.0 Layers of architecture

  • 1: Peer-to-peer and data layer - IPFS provides the data storage, routing and retrieval. A User must have at least one Peergos instance storing their data for it to be available.
  • 2: Authorization Layer - a key pair controls who is able to modify parts of the file system (every write is signed)
  • 3: Data storage - controlled by a given public key there is a merkle-champ of encrypted chunks under random labels, without any cross links visible to the server (the server can't deduce the size of files)
  • 4: Encryption - Strong encryption is done on the user's machine using TweetNaCl, with each 5MiB chunk of a file being encrypted independently.
  • 5: Social layer implementing the concept of following or being friends with another user, without exposing the friend network to anyone.
  • 6: Sharing - Secure cryptographic sharing of files with friends.

2.0 Language

  • The IPFS layer is coded in Java - we have a minimal ipfs implementation - Nabu
  • The Peergos server is coded to run on JVM to get portability and speed, predominantly Java
  • The web interface is mostly coded in Java and cross compiled to JavaScript, with the exception of the Tweetnacl and scrypt libraries, and a small amount of GUI code in JS for Vue.js.
  • Apps are written in HTML5

3.0 Nodes

  • There is a pki node which ensures unique usernames using a structure similar to certificate transparency. This data is mirrored on every peergos server.
  • A new node contacts any public Peergos server to join the network

4.0 Trust

  • New versions of the software will be delivered through Peergos itself. (Able to be turned off by the user if desired)
  • A user who trusts a public Peergos server (and the SSL Certificate authority chain) can use the web interface over TLS
  • A less trusting user can run a Peergos server/proxy on their own machine and use the web interface over localhost
  • A more paranoid user can run a Peergos server on their own machine and use the CLI or the fuse/webdav binding
  • Servers are trustless - your data and metadata cannot be exposed even if your server is compromised (assuming your client is not compromised)
  • IPFS itself is not trusted and all data stored or retrieved from it is self-certifying.
  • The data store (which may not be ipfs directly, but S3 compatible service for example) is also not trusted

4.0 Logging in

  • A user's username is used along with a random salt and the hash of their password and run through scrypt (with parameters 17, 8, 1, 96, though users can choose harder parameters if desired) to generate a symmetric key and a signing keypair. The signing keypair is then used to auth and retrieve encrypted login data. This login data is then decrypted using the symmetric key to obtain the identity key pair, social keypair and root directory capability. This means that a user can log in from any machine without transferring any keys, and also that their keys are protected from a brute force attack (see slides mentioned above for a cost estimate).

5.0 Encryption

  • Private keys never leave the client node. Two random symmetric keys are generated for every file or directory (explicitly not convergent encryption, which leaks information)

5.1 Post-quantum encryption

  • Files that haven't been shared with another user are already resistant to quantum computer based attacks. This is because the operations to decrypt them from logging in, to seeing plain-text, include only hashing and symmetric encryption, both of which are currently believed to not be significantly weakened with a quantum computer.
  • Files that have been shared between users are, currentl

readme truncated — read the full docs on github

Frequently asked questions

Is Peergos free to use?

Peergos is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Peergos do?

Secure, private, and decentralized file storage

What is Peergos written in?

Peergos is primarily written in Java. Its source is publicly available at https://github.com/Peergos/Peergos, and it has 2,519 GitHub stars.