Publicly verifiable document records and credentialization platform backed by a distributed blockchain, de-centralized IPFS host, and with an outbound REST API.
MIT License
SignRecord was designed and developed to be an easy solution to document credentialization and authentication on a public ledger. By using Ethereum technologies such as IPFS and hash storing, it offers a convenient way for individuals and organizations to integreate form, waiver, and authentication systems in their own applications.
The inspiration for SignRecord came from a unified need for an enhanced method to share medical records. In my case, I knew family members that had medical conditions that required them to visit multiple external doctors. Due to this, they'd often carry files upon files of medical history to-and-from doctors (due to security and legal concerns). In comes SignRecord. By allowing a user to upload non-confidential documents to a public ledger and then demanding doctors to sign that they have viewed the document publically, we effectively remove the barrier in-between document sharing and legal verification.
Another use case that was explored was the need for a public authority to verify liability waiver forms. When I came to PennApps, I was told I didn't sign the waiver, when I was confident I had. Thankfully, I had printed out a copy of the signed waiver. But in another scenario, if tomorrow, PennApps argues that you've never signed their waiver on DocuSign, you'd be unable to claim otherwise. In this case, with SignRecord you've got the option to verify that you've publically signed the transaction on the blockchain.
Starting SignRecord is as simple as running a few commands in your terminal:
/backend
, installing the dependencies with npm install
and then starting it up with npm start
./ipfs
, installing the dependencies with npm install
and then starting it up with npm start
./opensign
, and running these three commands: ipfs daemon
, embark blockchain
, and embark run
. Do note, [email protected]
installed globally and geth
are dependencies.Metamask
plugin and are authenticated on the Ropsten
test network, or using a custom RPC-endpoint that is declared in the config
file.