6 sierpnia 2026 · 5 min czytania

We audited every page of our own site, and published what was broken

A company that sells accessibility and compliance should be able to survive its own audit. Ours found a dead tracking pixel, a signup with no terms, a privacy policy that contradicted the code, and a pricing page one bad record away from a 500. Here is the list.

Artykuły są napisane po angielsku.

We ran the audit we sell, on ourselves: all 137 pages, page by page, checking what each one claims, what it actually does, and what a regulator or a buyer would find. Most of it was ordinary. Some of it was not, and the uncomfortable parts are worth publishing, because "we found nothing" is the least believable outcome an audit can have.

Things that were silently broken

Our own security policy blocked the advertising pixel in production. It worked in development, so nothing looked wrong: the script simply never loaded on the live site, and the same rule blocked the payment form's scripts. Marketing spend was being measured against events that never fired.

The pricing page read four fields straight off each plan. One plan without a price would have taken the entire page down with a server error - not a missing row, the whole page, on the URL where people decide to buy. And if the API behind it was unreachable, the page returned a cheerful 200 saying we had not published prices yet, which search engines are happy to index.

Things that were legally uncomfortable

Creating an account did not ask you to accept anything. There was a Terms page and a Privacy Policy, and no record that any customer had ever agreed to either. Signing up now requires it and stores the version and the moment.

The privacy policy said we used only essential cookies and no third-party advertising trackers, while the code loaded an advertising pixel. That is not a nuance, it is a contradiction, and we rewrote the policy to describe what actually happens, including the named subprocessors and how long each kind of data is kept.

Our accessibility statement claimed a testing tool we do not run on this site. It now follows the EU model: a real conformance status, dated known limitations - including the ones in this post - how it was assessed, and where to complain in Poland, Germany, the EU and the United States.

Things that were merely bad

Every service was reachable at two indexable addresses with near-identical copy, which splits ranking between two pages that compete with each other. The sitemap was missing eleven pages and dropped the whole blog whenever an API call failed. Five pages existed and were linked from nowhere. The header logo was a 95 KB image scaled down in the browser on every single page; it is 12 KB now.

Inside the panels, the mobile menu could not be closed without a mouse, and every destructive confirmation used the browser's own dialog - untranslatable, unstyleable, and asking a Polish customer in English whether to delete their site.

What we changed about the process

Fixing a finding once is worth less than making it impossible to reintroduce. Adding a page without a sitemap entry now fails our build. Three browser tests run on every change: signing up (including that it refuses to submit without consent), the free scan and the paid fix (including that it asks first and names the price), and the public surface. The accessibility gate grew from 15 pages to 57 and now covers German and Polish, not only English.

If you want the same treatment for your site, the free scanner is the first step, and it renders your page in a real browser rather than pattern-matching the HTML.