Web App

Digital waiver system: bilingual group e-signing for a Costa Rica waterfall hike

Guides at a Costa Rica waterfall hike were collecting liability waivers through a rented SaaS tool they couldn't brand or change. We built a bilingual waiver system they own outright: whole groups sign on their phones in minutes, and every waiver becomes a PDF certificate with a full audit trail.

digital waiver system case study by PlusTechnology
Signers per waiver
Up to 20
Languages
English + Spanish
Monthly SaaS fee
Replaced
Third-party data dependency
0
In short

Digital waiver system case study. Problem: a Costa Rica hiking tour collected liability waivers through a rented SaaS app it couldn't brand or adapt, and guides had no single record of who in each group had signed. What we did: built a bilingual electronic waiver system from scratch: group signing on any phone (drawn or typed signatures), auto-save, a searchable guide dashboard and PDF certificates with an audit trail. Result: a system the client owns outright on its own domain, replacing the subscription, with every record on its own server. Stack: vanilla JavaScript, PHP 8.3, MySQL.

Client
El Rincón Adventure Center and La Leona Waterfall
Industry
Tourism and adventure tours
Location
Guanacaste, Costa Rica
Live site
waiver.rincondelaviejapark.com
Services
Web app development, web development
Stack
Vanilla JavaScript, PHP 8.3, MySQL (PDO), shared hosting
Delivered by
PlusTechnology

The challenge

Before the La Leona Waterfall Adventure Hike, every guest has to sign a liability waiver. El Rincón Tours collected them through a third-party SaaS waiver app. It worked, but it was rigid:

  • No control over branding or the signing flow, and no way to adapt it to their own waiver document.
  • A monthly subscription with nothing to show for it at the end of the contract.
  • A real problem at the trailhead: groups of up to 20 people checking in at once, each signing on their own phone, with no central record of who had signed.

The client wanted a system they owned outright, on their own domain, matching their brand and their waiver text, with a dashboard their guides could use on site.

What we built: a digital waiver system from scratch

A complete electronic waiver system, live in production, with no plugins and no SaaS dependency.

1. Group signing on any phone

  • The lead guest enters their name and the party size in a large, tap-friendly number field: type 20 directly instead of tapping a button 19 times. The app then creates one signing slot per person.
  • The full waiver is shown in English or Spanish, with a language switch available at any point.
  • Each person signs individually: draw a signature with a finger or mouse, or type a name that renders in a handwriting-style font. The signature pads stay locked until the agreement box is ticked.
  • On submission, every signature is stored on the server as an image, and the group sees a confirmation screen with a stamped permit number.

2. Guide dashboard

A password-protected admin area for guides and staff shows every signed waiver with a live total. It can be searched by any name in the party, not just the lead guest. Each record shows the lead name and party size, all signer names, the date and time in Costa Rica time, a NEW badge for unseen entries, a PDF download, and delete with confirmation. Records can also be exported to CSV.

3. PDF certificate with an audit trail

Each waiver produces a printable PDF in the language it was signed in: the full waiver text, a table of signatures with embedded images and timestamps, and an audit trail with a unique document ID, IP address and signing history for each participant. The format follows the conventions of professional e-signature platforms.

4. Nothing lost on a phone

  • Auto-save: every field, including drawn signatures, is saved in the browser as the guest types. If the page reloads or the browser closes, a banner restores everything.
  • Back-button protection: on iOS and Android the back button skips the browser's usual "leave page?" warning. We intercept it with the History API and show a custom warning before an unfinished waiver is lost.

Technical decisions

  • No framework, no build step. The front end is a single HTML file with vanilla JavaScript. The system runs on shared hosting without Node.js, and the client can deploy an update with one upload.
  • Plain PHP 8.3 with prepared statements. Nine PHP files, no Composer dependencies, so it runs on any standard hosting account and any developer can maintain it.
  • Security built in: bcrypt-hashed admin passwords, HttpOnly, Secure and SameSite=Strict session cookies, rate-limited logins with account lockout, fully parameterised SQL, and signature images stored outside the public web folder, served only to logged-in staff.
  • Correct time zone everywhere. Dates and times use Costa Rica time (UTC−6, no daylight saving) on both the server and the browser, so records never appear hours off when an admin views them from another country.
  • Bilingual by design. Every screen, message, waiver text and PDF exists in English and Spanish, and the signing language is stored with each record, so the PDF always matches what the guests signed.

Designed for a jungle trailhead

The interface is mobile-first and readable in direct sunlight: Barlow Condensed headings, Plus Jakarta Sans for body text and typed signatures, and a deep forest green with a gold accent from the client's brand. A trail-waypoint progress bar shows the four steps (Info, Read, Sign, Done) like a hiking map.

Results

  • A one-time build the client owns, replacing an ongoing SaaS subscription.
  • Live on their own domain and used by real guests from day one.
  • Whole groups of up to 20 sign on their phones, in English or Spanish.
  • PDF certificates with a full audit trail, generated on demand.
  • One searchable record of every signer for the guides, with CSV export.
  • No third-party data dependency: every record, signature and audit log lives on the client's own server.

The same client also runs its tour bookings and park tickets on a platform we built: see the tour booking system case study.

Tech stack

AreaTechnology
Front endSingle-file HTML and vanilla JavaScript, canvas signature pad, History API
Back endPHP 8.3 with PDO prepared statements
DatabaseMySQL
DocumentsPDF certificates with embedded signatures and audit trail
LanguagesEnglish and Spanish, stored per record
HostingShared hosting on the client's own domain
Digital waiver system signing flow for hiking groups
How the digital waiver system works for a group.
Digital waiver system results for La Leona Waterfall
Digital waiver system results.

Digital waiver system FAQ

What is a digital waiver system?

A digital waiver system lets guests read and sign a liability waiver on their own phone instead of on paper. This one handles whole groups of up to 20 people, stores every signature on the client's server and produces a PDF certificate with an audit trail for each waiver.

Why build a custom waiver app instead of using a SaaS tool?

The client wanted full control over branding, the signing flow and the waiver text, its own domain, and no monthly fee. A custom build is a one-time cost, and all records stay on the client's own server.

Can a whole group sign one waiver on their phones?

Yes. The lead guest enters the party size, the app creates one signing slot per person, and each person draws or types their own signature. Progress is auto-saved, so nothing is lost if the page reloads.

Is an electronic waiver legally valid?

Electronic signatures are widely accepted, but the rules depend on the country. This system records the signer names, signatures, timestamps, IP address and a unique document ID in each PDF, the same kind of audit trail used by professional e-signature platforms. Check local requirements with a lawyer.

Related reading

Want something similar for your business? Hire PlusTechnology on Upwork or get in touch.