Please describe your proposed solution.
Signing and storing documents
The application will allow uploading a document of any format. It will be stored on IPFS, and pinned by the IPFS service (e.g. Storj IPFS Pinning Service) for a period (in years) specified in a parameter, with the ability to further extend it as required by the local archive policy.
Then, the document owner will specify (by entering or choosing from an address list):
- a list of users (Cardano wallets or just e-mail addresses) who are to sign off the document,
- a list of users (e-mail addresses) who will be notified as soon the document is signed by all parties.
Each signer will be notified of the document to be signed by the StreamCardano notification service. If a user were specified by e-mail address, the application would allow him to connect to the existing Cardano wallet or create a new one. Then, each signer will be able to sign off the document, and the signature will be stored on the blockchain. If necessary, all signers will be able to sign off the document simultaneously at the same time, for example, when participating in an online meeting with a notary, allowing the notary to immediately check the validity of the signatures.
As soon as all signers have signed off the document, users from the second list will be notified by the StreamCardano notification service that the document has been signed.
KYC procedure
The legal validity of a signature will be established if the signing wallets have passed a KYC procedure provided by Blockpass solution. The procedure will include:
- verification of the authenticity of the customer's identity document,
- validation of the customer's name and date of birth against data printed on the identity document,
- face match with the identity document photo.
The KYC policy will not require an AML check, as document signing has no relevance to possible money laundering. AML will be optional since a signer may accept payment upon signing a document (see later). A user will have to perform KYC just once and then can use the verified Cardano wallet when signing documents. The signature stored on the blockchain will include (encrypted) basic data of signers (first name, surname, no. of identity document, and date of birth) so that users with granted access to the document will know by whom it has been signed. According to the Blockpass vendor, the price of KYC is "starting at $1.0 per individual screen".
Signing PDF documents
We establish special support for signing PDF documents, which is the most often used form of electronic legal documents. A signature made by a signer and stored on Cardano can be inserted into the PDF document itself as a visual signature. This will produce a self-contained PDF with a signature, which will be the same as the one stored on Cardano. A user may use either a source, unsigned PDF together with a Cardano signature, or a self-contained PDF with an embedded signature.
Document templates
For organizations that sign large numbers of documents of the same content, differing just in personal details, the solution will offer the ability to prepare a document template - a document with predefined content and fields to be filled automatically with personal data. As personal data of multiple signers will be given, e.g. in a CSV file, the solution will generate a separate, personalized PDF document for each signer (similarly to the mail-merge function in word processors) and will automatically start a signing process for it (including necessary notifications).
Signing workflows
Another feature significant for large organizations is signing workflow, which will include:
- defining the order of signers,
- allowing specific signers to make decisions (e.g. approve or reject the document),
- choosing a workflow path depending on certain conditions based on document contents (for example, contracts with a value exceeding a given amount must be additionally signed by the CEO),
- making a payment at a certain step of the workflow (e.g. when both parties have signed a delivery protocol),
- calling a specified smart contract at a certain step of the workflow,
- performing certain automatic actions.
An automatic action that could be performed at a given workflow step, will be inserting the signer's and signature data into a Google Spreadsheet. The solution will be integrated with Google Spreadsheet, allowing to set up a connection with certain spreadsheet, and insert rows into the spreadsheet at certain workflow step (for example when both parties have signed a document).
Another kind of actions available in workflows will allow to:
- make Escrow deposit while signing a document,
- automatically release a deposit at a certain workflow step (e.g. when delivery of agreed goods or services has been signed).
Workflows can also be recurring, which means that after signing a contract, the following workflow steps (e.g. signing of a delivery protocol or issuing an invoice) will be performed periodically, e.g. once a month.
The building blocks of the solution
The solution will consist of the following elements:
- a smart contract that manages signatures of documents,
- a decentralized document storage on IFPS,
- a frontend application that allows uploading and signing documents,
- a notification service running on StreamCardano, sending e-mail notifications related to document status.
Each signing workflow will be implemented as a separate smart contract that embodies and codifies the specific workflow rules. The solution will include a framework for developing such smart contracts, i.e. a smart contract generator that will generate the smart contract code based on a configuration file that specifies the order of signers, as well as possible human and automatic decisions and actions. Recurring workflows will be separate sub-contracts periodically generated by the main workflow contract.
Please describe how your proposed solution will address the Challenge that you have submitted it in.
Most humans sign a contract at least every year: it may be a rental agreement, sale, or mobile service, but it needs to be signed and stored for the benefit of both sides. The basic functionality of the dApp will address that issue and will give a chance to expose Cardano to billions of individuals, as soon as service providers encourage their customers to use this method of signing contracts.
Furthermore, we will allow the transformation of organizations' bureaucracy into blockchain with tamperproof permanent record and cloud storage of the signed documents. This would radically simplify the bureaucracy by enabling the signing and storing of legal documents in a distributed and remote environment, in compliance with legal regulations. The advanced features of the solution (document templates, workflow) will be especially useful for large organizations that produce large numbers of documents of the same content (differing just in personal details), which are processed in the same way (e.g. standardized contracts for telecommunication, electricity and similar services). Such organizations will save tons of time on bureaucracy related to preparing and processing such documents.
Additional advanced features, like Escrow integration, would allow parties that do not trust themselves, to perform businesses in a safe way, without the risk of refusing payments, since the payment will be deposited at the beginning of the contract, and released at a given stage of the workflow. Recurring workflows would allow for performing periodical deliveries and payments, which is typical for many businesses and services.
What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?
Acquiring customers
There is a risk of a lack of customers using the solution. There is a need to publicize the solution and its potential use cases. Especially acquiring one or several large and well-known organizations would boost the market appearance of the solution. Therefore we left a significant adoption and transformation budget in order to publicize the solution and acquire customers. This includes:
- speeches at conferences that would allow us to reach decision-makers from large organizations,
- a viral that would allow us to reach individuals interested in the solution.
Competition with other document signing solutions
There are well-known solutions that allow signing documents both online and offline, with which our solution will compete.
One of the most widely used solutions is Adobe Acrobat's built-in functionality to sign PDF documents. It requires a certificate - to be compliant with legal regulations and be accepted by courts, it has to be an Advanced or Qualified Electronic Signature (AES or QES), as defined by eIDAS (electronic IDentification, Authentication and trust Services) European Union regulation, and United States' UETA Act and E-Sign Act. One of the nice things is that the signature is stored within the PDF document that is being signed and can be rendered on the document. However, there is no storage of documents nor sharing/transferring between participants. On the contrary, AdaStamp offers storage and sharing of documents but does not allow for visible signatures inside a document.
There are also commercial solutions available which are already integrated with blockchain, like DocuSign. In this solution, only the document signature is stored in a blockchain (currently only Ethereum), and the solution does not support storing nor sharing/transferring the document. One needs to have a copy of the document to verify the signature: "Anyone with a copy of the agreement can check it against the blockchain-stored evidence to verify the copy's integrity against the original DocuSigned file." AdaStamp offers added value to DocuSign and similar solutions by allowing storage and sharing of documents that are to be signed.
Another significant competitor is HelloSign. It is the most advanced solution that includes integration with Dropbox (and thus allows to store signed documents), visible signatures, signing workflow and document templates. So this solution exceeds AdaStamp functionality. However, it is a proprietary solution of one commercial vendor, not yet integrated with any blockchain (the vendor performs some research in this direction, but it is not yet integrated within the product).
Scrive is another advanced competitor with features similar to HelloSign, that include storing documents, notifying involved parties, visible signatures, document templates and forms. It even stores signatures in Guardtime blockchain solution. But again, it's a proprietary vendor's solution, especially when it comes to document storage.
PandaDoc is a complex, unified solution for signing documents, which allows preparing document templates and forms to be filled by converting existing PDF or Word documents or even by creating them from scratch in a visual environment. A template may include text fields to be filled by a signer, as well as signature placeholders that specify locations of signatures. Documents are stored in a proprietary format in PandaDoc's own storage. The solution notifies signers by e-mail and allows them to define the signing order.
Table with comparison of potential competitors is attached as a picture.