not approved

AdaStamp: signing, workflows

$660,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
Solution

The dApp allows uploading any document, storing it in a distributed environment (decentralized IPFS storage of encrypted documents), and signing it with a digital signature by defined participants.

Problem:

We need an easy way to upload legal documents in a distributed, decentralized way, sign them by involved parties in a controlled and secure manner, and then store them and share with involved parties.

Yes Votes:
₳ 54,227,709
No Votes:
₳ 137,817,027
Votes Cast:
331

  • download
  • download
  • download
  • download
  • download

[IMPACT] 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.

[IMPACT] 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.

[IMPACT] 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.

[FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

M0 (technology teaser) - 1 month from project start:

  • signing a local file with Cardano CLI,
  • storing the signature on Cardano blockchain,
  • verifying signatures.

M1 - 4 months after project start (3 months after M0):

  • document storage on IFPS,
  • document retrieval,
  • document signing,
  • e-mail notifications.

M2 - 6 months after project start (2 months after M1):

  • KYC,
  • address list,
  • document access rights.

M3 - 8 months after project start (2 months after M2):

  • signature visible in PDF,
  • document templates, mass generating, signing and storing of documents.

M4 - 11 months after project start (3 months after M3):

  • customizable workflow,
  • smart contract generator,
  • calling another smart contract,
  • pay as you sign.

M5 - 13 months after project start (2 months after M4):

  • integration with Google Spreadsheet,

  • integration with Escrow,

  • recurring contracts.

    [FEASIBILITY] Please provide a detailed budget breakdown.

Software production (including analysis, development, testing, deployment, documentation and project management) and maintenance:

  • M0 (technology teaser) - 21 000 USD,
  • M1 - 72 000 USD,
  • M2 - 49 000 USD,
  • M3 - 43 000 USD,
  • M4 - 86 000 USD,
  • M5 - 79 000 USD,
  • software maintenance (6 months) - 24 000 USD,
  • support of deployment of workflow apps (6 months) - 24 000 USD,
  • using a verified library for accessing PDF files - 20 000 USD.

Subtotal software production and maintenance: 418 000 USD.

Marketing and promotion:

  • project website - 2 000 USD,
  • speeches at 9 conferences (devoted to either crypto or document management industry - see below) - 152 000 USD,
  • content marketing - 24 000 USD,
  • social media ads and posts - 11 000 USD,
  • producing and sharing viral (see below) - 50 000 USD,
  • attending ISO workgroup on PDF to lobby for Ed25519 signature inclusion in the next edition (it is already included in CAdES, which is the base for PAdES describing requirements for signing documents) - 3 000 USD.

Subtotal marketing and promotion: 242 000 USD.

Total: 660 000 USD.

Software production size and cost have been estimated using COSMIC Function Points method. The method counts 1 Cosmic Function Point (CFP) for each movement of a data group, which can be:

  • entry by a functional user,
  • exit - provide to a functional user,
  • read from persistent storage,
  • write to persistent storage.

Comments on some marketing activities:

  • The main reason behind this unconventional marketing structure (> 50% for speeches at conferences) is the structure of the market for document signing: dominated by institutional decision-makers. Most contracts nowadays are signed on a platform that is chosen by an organization. Speeches at conferences would allow us to reach decision-makers that can buy the service for an entire organization interested in digitalization.

  • Viral is a short video made by a specialist that gets 5k+ views for each video. This is basically a form of wide-appeal advert, more effective than Google AdWords.

    [FEASIBILITY] Please provide details of the people who will work on the project.

Migamake.com will provide resources for the work, including high-quality code reviews:

  • Michał Gajda is a professional software developer with a background in functional programming, logic, data analytics, and agile software development. Within the past five years, he presented at events associated with ICFP, SkillsExchange, LambdaDays, Haskell.Love, XP Agile Programming Conference, Data Science Europe, EACSL, CCC, LAP. He is excited by software technology, constructive logic, data analytics, and epistemology. Michał is CEO and Founder of Migamake, and he is involved in all our Catalyst projects as a director.
  • Muhammad Hassan is a devops engineer, responsible for automatic deployment from CI.
  • Szymon Zioło is an experienced business analyst with over 20 years of experience in software design, specification, and planning. His main contribution is the project plan, and detailed specifications. He has previously performed analysis and prepared specifications for numerous document management systems for publishing and telco industries, as well as for public sector in Poland. Szymon is Director of Analytics at Migamake, and is involved in Migamake's specifications and project plans.
  • Vismay Raj is a junior Haskell developer, QuickCheck testing specialist and a former AMD engineer.
  • Zarak Mahmoud is a Junior Haskell developer, with experience in machine learning from the prototyping stage to deployment into production.

Open source collaborators:

  • Fraser Tweedale has 8+ years of experience in developing enterprise identity management and PKI solutions, including FreeIPA and Dogtag PKI. Author of Haskell jose cryptography library. Author and maintainer or contributor to various Haskell packages across several domains.
  • Sylvain Henry is a Haskell developer working for IOG. He is mostly known for his contributions to GHC, especially for implementing ghc-bignum and for leading the GHC modularization effort. He is also the maintainer of several widespread libraries, in particular HPDF.

Our advisors:

  • P. D. is accomplished lawyer, well studied in blockchain, and arbitration
  • James Harver is the original and primary developer of the Dexter decentralized exchange.

StreamCardano.com is the serverless platform on which our communication with Cardano blockchain will be based. Because of this, StreamCardano.com developers will indirectly support this project.

[FEASIBILITY] If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

If necessary for product competitiveness, we would consider applying to fund new features, otherwise, we hope that further product development will become self-sustaining.

[AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?

Development progress will be audited by:

  • commits to open-source GitHub repositories:
  • for library projects - existing repositories
  • for the AdaStamp main application - our own repository
  • publishing documentation.
  • monitoring health of AdaStamp SaaS application with a monitoring app FreshPing, akin to Pingdom.

KPIs:

  • number of signatures made,

  • number of documents stored,

  • number of registered users,

  • number of generated smart contracts that realize specialized workflows.

    [AUDITABILITY] What does success for this project look like?

After M1: the solution is used by individuals and small organizations to sign off and store legal documents. The signature is being recognized as compliant with legal regulations and (with KYC passed) as an equivalent to AES or QES.

After M3: the solution is successfully used by at least one large organization to automate their standard document workflows.

[AUDITABILITY] Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This is a new, redefined approach to our earlier proposal.

Sustainable Development Goals (SDG) Rating

AdaStamp SaaS will:

  • decrease resource consumption per signed contract, by removing need to print, copy, and scan documents
  • decrease inequality between countries, by offering low-cost infrastructure for verifiably signed documents
  • promote innovation the business workflows, by making it easy to integrate digital identity solution in common business processes (including HR, invoicing)

SDG goals:

Goal 8. Promote sustained, inclusive and sustainable economic growth, full and productive employment and decent work for all (-> by providing a library of business workflows, easy signing of contracts)

Goal 9. Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation (promotes inclusive and sustainable digitalization of many business processes)

SDG subgoals:

10.3 Ensure equal opportunity and reduce inequalities of outcome, including by eliminating discriminatory laws, policies and practices and promoting appropriate legislation, policies and action in this regard (-> make it equally to verifiably sign documents on all continents with internet access)

7.3 By 2030, double the global rate of improvement in energy efficiency (-> by shared multitenant SaaS infrastructure for signing, and economical, decentralized storage of these documents)

8.2 Achieve higher levels of economic productivity through diversification, technological upgrading and innovation, including through a focus on high-value added and labour-intensive sectors (-> increase value of contracts by making them verifiable, at the same increasing value of signature by integrating the process)

8.4 Improve progressively, through 2030, global resource efficiency in consumption and production and endeavour to decouple economic growth from environmental degradation, in accordance with the 10‑Year Framework of Programmes on Sustainable Consumption and Production, with developed countries taking the lead

(-> Increase efficiency by using multitenant platforms for apps, increase efficiency by facilitating integration of blockchain identity solutions)

Key Performance Indicator (KPI):

7.3.1 Energy intensity measured in terms of primary energy used by AdaStamp workflows, as compared to energy used for producing paper, printing, scanning documents, and arriving at the place of signing.

8.2.1 Annual growth rate of real GDP per employed person by estimating increase in efficiency of business processes using our signing platform

8.4.1 Decreased footprint, by estimating footprint used by AdaStamp-hosted workflows as compared to traditional business contracting and invoicing process.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00