Skip to content27% offProofmatch for ₹10,999 ₹14,999
CloneifyPro

Inkline · E-signature

E-signature for any number of companies: upload a PDF, place signature boxes, send a link; each person signs on their phone after a one-time code, and everyone gets the signed PDF with a certificate of who signed, when and from where.

Inkline's home screen with documents waiting for signatures, completed this month, the typical time to sign and what needs a nudge
Owner

Home: waiting, completed, what needs a nudge

1 / 6

What Inkline runs

  • Upload any PDF, click to place signature, initials, name, date, text and tick boxes; a colour per signer
  • Signing on a phone with no account: a one-time code by email (and SMS, with a gateway), then a guided Next button
  • Draw, type or upload a signature; drawn signatures stay sharp as vector strokes on the PDF
  • A certificate page with every signer's time, code check, IP address and device, and the full audit trail
  • A public verify page: a copy changed by one character after signing doesn't match
  • Order or all at once, reminders, expiry, fix a wrong email, cancel, templates, WhatsApp share of the link
Platform
Web; the signing page is phone-first
Best for
HR and staffing, CA and law firms, agencies, real estate, any company that signs papers
User roles
Owner, manager, member; signers need no account
Database
PGlite or any Postgres

Who it is for

  • HR teams and staffing companies

    Offer letters, appointment letters, NDAs and handbook acknowledgements signed in minutes on the candidate's phone, with proof of who signed and when, instead of print, sign, scan and courier.

  • CA firms, law firms and consultants

    Engagement letters, representation letters and client consents signed from anywhere, with a certificate the client and auditors can check, and templates for the letters sent every year.

  • Agencies and developers

    Run a separate company per client from one installation, sell it as your own e-sign service, or plug it into your HR or billing app: one call makes a draft from any PDF.

Live now

Demo access

Try it before you download it. Sahyadri Staffing Services in Pune, after six weeks of offer letters, NDAs, a manpower agreement and a handbook acknowledgement: some signed, one declined, one cancelled, one expired, three waiting. Open any document and choose “Open as signer” to sign it as that person; the code they'd get by email is shown. A CA firm in Ahmedabad is one switch away. No sign-up.

Open the demo
  • Home

    Waiting, completed, the typical time to sign, and what needs a nudge.

    Open home
  • Documents

    Every document with who has signed; open one to sign as a signer.

    Open documents
  • New document

    Upload a PDF or start from a template, add signers, place their boxes, send.

    Open new document
  • Templates

    An NDA and a handbook acknowledgement with their boxes placed for roles.

    Open templates
  • Emails

    Signing requests, one-time codes, reminders and finished copies.

    Open emails
  • Verify a PDF

    The public check: drop a signed PDF to see who signed it, or that it was changed.

    Open verify a PDF

People in the demo

No password in the demo. The bar at the top switches company and person, or starts a company of your own. Signers have no account: “Open as signer” on a document opens their private page.

Postgres runs in your tab and keeps your changes in this browser; signed PDFs are made right there. Emails stay in the outbox. “Reset demo” in the bar starts over.

On your own machine

Install it and sign in

  1. 1
    npm install
  2. 2
    SEED_PASSWORD=choose-a-password npm run db:seed
  3. 3
    npm run dev

Then sign in with the sample admin:

Password

choose-a-password

Or whatever you set SEED_PASSWORD to. On Windows PowerShell: $env:SEED_PASSWORD="choose-a-password"; npm run db:seed

Without the seed, the first visit asks you to create your company. Upload a PDF, add yourself as a signer and send it; with no mail service the signing link and code are in Emails.

Features

Grouped by where the work happens.

Sending

6
  • Upload a PDF (up to 3 MB and 60 pages; a locked PDF is refused with a clear reason), or start from a template
  • Signers with name, email, an optional +91 mobile and a role; everyone at once, or one after another
  • Click on the page to place signature, initials, full name, email, date signed, text and tick boxes; drag, resize, nudge with the arrow keys
  • “Initials on every page” in one click, and “I sign too” to add yourself
  • The last day to sign, reminders every 1 to 7 days, a message, and the one-time code switched on or off
  • A note on what Indian law doesn't allow to be signed electronically (IT Act, 2000, First Schedule)

Signing, on a phone

6
  • A private link; nothing of the document shows until the signer types the 6-digit code from their email
  • Codes work for 10 minutes and 5 tries; with an SMS gateway they also go to the mobile
  • Agree to sign electronically, then Next goes box by box; name, email and date fill themselves in
  • Adopt a signature by drawing, typing in a handwriting style, or uploading a photo with its white background taken out
  • Decline with a reason: the document stops and the sender is emailed why
  • Not your turn yet, cancelled or expired: the page says so, and who to ask

Proof

