Joomla component · In the works
Meet SquidForm.
Forms with a tentacle in every step.
SquidForm builds forms, keeps what people send, and gets each answer to the right people: to read, to fix, to approve and to export, on the site or in the admin. It's built for sites that can't phone home, so there's no licence server, no outside calls and nothing loaded from anywhere else.
It isn't ready yet. SquidForm is a work in progress and not available to download. This page is here so you know it's coming.
Why it exists
The form is the easy part.
Plenty of tools will put a form on a page. Then the answers land in a pile, and the real questions start. Who's allowed to read them? Who has to sign off? What changed, and who changed it? How do we get it all back out for the meeting on Thursday?
SquidForm treats everything after Submit as the main job. Viewing, editing, approvals, history and export are built in from the start, not bolted on, and none of it needs the internet to work.
What's working so far
Eight arms already busy.
Forms
Pages, rows and rules
Multi-page forms, repeating rows, show-and-hide rules the server enforces, and dropdowns that depend on each other.
Versions
Old answers stay right
Every change to a form is a new version. Older submissions keep the labels and fields they were made with.
Viewer
Answers where you need them
A submissions list on the site or in a module, with search, filters, your own columns and headings. People can follow just their own.
Editing
Fix it, and show your work
Edit a submission with the form's own checks. One editor at a time, and every change kept as old value, new value.
Approvals
Sign-offs, in order
Optional. One approver, or a chain that only calls in the steps a request needs. Approve, return or reject, with comments and delegates.
Storage
A table per form
Plain columns you can read in phpMyAdmin. Archive instead of delete, and permanent deletion only when you really mean it.
Guarding
Bots out, people in
Invisible checks, rate limits and an optional human check that works offline. No third-party captcha needed.
Accessibility
Everyone can fill it in
Real labels, error lists that link to the field, keyboard-friendly controls, and automated accessibility checks on every build.
Where it stands
Still in the ink.
- Status
- Work in progress. Not ready for a live site, and not available to download yet.
- Works with
- Joomla 5.4 and Joomla 6, MySQL or MariaDB.
- Offline
- Everything it needs ships in the package: no CDN, no licence check, no calls out.
- Forms today
- Written as JSON. That's fine for us and less fine for everyone else.
- Still to come
- A visual form builder, so nobody has to write JSON, plus tools for developers.
- License
- GNU General Public License v2 or later, like the rest of our tools.
Want a heads-up?
Curious about SquidForm, or have a form that keeps you up at night? Let's talk.
SquidForm
Progress log.
0.6
In testing · October 2026Keeping the bots out.
- Rate limits on every form, and an optional human check that works offline.
- Links use a random reference instead of a counting number.
- A whole user group can stand in for an approver who's away.
Earlier builds
0.5Approvals
- Approval steps, from one approver to an ordered chain with conditions.
- Return for changes, reject, reassign, delegates and email notices.
- A person-picker field, and an "Awaiting my approval" page.
0.4Storage
- Each form's answers in its own table.
- Archive instead of delete, and a viewer module.
0.3Viewer
- Submissions on the site, editing with full history, and permissions per form.
0.1 – 0.2First builds
- Forms from a definition, multi-page and repeating rows, show-and-hide rules, email and CSV/JSON export.