Skip to content
TrustYourWebsite
Steel bank vault door with combination lock representing robust security

Security

SSL certificates, vulnerable libraries, security headers, and protecting your visitors.

Website security is both a technical necessity and a legal obligation. Under GDPR Article 32, businesses must implement 'appropriate technical measures' to protect personal data. An expired SSL certificate, outdated WordPress plugins, or missing security headers can expose your visitors' data, and expose your business to fines. Data breaches must be reported to your DPA within 72 hours, and affected individuals must be notified if there is a serious threat to their rights.

Key facts

  • The Dutch AP fined a company €400,000 for inadequate security measures after a data breach
  • 46% of all websites have at least one high-severity vulnerability (Acunetix 2024)
  • WordPress plugins account for 97% of WordPress security vulnerabilities
  • Missing security headers like Content-Security-Policy leave sites vulnerable to XSS attacks
  • GDPR Article 32 requires encryption of personal data in transit, meaning SSL/TLS is not optional

What we check

  • SSL/TLS certificate validity and configuration
  • Security headers (CSP, HSTS, X-Frame-Options, etc.)
  • Known vulnerable JavaScript libraries
  • Mixed content (HTTP resources on HTTPS pages)
  • SPF, DKIM, and DMARC email authentication records

Website security: good vs. bad examples

Needs fixing

Expired or missing SSL certificate

Visitors see a "Not Secure" warning in their browser because the SSL certificate has expired or was never installed. GDPR Article 32 requires encryption of personal data in transit. Without SSL/TLS, form submissions and login credentials are sent in plain text.

Outdated WordPress with known vulnerabilities

Running WordPress 5.x or plugins with known security flaws that have published CVE entries. Attackers scan for these automatically. An exploited vulnerability that leaks customer data triggers a mandatory breach notification within 72 hours.

No security headers configured

Missing Content-Security-Policy, X-Frame-Options and HSTS headers. Without these, your site is vulnerable to cross-site scripting (XSS), clickjacking and protocol downgrade attacks. Most hosting providers do not set these by default.

Mixed content on HTTPS pages

An HTTPS website that loads images, scripts or stylesheets over HTTP. Browsers flag this as insecure and may block the resources entirely. It also breaks the encryption chain for any data transmitted on the page.

Compliant

Valid SSL with automatic renewal