4
  • Every value written onto the original pages, rotated pages included, and a reference line on each page
  • A certificate page: the document's SHA-256, each signer's time, code check, IP address, browser and device, and their signature
  • The audit trail: every step in order with time, address and device, in the app and on the certificate
  • A public verify page fingerprints a PDF in the browser: genuine, the unsigned original, or no match

Following up and the team

5
  • Each signer's progress, Copy link, WhatsApp (opens on their number with the link typed), Remind, and Fix email (the old link stops working)
  • Cancel with a reason, Duplicate as a new draft, Save as template for roles instead of people
  • A daily job for reminders, and expiry after the last day with an email to the sender
  • Home: waiting, completed this month, typical time to sign, what needs a nudge, the last 14 days
  • Owner, manager and member; every company separate. Emails in an outbox, with codes hidden once emails really go out

Tech and requirements

Exact versions, because that is the first thing a developer checks.

Stack

Framework
Next.js 16, App Router
Interface
React 19, Tailwind CSS 4
Language
TypeScript
Database
PGlite by default, or PostgreSQL 13+
PDF
pdf-lib to write signatures and the certificate; pdf.js to show pages
Proof
SHA-256 of the PDF as sent and as signed; codes stored only as hashes; an audit trail per document
Email and SMS
Resend (optional) and any SMS gateway through a webhook (optional); every email kept in an outbox

To run it

Node.js
22.6 or newer
Database
None to start; Postgres for production
Secrets
AUTH_SECRET, and CRON_SECRET for reminders
Email
A Resend account to send codes and links (optional to try it)

What you get in the download

inkline.zip, 185 KB: the whole project as it unzips, counted from the zip itself.

  • Complete source code, nothing obfuscated
  • A seed script with the sample data the demo shows
  • A README: quick start, configuration and deploying
  • An .env.example with every setting and its default
  • The script that builds the browser demo
inkline.zip74 files · 185 KB
  • Pages and API routes17 files
    19 KB
  • Core logic17 files
    191 KB
  • Server5 files
    12 KB
  • Screens and components23 files
    202 KB
  • Scripts2 files
    5 KB
  • README and configuration10 files
    110 KB

Common questions

01. Is an e-signature like this valid in India?

Contracts made electronically are recognised under the Information Technology Act, 2000, and Inkline keeps the evidence: who signed, the one-time code check, the time, IP address and device, and a fingerprint that shows the PDF wasn't changed. The Act leaves out wills, powers of attorney, trust deeds, property sale deeds and negotiable instruments other than cheques; the app says so when sending. Where a document needs a signature listed in the Act's Second Schedule (Aadhaar eSign), the README shows where a licensed eSign provider plugs in. For anything high-stakes, ask your lawyer.

02. How do signers prove it's them?

Each signer has a private link. With the code check on (the default), the document opens only after they type a 6-digit code sent to their email (and to their mobile, with an SMS gateway). The code works for 10 minutes and 5 tries, is stored only as a hash, and is hidden from the sender's outbox once emails really go out. The certificate shows when each code was checked.

03. What's on the certificate page?

The document's name and reference, the SHA-256 fingerprint of the PDF as sent, who sent it and when, the signing order, how identity was checked; then each signer with their email, masked mobile, signing time, code-check time, IP address, browser and device, and their signature; then every event in order. A small reference line on every page ties the pages to it.

04. Can someone check a signed PDF later?

Yes, on the public verify page. It fingerprints the PDF in the visitor's browser (the file isn't uploaded) and says whether it is exactly the signed copy, with who signed and when, or the unsigned original, or no match, which is what a copy changed after signing gives.

05. What if someone typed the wrong email, or a signer never opens the link?

Fix email corrects it and resends; the old link stops working. Reminders go out by themselves every few days (up to five), Remind sends one now, and WhatsApp opens a chat on the signer's number with the link typed. Home lists links nobody opened and documents close to their last day.

06. Can several companies use one installation?

Yes. Every sign-up is a separate company with its own documents, templates and team, and every query is scoped to it. Set SIGNUP=closed to stop new companies.

More products

All products

Leadtrail

Sales CRM

A sales CRM for any number of companies: enquiries from IndiaMART, JustDial, Facebook and the website, a repeat check on every mobile number, follow-ups, WhatsApp templates, a drag-and-drop pipeline, and one-click invoices in Billcraft.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
74
Lines
10,823
Source
₹12,499

Renewly

Membership management

Memberships and fees for gyms, studios, dance academies and coaching classes: members and plans, part payments with receipts, renewals and pauses, WhatsApp reminders, Razorpay payment links, and a Today screen of who to collect from and who to renew.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
86
Lines
12,718
Source
₹9,999

Consentdesk

DPDP privacy and consent

Privacy and consent for India's DPDP Act and Rules: a notice in English and Indian languages, a consent banner and form (a parent's email code for under-18s), a receipt for every answer, a privacy page where people withdraw consent or ask to see, correct or erase their data, requests with deadlines, a 72-hour breach register, and a data map with vendors.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
84
Lines
10,531
Source
₹12,499