Apexly DSGVO-Check
Most privacy problems on a WordPress site are not created on purpose. A theme brings Google Fonts along, a plugin drops a tracking pixel, an embedded video pulls in a third-party server. None of it is visible: the site looks exactly the same in the browser.
This plugin requests your own home page the way a first-time visitor receives it — with an empty cookie jar and no login — and then reports what actually happened.
It measures, it does not manage
The directory already has excellent consent plugins. They set a banner. This plugin measures what happens regardless of which banner is installed. That matters in practice: a misconfigured consent banner still loads trackers before consent is given, and the site owner has no way to notice. This plugin makes it visible, and therefore complements those plugins rather than replacing them.
What is checked
- Cookies before consent — which cookies are set before anyone agreed, and which service each belongs to
- Google Fonts — whether fonts are loaded from Google’s servers
- Third-party hosts — which external servers are contacted, and therefore see your visitors’ IP addresses
- Encryption — whether the site runs over HTTPS
- Security headers — Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, Referrer-Policy
- Legal pages — whether the imprint and privacy policy are linked from the home page, as German law (§ 5 DDG) requires
- WordPress version — whether it is exposed in the page source
- Usernames — whether account names can be enumerated through the REST API without logging in
Every finding names the concrete evidence — which cookie, which host, which version — explains in one sentence what it means, and says what to do about it.
No data transfer
The plugin requests only the site it is installed on. It contacts no external server, at no point, for no purpose. There is no account, no API key, no licence check and no usage statistic. A search for http:// or https:// in the source code returns only the licence URL and the author’s website in the plugin header — no external address is ever requested. Results are stored in a single option in your own database and removed on uninstall.
No restrictions
Every finding is shown in full. You can run the check as often as you like. There is no locked feature, no counter, and no paid version required to see the result.
What the plugin cannot do
It checks when you open it. It cannot watch continuously — that would require something running all the time. If you would rather be notified automatically when something regresses, Apexly does that. You do not need it for this plugin.
Language
The interface is in German because the plugin deals with German and EU legislation (TDDDG, DDG, GDPR) and the guidance references specific German provisions. Translations are welcome.
Not legal advice
The check describes technical findings, names the provisions involved — § 25 TDDDG for cookies, § 5 DDG for the imprint, Art. 32 GDPR for encryption — and suggests technical steps.
That is general information, not legal advice. Whether and how a provision applies to a particular case can only be assessed by a lawyer, and the same is true for the question of whether implementing a step settles the matter. The plugin does not replace a review by a supervisory authority either.
External services
This plugin does not use any third party or external service.
It sends no data anywhere. The plugin contains exactly one HTTP call (wp_remote_get, in includes/class-apexds-pruefung.php). It is used twice, both times against the site it is installed on: the home page (home_url( '/' )) and the site’s own REST route (rest_url( 'wp/v2/users' )). Both go to your own domain. There is no account, no API key, no licence check, no telemetry and no update server of our own.
A note on the domain names in the source code: the file includes/class-apexds-pruefung.php contains a list of host names such as fonts.googleapis.com, connect.facebook.net, js.stripe.com and cdnjs.cloudflare.com. These are search patterns, not requests. The plugin scans the HTML of your own page for these strings in order to report “your site loads Google Fonts” or “your site embeds a Meta pixel”. Detecting an external service requires knowing its address; the plugin never contacts any of them. The same applies to the cookie name patterns in the same file.
