Upspin is a decentralized naming and storage system that provides an end-to-end encrypted file system. It assigns every user a unique identity and organizes files within a global, permissioned namespace where data is encrypted on the client before transmission.
The system separates identity resolution from data storage using a public-key identity provider and a key-server architecture. This allows for decentralized identity management and the resolution of usernames to specific directory and storage server addresses.
The project includes a hierarchical access control system that manages read and write permissions through directory-based rules and plain-text files. It also features a virtual filesystem integration that uses FUSE to expose the remote global namespace as a local mount point on Linux and macOS.
Additional capabilities include a command-line interface for namespace administration, client-side metadata caching to reduce latency, and tools for storage server deployment.