DECODE App: open source, modular, privacy-driven authentication
The DECODE App packs in an attribute-based credential and zero-knowledge proof authentication flow: modular end extendable, it’s built to be plugged-in to an existing web service or platform with its minimal back-end.
DECODE proposes new Social Pact: data as a common infrastructure that generates public value.
Easy to use, for everyone
Easy to use: open source, built with reference languages (react-native, python, java) and multiplatform (backend dockerized, ios and android)
Privacy and security first
Privacy by default: GDPR compliance to its max, control the data you share and how you share it.
Zero-knowledge proof and ABC
Learn how to customize the App
Why you should use DECODE
Modular and interoperable.
DECODE tools can be combined and used as part of any platform or app.
Free and open source.
All work produced by the project is published as free and open source.
DECODE is designed with privacy in mind from the ground up. Personal data on DECODE is defined in terms of ‘Attribute-Based Credentials’ collected and stored in a digital wallet.
Based on cutting edge research.
Based on the selective disclosure credential scheme ‘Coconut’, that enables full blockchain integration while maintaining confidentiality and authenticity.
DECODE In Action: Tested with real communities to build people-first digital cities
DECODE has worked with Barcelona and Amsterdam City Councils to build prototype applications and test them in partnership with real communities. See the tools in action below.
The framework around the app
The DECODE App relies on several other components in order to make the DDDC Pilot work.
The components required for it to run are the Credential Issuer, a web service (Dokckerfile available) which provides the credentials needed to the zero-knowledge proof (ZKP) authentication flow and Zenroom the multiplatform command line tool that does all the cryptography and the smart contracts execution used in the app.
Specific to the DDDC pilot are the the Petition Service, that stores the petition signatures in a database and a blockchain, the DDDC site, that feeds the app with the petitions to be signed and the BCNNow dashboard that allows to see the results of the petition.
The “Coconut”scheme: zero-knowledge proof, attribute based credential flow
The Coconut flow allows authentication based on credentials, where each credential can represent an attribute and is issued by a trusted issuer: the credential issuer can be a public authority, a corporation or just a trusted individual. Credentials can also be used offline on a blockchain and can be combined and revoked.
Examples from the app’s ecosystem
Try the following demos from the DDDC pilot:
Use the BCNNow dashboard to visualize aggregated data and the result of petition signatures.
The DDDC site a plugin to DECIDIM to manage petition signatures.
Partnering with SmartCitizen, data has been collected by volunteers and then anonymized and displayed.
Get in touch