Looking back at 2023: SpruceID’s Year in Review
The end of the year is always an exciting time, from reflecting on everything we’ve accomplished to planning for the exciting projects that lie ahead.
For SpruceID, 2023 has been a positive year of growth and change. We grew our company, participated in many events that helped expand our community, enhanced our products and platforms, and more.
Let’s take a walk down memory lane through 2023 and revisit some major highlights of the past year together!
👪 Our Team
We gained even more Sprucers this year and remain to be a small but mighty global team. From engineering to product development, marketing, and design, we’re excited to continue to build up our talent to meet the demands of our growing company.
Although we are a remote-first company, we hold offsites every six months for one week at a time to focus on relationship building, align on strategy, and more. This year, we met in Lisbon, Portugal, and Dublin, Ireland!
Interested in joining our awesome team? Check out our open roles here.
🎤 Events and Hackathons
- SpruceID attended ETHDenver this year and connected with others in the decentralized identity space! Our booth offered an interactive experience where visitors could test out claiming a credential to prove they visited our booth and then plant a tree after verifying that credential.
- In March, we hosted did:day, a half-day event during ETHDenver’s #BUIDLWeek with a mission to create a forum dedicated to educating about decentralized identity, how it impacts web3 and beyond, and how to increase adoption. The event consisted of several lightning talks and panels on user-controlled identity, decentralized social media, and more.
- This summer, we participated in the Encode Future of Blockchain University Hackathon. Over the course of four weeks, university students from blockchain clubs across the world learned about decentralized identity, built projects, and competed for prizes. Read more about our bounties and the winners.
- At the end of August, SpruceID hosted the first fully remote asynchronous interoperability test event for mobile driver’s license implementations. This event provided a collaboration forum over the course of two weeks for implementers of the draft technical specification for unattended or fully online presentation of mobile driver’s licenses (ISO/IEC 18013-7). Read more about the event results here.
- We rounded out the year by hosting a webinar with GovTech featuring a fireside chat between Wayne Chang, SpruceID Co-Founder and CEO, and Ajay Gupta, Chief Digital Transformation Officer at the State of California DMV. Watch the webinar to learn more about:
- How the California DMV is offering mobile driver's licenses and other digital credentials, such as car registrations, to its residents and best practices for success
- The importance of open-source development to enable myriad use cases across public and private sectors for verifiable digital identity
- The security and accessibility advantages of digitally verifiable credentials
🛠️ Our Products
Credible
This year, we’ve been honing in on Credible — an entire credential lifecycle management product with security and privacy at its core. From credential issuance and presentations to updates and revocations, Credible is made to integrate into high-assurance environments that require certain safety and security certifications.
- After working with the State of California Department of Motor Vehicles (DMV) for 18 months to bring mobile driver’s licenses to residents of California, we were thrilled to help launch the pilot program to allow California residents to download a mobile driver’s license (mDL) on their smartphone in August of 2023. This project demonstrated a successful implementation of Credible and our open-source libraries.
- We ended this year on a high note with a Gartner Eye on Innovation Award for Government. The State of California Department of Motor Vehicles won this award for their Open Source Mobile Wallet for Decentralized Digital Credentials, which was built by SpruceID. We couldn’t be more proud to have played a role in winning such a prestigious award.
SpruceKit
If you’ve been keeping up with our developer community, you may be familiar with many of our open-source libraries, such as Sign-In with Ethereum, DIDKit, and TreeLDR. This year, we moved these open-source libraries all under SpruceKit, an open-source toolkit for decentralized identity. SpruceKit enables secure wallet construction by allowing builders to accept digital credentials from users on their terms, originate trusted information for users, and interact with data vaults.
Sign-In with Ethereum
- As of the end of this year, Sign-in with Ethereum has 2,890,141 total downloads on NPM (and 2,000,000 just in this year alone), as well as 53,848 downloads on PyPI!
- This year, we integrated Sign-In with Ethereum into Metamask. These efforts to provide user-friendly security and safety enhancements across Web3 wallet experiences should increase users' confidence in interacting with dapps.
Kepler
- Kepler had an extensive refactor to extract the core logic into a new crate separate from the HTTP API and to implement its state tracking using SQL (SQLite, Postgres, and MySQL are supported) (kepler #143).
- This year, we added support for a capability read function so clients can read capabilities delegated to them and others if authorized (kepler #134).
- We moved host key management into the OrbitDatabase in kepler-core via the Secrets trait and provided an implementation of the trait based on simple per-orbit derivation from a static secret (#146).
SSI/DIDKit
- Support for DataIntegrityProof proof suites was introduced (#515).
- We rewrote our VC API implementation in Axum (didkit #351) and added it to the W3C-CCG interoperability test suites (#64).
- A major refactor of ssi was initiated. This refactor will help us to handle Linked Data better and generally improve our implementation of the various Verifiable Credentials and Decentralised IDs specifications (#508). The general API redesign is over, and we are now rewriting all ssi tests and making sure the new implementation does not introduce regressions.
TreeLDR
This year, we improved every aspect of TreeLDR: layouts, DSL, and generators.
- Layouts:
- We introduced a new version of TreeLDR's layouts, simplifying their definition and how developers can interact with them. We are working on the layout book, containing an overview and formal specification of TreeLDR's layouts. This update introduces a lot of breaking changes for the better. We are still working on making all TreeLDR features work with these new layouts.
- DSL:
- We started using RDF as our intermediate representation for layouts. This change will allow the compiler to accept any RDF syntax as input in the future. Besides the TreeLDR DSL, the compiler supports N-Quads (treeldr #108) and RDF-Turtle (treeldr #119).
- The DSL is not yet compatible with the new layouts. As a first step, we extracted the RDF handling part of TreeLDR's compiler into a separate project, InfeRDF. This standalone RDF engine is dedicated to the inference and interpretation of RDF datasets so the compiler can focus entirely on its primary purpose: layouts.
- Generators:
- We redesigned the Rust code generator to simplify maintenance and future extensions (treeldr #143), generate code for restricted data types with runtime validation (such as numerical constraints, treeldr #145), support for default values (treeldr #147), and more. In addition, the procedural macro used to embed TreeLDR layouts directly in Rust can now use external modules, allowing modular code generation (treeldr #130). The Rust code generator will be the first to support the new layouts.
Rebase
- We've added large amounts of prototype work to support two new flows, POAP ownership and NFT ownership (Rebase #44 and #45), and added basic credential verification to the Rebase witness (Rebase #47).
- We've added the ability for Rebase Witnesses to arbitrarily validate any VCs that have types supported by ssi (rebase #69).
- We’ve added the ability to support delegate keys to allow users to issue their own credentials without a signing prompt for each one (rebase #82).
SSX
- We released support for NextAuth via our ssx-react package with an example to show how to integrate it.
- We reworked the library architecture of SSX. The previous functions of SSX have been moved into a new module named UserAuthorization, which is responsible for end-user signing-related operations. A new storage module was added, which provides functionality to store and retrieve data in Kepler. Check out the SSX v2.x Docs.
- We’ve added Credential Modules, which allow you to fetch credentials issued on SpruceKit Credential Issuer, which can be used as a faucet for credentials.
Example Apps
- In June, we released three new reference apps, The Sprouts, to demonstrate how you can leverage the SpruceKit open-source libraries to introduce decentralized identity in the next app you build. These included an AI chat interface, an app for book reviews, and a sample social networking app.
📝Standards and Working Groups
- We joined OpenWallet Foundation as one of their founding members. The OpenWallet Foundation is a new open-source project hosted by the Linux Foundation Europe. This collaborative effort will develop best practices for open-source digital wallet technology.
- This year, we continued participating in working groups or global standards bodies and foundations to champion open-source, interoperable solutions that help create a more privacy-forward, user-centric internet. These include W3C working groups, ISO working groups, OpenID Foundation working groups, and more. To learn more about standards we’re contributing to, whitepapers we’ve published, and more, see an example of our quarterly Standards and Working Groups update here.
See you in 2024
2023 was an exciting year full of opportunities and growth. We can’t wait to see what’s in store for 2024 as we continue on with our mission to let users control their identity and personal data across the web in a way that facilitates trusted interactions. Here’s to a fresh new year!
About SpruceID: SpruceID is building a future where users control their identity and data across all digital interactions.