{"repo":"local-first-web/auth","free":true,"listed":false,"github":"https://github.com/local-first-web/auth","clone":"git clone https://github.com/local-first-web/auth.git","description":"Decentralized authentication and authorization for team collaboration, using a secure chain of cryptological signatures. (Formerly known as 🌮 Taco.)","language":"TypeScript","stars":322,"topics":["cryptography","peer-to-peer","authentication","authorization","taco","signature-chain","team-collaboration","local-first","invitation","seitan"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"@localfirst/auth is a TypeScript library providing decentralized authentication and authorization for team collaboration, using a secure chain of cryptographic signatures. Why 🤝 You're building a local-first app to enable distributed collaboration without a central server. 🔑 You want to authenticate users and manage their permissions . 🚫 You don't want to depend on a centralized authentication server or a key management service. 💙 You want to provide a easy and seamless experience to users creating and joining teams 🤔 You don't want to expose any of the underlying cryptographic complexity. How it works This library uses a conflict-free replicated state container based on a signature chain (provided by the CRDX library) to manage team membership, permissions, and authentication. All changes to the team's membership and permissions are recorded on the signature chain as a sequence of signed and hash-chained actions. Every team member keeps a complete replica of the signature chain and can validate other members' actions independently. All authorizations can be traced back to the root action, created by the team's founding member. The chain thereby builds a tamper-proof, distributed web of trust . The team's signature chain also acts as a self-contained certificate authority or public key infrastructure (PKI) solution. At any point in time we calculate the team's current state from it, which includes each member's public keys, as well as their status and roles. This allows ","default_branch":null,"files":null,"tree":[],"storefront":"/r/local-first-web","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/local-first-web/auth/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}