Closed: BNT-8 - vetKeys - Enabling Privacy Preserving Applications on the IC

:memo: Introducing FormThing: End to End Encrypted Forms on the Blockchain

A proof of concept enabling you to create beautiful, fully accessible forms and control your own data.

This could be entered in to either of the IBE or Group Sharing categories - I’ll let the judges decide where it best fits as I’m not quite sure!

:wave: Introduction

FormThing was created for Web3 companies to “do forms” the Web3 way:

  • Login via Web3 wallet (Internet Identity)
  • Create and manage forms as needed
    • Manage user access to forms and submissions
    • Turn submissions on or off (active / inactive form)
  • Share public URL to created forms for submissions
  • Store your data on the blockchain instead of trusting it to the big boys (Google Forms, Typeform etc). Form submissions:
    • Are End-to-end encrypted
    • Only readable by who you choose to give access
    • Cannot be read by the blockchain nor the smart contract
    • Protected from spam by a simple nonce system
    • Exportable to CSV to do with as you please

Full information about how it all works can be found in the Github repo linked below.

:link: Helpful Links

:key: vetKey system API

This was easy to use and addresses the needs for this use case. I was initially concerned after looking at the demos and playing with using symmetric_key as the derivation_path, until ya’ll pointed me in the right direction and updated the demos and vetkd_utils to include ibe_encryption. Once I’d wrapped my head around that, it was extremely simple to then gate-keep who gets access to derive a given key.

:speech_balloon: Feedback

Please reach out to me if you have any feedback - I’d love to hear it!

Edit 1: Update video link
Edit 2: Add in vetKey system API feedback

14 Likes