DEV3 Technologies home

DEV3 Inkpact – Proposals & E-Signature SaaS Laravel Script with Hash-Chained Audit Trail, Deposits, PDF Verify

A self-hosted proposals, contracts and e-signature platform on Laravel 12 and Filament 4: templates, ordered signing, pricing tables with optional items, a hash-chained audit trail, sealed PDFs with a verify page, deposits and an API. Web installer and demo data included. No mobile apps.
by DEV3 TechnologiesVerified Author(0) 0 sales 1 viewsUpdated 08 Nov 2026

Launch Offer: up to 50% off

This item is 50% off: $24.50 instead of $49

Ends in
--
Days
--
Hrs
--
Min
--
Sec

Video tour. Pick a section below to browse 120 screenshots in 15 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Mobile web1:00

Inkpact is a proposals, contracts and e-signature platform you host yourself, built by DEV3 Technologies on Laravel 12 and Filament 4. Each customer is a workspace (an agency, a consultancy, a studio) that builds documents from templates, sends them to clients, collects signatures in a set order and takes a deposit on acceptance. You, the operator, sell plans to workspaces from a separate panel.

What it does

  • Build from templates. Proposals, contracts, quotes and NDAs from reusable templates and content blocks, a section editor, variables, workspace branding and a preview as the client sees it.
  • Pricing tables that clients can adjust. Optional items, editable quantities, discounts and tax per line, tax-exclusive or tax-inclusive documents, with a live total on the signer page. Recurring items are shown as "then X per month" and are not collected by the product.
  • Sign in order. Signers in groups (one after another, or in parallel), client, countersigner, witness and approver roles, optional email one-time codes, typed, drawn or uploaded signatures, decline with a reason and a mobile-first signing page.
  • Existing contracts. Upload a PDF, place signature, initials, date, text and checkbox fields per signer on the page preview, and send it.
  • Evidence you can check. Every action is written to an append-only audit trail chained with SHA-256. The completed document is sealed once into a PDF with a certificate of completion, and anyone can drop the PDF on the public verify page to see whether it matches a completed document.
  • Versions and freezing. A sent version is frozen and hashed; editing after sending creates a new version and invalidates earlier signatures, so nobody signs text that later changed.
  • Deposits and payouts. A deposit rule per document, paid on a simulated checkout page, split between a platform fee and the workspace wallet, with refunds for late or duplicate payments and weekly payout statements the operator approves.
  • Reminders and expiry. Automatic reminders, a final warning, expiry on read, duplicate with one click.
  • Dashboard. Pipeline board, win rate, time-to-sign and the Signature Trail chart, plus reports for decline reasons and optional-item take-up.
  • API and webhooks. REST API with scoped, hashed keys and an OpenAPI document, signed webhooks with retries, and an operator panel with workspaces, plans, invoices, deposits, payouts, pending refunds, abuse reports and audited view-only support sessions.

Quality checks

The release passed seven gates on the final code: Larastan level 6 with 0 errors, 244 Pest tests, a build well inside the page budget, migrations and seeds on MySQL 8 and SQLite, a headless smoke test of 96 pages with six race groups run on MySQL (two signers finishing at once, a void during signing, duplicate and late deposit payments, a parallel OTP attack and more), the installer driven from the zip, and a secret scan. The home page scores 99 for performance and 100 for accessibility on mobile.

What you should know before buying

  • Simple electronic signatures only. Inkpact records an evidence trail (email delivery, optional email code, IP and browser, hash chain, sealed PDF). It is not a qualified signature provider, embeds no X.509 or PAdES signature in the PDF and does not verify identity. Check what your jurisdiction requires.
  • Existing contracts must be PDFs. Save Word files as PDF first; PDFs with compressed object streams must be re-saved.
  • You are the merchant of record for client deposits. The gateway is simulated by default; Stripe, Razorpay and PayPal drivers are present and need your own keys. Workspaces cannot connect their own payment account, and payouts are weekly requests you approve and mark paid.
  • Email is simulated by default. Messages are written to a table; set one environment value and configure SMTP to send real mail. Run the scheduler every minute.
  • Signer links are credentials: whoever has the link can act as that signer, plus the code if one is required.
  • Plans are billed by the operator through the platform gateway; real gateways leave the renewal invoice open with a pay link.
  • Web only: there are no mobile apps. Node.js is not needed (assets are prebuilt).

Included

Source code, the web installer, a buyer guide, demo data with fictional brands and people (10 workspaces, 40 templates, 900 contacts and 2,400 documents in every status), a cron entry for the scheduler, and six months of support. Photos are listed with their licence in the source tree.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Inkpact passed before release.

