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
| Area | Technology |
|---|---|
| Front end | Single-file HTML and vanilla JavaScript, canvas signature pad, History API |
| Back end | PHP 8.3 with PDO prepared statements |
| Database | MySQL |
| Documents | PDF certificates with embedded signatures and audit trail |
| Languages | English and Spanish, stored per record |
| Hosting | Shared hosting on the client's own domain |


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.
