Effort to create an access-control-system for Hyperdrive and the Hypercore Protocol in general.
It is designed with the Local-First Software Principles in mind.
At it's heart it is powered by a customly written graph DB that implements access control entirely using a cryptographic capability access control model.
In order to simplify the development of local-first software, this adds access control to Hyperdrive:
- fine-grained per-file and per-directory control of read- and write permissions
- sharing files either by URL or with known contacts in-app
- ability to give replication- and verification-capabilities without giving read access
- basic user and identity management
- permissions can be revoked
Certacrypt Filemanager is the demo application for CertaCrypt
- HyperObjects is a transaction-log based object store built on Hypercore
- Hyper-GraphDB is a Graph-DB built on HyperObjects
- CertaCrypt-Graph implements capability-based access control for Hyper-GraphDB
- CertaCrypt-Crypto provides the cryptography for CertaCrypt and is designed to be interchangeable
- HyperPubSub is utilized as a PubSub system on top of existing Hyperswarm P2P connections
- Initial Concept "Paper" (old)
- Drive
- Multiwriter / Collaboration Spaces
- Inbox
- Pre-Shared Vertices
- Private Communication Channels
- Open Communication Channel
- Multiwriter CRDT
- App Sessions
- Contacts
- Permission Revocation
This has been developed as part of a master thesis (available here), supervised by the Institute of Networks and Security, Johannes Kepler University Linz (Austria).
(c) Stefan Fixl, 2023.