The engineering behind Inkpact: frozen document versions, a hash-chained audit trail, tokens derived instead of stored, one document lock for signing, voiding and expiry, and deposit refunds for late payments.

The problem it solves

A proposal looks like a page until two people sign it at the same second. The text a client sees must be the text they signed, the record must show if anyone altered it, a void must beat a signature in flight, and a card payment that arrives after a document was voided must go back to the client. Each of those is a rule that only appears under real use.

Architecture and approach

Inkpact is a Laravel 12 application with a Filament 4 operator panel at /admin, a workspace panel at /app and mobile-first Blade pages for signers. Sending a document renders canonical HTML, stores its SHA-256 and freezes the version; models refuse changes to a frozen version, and an edit after sending creates the next version. Every action goes through one AuditTrail that appends events chained by SHA-256 under the document lock, and the sealed PDF is rendered once at completion, stored and never re-rendered, so the hash shown at /verify is the hash of the bytes.

Signing, declining, voiding and expiry all run under the same document row lock and re-read the state inside it. Signer tokens are derived from an HMAC and only their hash is stored, which lets reminders reuse the same link. Deposits run after the outermost commit; late, duplicate and stale payments are refunded with idempotency keys, and the platform fee is reversed pro rata.

Quality gates and results

Inkpact 1.0.0 passed the seven release gates on the final code: Larastan level 6 with 0 errors, 244 Pest tests, a headless smoke test with race checks on MySQL, the installer driven from the zip and a secret scan. The demo seed shows 10 workspaces and 2,400 documents whose audit chains all verify.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
Data MySQL 8, SQLite
Frontend Tailwind CSS 4, Vite, pdf.js
Quality Pest, Larastan level 6, Playwright

Inside the build

Proposals that close themselves: The home page shows a real document, the signing flow and the Signature Trail in one scroll. Proposals that close themselves — The home page shows a real document, the signing flow and the Signature Trail in one scroll.

From draft to sealed: Build, send, sign, pay a deposit and seal, each step explained in a short block. From draft to sealed — Build, send, sign, pay a deposit and seal, each step explained in a short block.

Guides & articles

Practical guides and engineering write-ups for DEV3 Inkpact.

Proposal and e-signature software: 7 things to check before you pick one

Last updated
Proposal and e-signature software: 7 things to check before you pick one: DEV3 Inkpact

A proposal is a promise in writing, and a signature is only worth what you can prove about it afterwards. Here are seven things to check before you pick software for sending and signing documents, with DEV3 Inkpact as the worked example.

Inkpact home page: a fountain pen on paper and a completed document card

1. Is the version the client signed frozen?

If you can edit a document after it was sent, the client may sign text that later changed. Inkpact hashes the exact content when you send it and refuses changes to that version. An edit after sending makes a new version and asks everyone to sign again.

A document in the editor with its versions

2. Can you control the signing order?

Some documents need the client first and a countersigner second, others need everyone at once. Inkpact signs in groups, with client, countersigner, witness and approver roles, and tells the next group only when it is their turn.

The signing page on a phone with the progress rail

3. Can clients choose optional items?

A pricing table with optional lines and editable quantities lets the client shape the deal while the total updates live, and the choices are locked once someone has signed after them.

Optional items and quantity steppers on the signer page

4. Is the audit trail tamper-evident?

Every event is chained to the one before it with SHA-256, so a changed or deleted entry breaks the chain. The document page shows the timeline, and a check command verifies every chain.

The audit timeline of a completed document

5. Can anyone verify the final PDF?

The completed document is sealed once into a PDF with a certificate of completion. Drop that file on the public verify page and it tells you whether it matches a completed document, without showing its content.

The verify page showing a match

6. What happens to a deposit?

Taking a deposit on acceptance saves a round of invoicing, but late and duplicate payments need a refund path. Inkpact splits the payment between the platform fee and the workspace wallet and returns payments that arrive after a void.

Deposits across a workspace

7. What are the limits?

Simple electronic signatures with an evidence trail are not qualified signatures, and no identity is verified. Inkpact says so in its documentation: check what your jurisdiction requires, and use a qualified provider where the law demands one.

The Signature Trail dashboard

Video: a tour of Inkpact from building a proposal to the verify page

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Buying guides: Laravel scripts with Filament panels and a web installer · Next.js or Laravel for a SaaS script?

Free snippets from this product

Questions about this product (7)

Answers from the DEV3 team and the community.

Ask a question

More from this author

View all

Related in Web Scripts & Software

View all