SpruceID Developer Update #35
At SpruceID, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts.
In case you missed it, check out our previous update here:
At SpruceID, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts:
SpruceKit
SpruceKit is a collection of libraries that power your application to accept digital credentials from users on their terms, originate trusted information for users, and interact with user data vaults. SpruceKit consists of the following open-source libraries:
- SSX
- Sign-in with Ethereum
- DIDKit/SSI
- TreeLDR
- Provides access to Kepler and Rebase
SSX
SSX (Self-Sovereign Anything) is the easiest way to integrate Sign-In with Ethereum, enable DAO logins, resolve ENS names, and more. It is the go-to library for developers in Web3 to get started with decentralized identity.
- Work is currently in progress to add support for signing in to services using WebAuthn. This will allow users to sign in and manage their SSX-based tools using their devices' Passkeys, as an alternative option to Ethereum wallets.
Sign-In with Ethereum
Sign-In with Ethereum is a new form of authentication that enables users to control their digital identity with their Ethereum account and ENS instead of relying on a traditional intermediary.
- SIWE-py: We recently upgraded to pydantic 2.0 (siwe-py@v2.3.0) and improved typing, linting, and CI (siwe-py@v2.4.0)
- We've updated the Discourse plugin to add support for ENS names (discourse-siwe-auth#24)
Kepler
Kepler is a decentralized storage network organized around data overlays called Orbits. Kepler allows users to securely share their digital credentials, private files, and sensitive media to blockchain accounts, all using your Web3 wallet.
- Work is underway to add support for authorization tokens signed with WebAuthn. This will allow users to access and manage Kepler orbits on any modern device using their Passkeys, as an alternative to an Ethereum account.
DIDKit/SSI
DIDKit provides Verifiable Credential and Decentralized Identifier functionality across different platforms. DIDKit's core libraries are written in Rust due to Rust's expressive type system, memory safety, simple dependency web, and suitability across different platforms including embedded systems, but the comprehensive DIDKit SDK includes many libraries and interfaces for using it almost everywhere.
- Major refactor: We are working on a major refactor to integrate with TreeLDR and improve our implementation of the various Verifiable Credentials and Decentralized ID specifications (ssi#508). We are currently in the testing stage in order to improve the user experience prior to release.
- New Library: We’ve created a new library for (de)serialization of Linked-Data types (linked-data-rs) that will help to define credentials.
Rebase
- We are working to add session key-based issuance for all attestation-based credentials. This enables users who sign a SIWE message with an embedded ReCap delegation to not have to sign for the creation of these credentials, greatly improving UX for social media-style apps (like the Sprouts). The final credential includes the delegate key’s DID so that the creator can track what credentials were issued by a particular session, but includes no identifying information about what site was used to create the credential.
About SpruceID: SpruceID is building a future where users control their identity and data across all digital interactions. If you're curious about integrating SpruceID's technology into your project, come chat with us in our Discord.