Janus is an authentication and authorization system with the following properties:
- Provable: It's always possible to prove the correctness of a statement. 1 2 3
- Antifragile: As load increases, the system becomes more robust.
- Federated: It's possible to federate multiple instances, thanks to its capability based model.
This is the repository for the design documents. Use the table of contents below to navigate, or visit:
- Javascript implementation of client and server.
- Rust implementation (coming soon)
- YouTube channel where we discuss the Janus system.
Introduction: What problems does Janus try to solve, and how?
Problems: What problems does Janus try to solve?
- Secrets: What problems does Janus try to solve, and how?
- Fragility: What problems does Janus try to solve, and how?
- Fragmentation: What problems does Janus try to solve, and how?
- Attacks: What problems does Janus try to solve, and how? Solutions: How does Janus solve the auth problem?
- Hybrid cryptosystems
- Scalability
- Capabilities
- Defenses
Tools: Which tools does Janus use?
Architecture: What is Janus made of?
Protocols: How does Janus work?
- permission tree
- authorization flow
- blockchain storage