Skip to content
← All projects
Web AppPaused

DocLatch

A lightweight document signing tool for communities, built audit-first.

Overview

Admins create documents, upload PDFs and generate a link per signer. Signers review the PDF and either submit a signature or decline. Every step is recorded, and signing on a phone is treated as the main case rather than an afterthought.

The problem

Community organisations often need a signature on a document from people who are not on any platform, many of them on a phone and some in another language. The commercial tools are priced and designed for businesses.

The approach

A server-driven design in which the server, not the browser, is the source of truth. Each signer gets a single-use link, a signature is stored as an immutable record rather than overwritten, and every lifecycle state (pending, signed, declined) and every event is explicit and logged. Documents can carry additional-language versions, and signing was designed and tested for iOS Safari first.

Outcome

  • A complete flow from document creation to a finalised, downloadable PDF with each signer's signature as a transparent PNG
  • Signed URLs for PDF previews are short-lived, and signer links are one-time with regeneration available to the admin
  • Firestore and Storage rules, a changelog and a security note are kept in the repository

What it does

  • Immutable signatures

    A signature is a record that can be voided but not edited, so the history of who signed what, and when, cannot be quietly rewritten.

  • One link per signer

    Links are single-use and expire, and the admin can regenerate one without disturbing the others.

  • Languages beyond English

    A required English PDF plus optional Nepali, Spanish, Hindi or custom-code versions, each with its own file.

  • Decline is a first-class answer

    A signer can decline, and the status shows it, instead of the document sitting silently pending.

Ask about DocLatch

Want something like this, or curious how a piece of it works? Send a note — it reaches me tagged with this project, so I have the context before I reply.

Replies within 24h on business days.