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.
Easy to work with
Easy to understand and modify: built in react native, open source, well documented and easy to build.
Human-readable smart contracts
Modular and extendable: UX and logic are separated and reusable, the app was designed to adapt to your existing service!
Blockchain ready and compatible with decentralized architectures: prevents power unbalances!
Zero-knowledge proof and ABC
Advanced cryptography for non experts: No need to be a crypto expert! Zero-knowledge proof credential management abstracted and simplified into simple use of zenroom and APIs.
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.
In DECODE operations are processed, validated and updated on Sawtooth – distributed by the Linux Foundation’s Hyperleger Consortium
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
One of the major technological achievement of the DECODE App is its authentication flow, based on the Coconut paper from UCL, implemented using Zenroom.
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.
Explore the DECODE-DECIDIM petition platform (DDDC)
The DDDC site a plugin to DECIDIM to manage petition signatures.
Explore the DECODE IoT platform
Partnering with SmartCitizen, data has been collected by volunteers and then anonymized and displayed.
The repositories: deploy and extend the app and its ecosystem
Get in touch