[ Case study ]
An attempted defacement during a school-group booking week exposed how exposed the site was: an abandoned admin account, plugins installed by a long-gone volunteer, no malware scan, and the museum's field-trip form quietly stopped delivering email.
CLIENT a children's museum — FOCUS Audit, then close the doors
Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.
Hands-on exhibits and school-group programs fill this children's museum, and the website is the front door for field-trip bookings — teachers check availability and submit inquiry forms daily. It's a nonprofit with a small staff and an events coordinator, and a long history of volunteer help on the website: over the years, well-meaning people installed plugins, created accounts, and moved on. There's no IT department; the closest thing is a go-to contractor called when something breaks. Several past volunteers still hold scattered credentials nobody has inventoried.
An attempted defacement during a school-group booking week exposed how exposed the site was: an abandoned admin account, plugins installed by a long-gone volunteer, no malware scan, and the museum's field-trip form quietly stopped delivering email.
We proposed an audit-first hardening: users, plugins, file integrity, and logs reviewed before anything changed, then credential resets, abandoned-account removal, least-privilege roles, and file-integrity monitoring — closing doors before decorating the house. The field-trip form's silent mail failure gets its own fix: a transactional email service with delivery logs, so a lost booking email becomes an alert rather than a parent's follow-up call. The museum can't afford enterprise tooling, so every control was chosen to be durable on free-tier tooling and careful configuration, operable by staff rather than specialists.
Just as important is what we ruled out, and why:
A full audit — users, plugins, file integrity, logs — led to credential resets, abandoned-account removal, and file-integrity monitoring before any other work.
The field-trip form's mail path was rebuilt through a transactional email service with delivery logs, so a lost booking email is an alert, not a parent's follow-up call.
Two-factor authentication, least-privilege roles, tested core updates on a schedule, and a malware scan with alerting — the unglamorous stack that actually prevents this class of incident.
Delivered by the systems pod — engineer over 4 weeks, with working increments reviewed with the client every week.
Obstacle
The audit kept finding more than the defacement attempt explained — an active admin account for a volunteer gone years, plugins without owners, and a mail path that had been dead for months.
Handled: We triaged findings into fix-now, schedule, and accept with the coordinator, closed the access holes in week one, and rebuilt the form's mail path with delivery logs before anything cosmetic.
Obstacle
Resetting credentials meant contacting past volunteers who had moved on, and the museum feared the conversation would land as blame for the exposure.
Handled: The director sent one framing note — the museum was upgrading access, not assigning fault — and resets were scheduled so no volunteer lost work mid-edit.
The headline: audit items closed, form delivery verified by logs, monitoring live — Exposed → hardened and monitored, read from Hardening checklist sign-off. A second check: field-trip inquiries lost to silent mail failure since the rebuild at 0.
Booking week passed without a single missed inquiry, and the events coordinator stopped keeping a private paper list of form submissions as insurance. Staff send teachers to the site directly now, without checking it first themselves. The credential conversation with past volunteers happened without blame, and the board received a plain-language summary of what changed — the first honest picture it has ever had of the website it owns.
The result was read from Hardening checklist sign-off against the pre-engagement baseline over the stated window, with a guardrail check on field-trip inquiries lost to silent mail failure since the rebuild. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would check the mail logs first — the silent form failure predated the defacement attempt by months, and an audit starting with delivery logs would have surfaced it in week one.
[ Related service ]
[ Related builds ]
Shared host per-site preview deploysAll five brands live on Vercel with preview-deploy reviews and tested rollbacks
Bot buyouts protected on-salesSubsequent on-sale days completed with bots challenged at the edge and origin load flat
[ Next step ]
Next case study