A valid SSL/TLS certificate (e.g. Let's Encrypt) with automatic renewal configured. The browser shows a padlock icon. HSTS header ensures browsers always connect via HTTPS, even if someone types http://.

Regular updates and patch management

WordPress core, themes and plugins updated within 48 hours of security releases. Automatic updates enabled for minor versions. Unused plugins removed entirely rather than just deactivated.

Security headers properly configured

Content-Security-Policy blocks inline scripts and restricts resource origins. X-Frame-Options prevents clickjacking. HSTS with a long max-age and includeSubDomains. Referrer-Policy set to strict-origin-when-cross-origin.

All resources loaded over HTTPS

Every image, script, stylesheet and font loaded via HTTPS. No mixed content warnings. External resources verified for HTTPS support before embedding. A Content-Security-Policy upgrade-insecure-requests directive as fallback.

Article 32 in plain English

GDPR Article 32 requires controllers and processors to implement appropriate technical and organisational measures to secure personal data. The text lists four illustrative measures: pseudonymisation and encryption, the ability to restore availability, regular testing, and a process to evaluate effectiveness.

What does "appropriate" mean for a small Irish business with a website and a CRM? The DPC has never published a prescriptive checklist, but the enforcement pattern over the last five years tells you what it expects.

Encryption in transit isn't optional. A login form served over plain HTTP or a contact form that posts to an HTTP endpoint is an automatic finding. HTTPS everywhere is the baseline.

Access controls on backend systems. Shared passwords, admin accounts with default names, no MFA on email, are all recurring findings in DPC reprimands.

Incident detection. You need to know within 72 hours whether a breach has happened. That's not the same as fixing it, but it's the trigger for Article 33 notification.

Regular testing. For an SMB this can be as simple as an annual scan, a quarterly review of who has access to what, and a short tabletop exercise on what to do if the CRM is compromised.

NIS2 in Ireland, who's in scope and by when

The EU NIS2 Directive (Directive 2022/2555) entered into force on 16 January 2023. Member states had until 17 October 2024 to transpose it. Ireland, like most member states, missed that deadline. The Irish transposition moved through the Oireachtas during 2025 and is now in force.

Two categories of entity are covered. Essential entities include large organisations in energy, transport, banking, financial market infrastructures, health, drinking water, waste water, digital infrastructure, public administration and space. Important entities include medium-sized entities in postal services, waste management, manufacture of certain products, digital providers, research and food.

The thresholds are 250 employees, €50M annual turnover, €43M balance sheet. Essential status also depends on the sector.

Cloud service providers, managed service providers, data centre operators, DNS providers, CDN providers and online marketplaces are explicitly in scope regardless of size in some cases. An Irish SaaS selling to hospitals or banks should assume it's in scope.

Duties include risk management, incident reporting within 24 hours for early warning, and supply chain security. The Irish National Cyber Security Centre (NCSC) at ncsc.gov.ie is the competent authority.

For a typical Irish SMB website without any of those profiles, NIS2 doesn't apply directly. But if you supply services to an essential or important entity, your contracts will start carrying NIS2 flow-down clauses in 2026.

The DPC's security expectations, based on recent decisions

The Irish DPC has published enforcement decisions that read like a security syllabus. Reading them in order is more useful than any checklist.

The Meta 2023 €1.2B transfer fine, while about Schrems II, also set out what "appropriate safeguards" mean for a very large data controller.

The TikTok 2023 €345M fine on children's privacy included findings on default privacy settings, dark patterns in account setup, and age verification gaps.

The LinkedIn 2024 €310M fine on behavioural advertising identified transparency and legal basis failures at the interface level.

For an SMB the DPC is more proportionate. Typical reprimands cite: no MFA on the admin panel, sensitive data stored unencrypted at rest, backup retained without a deletion schedule, logs retained beyond what's necessary, third-party plugin with a known CVE left unpatched for months.

The through-line is documented process. The DPC forgives some technical shortfalls if the organisation can show awareness, prioritisation and a plan. It penalises harder when the organisation didn't know, didn't check and didn't care.

Security headers, the free baseline

HTTP security headers are the lowest-effort, highest-impact security measure you can add to any website. They take minutes to configure and block classes of attacks that cost money to clean up after.

Six headers carry most of the protection.

Strict-Transport-Security forces browsers to use HTTPS. Without it, a visitor who types your domain into the URL bar gets routed via HTTP for a split second, long enough to be hijacked on a compromised WiFi.

Content-Security-Policy restricts where scripts, styles and images can load from. A CSP done well makes most cross-site scripting attacks non-exploitable.

X-Content-Type-Options with the value nosniff stops browsers guessing MIME types. Blocks a class of attacks where uploaded files execute as scripts.

X-Frame-Options prevents your site being embedded in a malicious frame for clickjacking. Modern sites should set frame-ancestors in CSP as well.

Referrer-Policy limits what your outbound links leak about the referring URL. strict-origin-when-cross-origin is the sensible default.

Permissions-Policy disables browser APIs your site doesn't use. Camera, microphone, geolocation, payment. If you're not a video chat app, disable the camera API.

Test your configuration with our free headers scanner. No configuration is perfect on day one. Start with report-only CSP for two weeks, read the violations, then enforce.

Related guides

My Website Says 'Not Secure'. Here's How to Fix It

Your browser shows 'Not Secure' for your website? Here is what it means and how to fix it step by step.

Website Security Checklist: 10 Things to Check Today

A practical security checklist for small business websites. 10 things you can check and fix today without technical expertise.

GDPR Requires a Secure Website: What You Need to Know

GDPR Article 32 requires you to protect personal data with appropriate security. Here is what that means for your website.

Outdated WordPress Plugins Are a Security Risk

Outdated WordPress plugins are the top attack vector for small business sites. Learn how to check, update and review your plugins.

SPF, DKIM and DMARC: Email Security in Plain Language

SPF, DKIM and DMARC explained simply. Learn what they do, why you need them and how to set them up for your domain.

Website Hacked? Here's What to Do Right Now

Your website has been hacked or shows signs of malware. Here are the steps to take right now to contain the damage and get back online.

What Does a Website Security Scan Check?

What a website security scan actually checks: SSL, headers, vulnerable libraries, outdated CMS, and more. Learn what the results mean and how to fix issues.

Why Your Business Emails End Up in Spam (And How to Fix It)

Business emails landing in spam? You're probably missing SPF, DKIM, or DMARC records. Here's what they are and how to set them up.

SSL Certificate: What It Is, Why You Need It

An SSL certificate encrypts data between your website and visitors. Here is what it does, why you need one and how to get one for free.

Check your website now

Scan your website for Security issues and 30+ other checks.

Scan your site free