Web & Email Security Test
← Web Test Home
B+
Test Information
Targetimmich.haffly.ca
Resolved To:https://immich.haffly.ca/
IPv4:104.21.57.29
172.67.158.192
172.67.158.192
Scan ID #:397
Scan Time (UTC):2026-04-20 16:56:11
Response Code (HTTP):301
Response Code (HTTPS):200
Score:79/120
Tests Passed:21/25
Related Tests
Overall Scores
| Test | Pass | Score | Max | Min | Reason | Recommended Apache Config | More |
|---|---|---|---|---|---|---|---|
| HTTPS Availability | ✅ | 0 | 0 | -40 | Site is available over HTTPS and HTTP redirects to HTTPS with same hostname | — | |
| SSL and TLS Protocols | ➖ | 0 | 5 | -20 | TLS v1.0/v1.1 are being phased out as certain TLS v1.0 ciphers are not secure | SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 | 🛈 |
| HSTS (Strict Transport Security) | ✅ | 0 | 0 | -15 | Max-age (730 days) is at least 1 year, subdomains are included, and is eligible for preloading | Header set Strict-Transport-Security max-age=31536000; includeSubDomains; preload | 🛈 |
| Expect Certificate Transparency | ❌ | -5 | 0 | -5 | Site available over HTTPS but no certificate transparency directives | — | |
| HTTP Compression | ✅ | +1 | 1 | 0 | HTTP compression not supported | SetEnv no-gzip 1 | 🛈 |
| Cache Control | ❌ | -5 | 0 | -5 | Cache-Control directives are not adequate for sensitive data | Header set Cache-Control "no-store, no-cache, must-revalidate" | |
| Cookies | ✅ | 0 | 0 | -20 | N/A (No cookies sent) | — | |
| Subresource Integrity | ✅ | +5 | 5 | -10 | N/A (No external JavaScript detected) | — | 🛈 |
| Content-Security-Policy | ❌ | -16 | 0 | -24 | Content-Security-Policy header sent (see subtable for details) | Header set Content-Security-Policy " | 🛈 |
| Feature-Policy | ➖ | 0 | 5 | 0 | Feature-Policy header not sent | Header set Feature-Policy "autoplay 'self';" | |
| Report-To | ✅ | +1 | 1 | 0 | Report-To header sent | Header set Report-To: {"group":"default","max_age":31536000,"endpoints":[{"url":"https://[your-endpoint].report-uri.com/a/d/g"}],"include_subdomains":true} | |
| Network Error Logging | ✅ | +1 | 1 | 0 | NEL header sent | Header set NEL: {"report_to":"default","max_age":31536000,"include_subdomains":true} | |
| Referrer Policy | ✅ | +2 | 2 | -5 | Effective Referrer policy is secure but may also prevent referer data from being sent to trusted hosts | Header always set Referrer-Policy "no-referrer-when-downgrade" | |
| X-Content-Type-Options | ✅ | 0 | 0 | -10 | X-Content-Type-Options header securely set | Header set X-Content-Type-Options "nosniff" | |
| X-XSS-Protection | ✅ | 0 | 0 | -10 | X-XSS-Protection header securely set | Header set X-XSS-Protection "1; mode=block" | |
| X-Frame-Options | ✅ | 0 | 0 | -10 | X-Frame-Options header securely set | Header set X-Frame-Options "DENY" | |
| X-Powered-By | ✅ | 0 | 0 | -3 | X-Powered-By header not sent | Header unset "X-Powered-By" | |
| X-AspNet-Version | ✅ | 0 | 0 | -1 | X-AspNet-Version header not sent | — | |
| X-AspNetMvc-Version | ✅ | 0 | 0 | -1 | X-AspNetMvc-Version header not sent | — | |
| Server Header | ✅ | 0 | 0 | -2 | Server header sent, with general, non-specific value cloudflare | ServerTokens Prod | |
| Cross-Origin Resource Sharing | ✅ | 0 | 0 | -15 | CORS header not implemented | — | |
| DNSSEC (DNS Security Extensions) | ❌ | -5 | 0 | -5 | Domain is not signed with a valid signature | — | |
| IPv6 Reachability | ➖ | 0 | 0 | -5 | Nameservers not available | — | |
| SPF (Sender Policy Framework) | ➖ | 0 | 0 | -10 | No MX records associated with this hostname | — | |
| DMARC (Domain-based Message Authentication, Reporting, and Confidence) | ➖ | 0 | 0 | -10 | No MX records associated with this hostname | — |
Content Security Policy
| Directive | Pass | Score | Max | Min | Reason | Current | Recommended Baseline | More |
|---|---|---|---|---|---|---|---|---|
| default-src | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| script-src | ❌ | -1 | 0 | -4 | Missing | 'self' | ||
| style-src | ❌ | -1 | 0 | -4 | Missing | 'self' | ||
| font-src | ❌ | -1 | 0 | -2 | Missing | 'self' | 🛈 | |
| base-uri | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| frame-ancestors | ❌ | -1 | 0 | -3 | Missing | 'none' | ||
| form-action | ➖ | 0 | 0 | 0 | Missing, but this directive may not be appropriate | 🛈 | ||
| plugin-types | ✅ | 0 | 0 | 0 | CSP doesn't contain deprecated directive | application/pdf | ||
| object-src | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| child-src | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| frame-src | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| img-src | ❌ | -1 | 0 | -1 | Missing | https: data: | ||
| worker-src | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| manifest-src | ❌ | -1 | 0 | -1 | Missing | 'none' | ||
| media-src | ❌ | -1 | 0 | -1 | Missing | 'self' | ||
| connect-src | ❌ | -1 | 0 | -1 | Missing | 'self' | 🛈 | |
| report-uri | ❌ | -1 | 0 | -1 | Needed for CSP reporting in CSP version 2 | https://<your-endpoint>.report-uri.com/r/d/csp/enforce | ||
| report-to | ➖ | -1 | 0 | 0 | Needed for CSP reporting in CSP version 3 | default |
Raw Headers
dateMon, 20 Apr 2026 16:56:10 GMT
content-typetext/html; charset=utf-8
cache-controlno-store
report-to{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5F4aC3f7nUqBMaeLp5VKD0Y%2FGSV7zIHIbp6DBYXq5m56oXdQyzd9oAC0Mac4ZM6UMzDarziCkXuFVztBGYexY%2FuxJrImwCwfWCb%2Bf4eL8BkJLo1zIA1sNkObVK29WZwZxuqW"}]}
servercloudflare
strict-transport-securitymax-age=63072000;includeSubDomains; preload
referrer-policystrict-origin-when-cross-origin
x-content-type-optionsnosniff
x-xss-protection1; mode=block
x-frame-optionsSAMEORIGIN
content-security-policyupgrade-insecure-requests
permissions-policyinterest-cohort=()
expect-ctenforce; max-age=604800
x-served-byimmich.haffly.ca
nel{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-cache-statusDYNAMIC
content-encodingzstd
cf-ray9ef5ae4b0b33729c-EWR
alt-svch3=":443"; ma=86400
Test History
Results hidden from public stats are not shown here.
| 1 week ago | 79 |
Was this test helpful? Are there things we could improve? If so, please let us know! If you'd like to support it, donations are greatly appreciated.