Confidential

Security Assessment: fancypetsalon.com

External reconnaissance and vulnerability assessment for Fancy Pet Salon.

Date: March 17, 2026 Prepared by: myseodesk Target: fancypetsalon.com (Cloudflare proxy) Type: External / Non-Authenticated
0
Critical
2
High
4
Medium
4
Informational

Executive Summary

An external security reconnaissance of fancypetsalon.com was conducted on March 17, 2026. The assessment examined the site's SSL/TLS configuration, HTTP security headers, DNS records, email authentication, subdomain exposure, and technology stack from an unauthenticated external perspective.

The site is well-secured overall, running as static HTML behind Cloudflare with a comprehensive set of security headers including HSTS, CSP, X-Frame-Options, and Permissions-Policy. The primary concerns are a CSP policy that allows unsafe-inline scripts, an HSTS max-age below the recommended 1-year minimum, SPF using softfail instead of hardfail, and DMARC set to quarantine rather than reject. Two accessible paths (/admin/ and /dev/) should be restricted.

Findings

High
CSP Allows unsafe-inline for Scripts
The Content-Security-Policy header includes 'unsafe-inline' in the script-src directive. This significantly weakens XSS protection because any injected inline script will execute, bypassing the CSP entirely. The style-src directive also allows unsafe-inline, though this is lower risk.
Fix: Remove 'unsafe-inline' from script-src and use nonce-based or hash-based CSP instead. Move all inline scripts to external files or add nonce attributes.
High
Accessible /admin/ and /dev/ Paths
The path /admin/ returns HTTP 200 and /dev/ returns a 301 redirect, indicating both are accessible. While /dev/ is blocked in robots.txt, robots.txt is advisory only and does not prevent direct access. These paths may expose development tools or admin interfaces to the public.
Fix: Restrict access to /admin/ and /dev/ using Cloudflare Access rules or nginx IP allowlists. Return 403 or 404 for unauthorized requests.
Medium
HSTS Max-Age Below Recommended Minimum
HSTS is set to max-age=15552000 (180 days) without includeSubDomains or preload directives. OWASP recommends a minimum of 31536000 (1 year) with both flags for HSTS preload list eligibility.
Fix: Update to Strict-Transport-Security: max-age=31536000; includeSubDomains; preload in Cloudflare SSL/TLS settings and submit to the HSTS preload list.
Medium
SPF Uses Softfail (~all) Instead of Hardfail (-all)
The SPF record ends with ~all (softfail), which marks unauthorized senders as suspicious but does not reject them outright. An attacker spoofing the domain may still have emails delivered to spam rather than rejected entirely.
Fix: After confirming all legitimate sending services are covered, change ~all to -all (hardfail) in the DNS TXT record.
Medium
DMARC Policy Set to Quarantine (Not Reject)
DMARC is configured with p=quarantine at 100% enforcement. Spoofed emails are quarantined rather than rejected outright, meaning some may still reach recipients' spam folders.
Fix: After monitoring DMARC reports for a period, upgrade to p=reject to fully block spoofed emails.
Medium
No CAA DNS Records
No Certificate Authority Authorization (CAA) records exist. This means any certificate authority in the world can issue SSL certificates for fancypetsalon.com, increasing the risk of unauthorized certificate issuance.
Fix: Add CAA records to restrict certificate issuance: 0 issue "letsencrypt.org" and 0 issue "pki.goog" (for Cloudflare's Google Trust Services certs).
Info
No IPv6 (AAAA) Record
The domain has no AAAA record. While not a vulnerability, IPv6 support is increasingly expected. Cloudflare can enable IPv6 compatibility automatically.
Info
No security.txt File
No /.well-known/security.txt file exists (returns 403). This RFC 9116 standard file provides security researchers a way to report vulnerabilities responsibly.
Fix: Create a security.txt with contact info at /.well-known/security.txt.
Info
Minimal Subdomain Exposure
No subdomains were discovered in Certificate Transparency logs. The wildcard certificate (*.fancypetsalon.com) covers all subdomains without exposing individual names. This is a positive finding.
Info
Origin Server Hidden Behind Cloudflare
The origin server (nginx on Vultr CloudPanel) is fully hidden behind Cloudflare's proxy. The origin IP is not disclosed in DNS records or response headers. This is a positive finding that prevents direct-to-origin attacks.

Positive Findings

ControlStatusDetails
Content-Security-PolicyActiveFull CSP with defined sources for scripts, styles, fonts, images, and connections.
TLS ConfigurationStrongTLSv1.3 with AES-256-GCM-SHA384 cipher suite.
HTTP to HTTPS RedirectEnabled301 permanent redirect from HTTP to HTTPS.
HSTSActiveStrict-Transport-Security with 180-day max-age.
X-Frame-OptionsActiveSAMEORIGIN prevents clickjacking.
X-Content-Type-OptionsActivenosniff prevents MIME-sniffing attacks.
Referrer-PolicyActivestrict-origin-when-cross-origin prevents URL parameter leakage.
Permissions-PolicyActiveCamera, microphone, geolocation, and payment APIs restricted.
Origin IP ProtectionHiddenOrigin server fully hidden behind Cloudflare proxy.
Wildcard SSLYesCovers *.fancypetsalon.com without exposing subdomain names in CT logs.
DMARC EnforcementActivep=quarantine at 100% with reporting.
SPF RecordPresentCovers Cloudflare MX and smtp2go.com.
Structured DataPresentJSON-LD with LocalBusiness and Organization schemas.

Technology Stack

LayerTechnology
CDN / ProxyCloudflare (Miami POP)
Origin Servernginx (hidden behind CF)
SSLGoogle Trust Services / Cloudflare Universal (TLSv1.3)
CMSNone (static HTML)
CSSCustom v2-styles.css
AnalyticsGoogle Tag Manager (AW-17919035865)
FontsGoogle Fonts (Playfair Display)
EmailCloudflare Email Routing + smtp2go.com
DNSCloudflare (lennox, princess)
i18nBilingual EN/ES with hreflang

DNS Configuration

RecordValue
A172.67.166.197, 104.21.83.13 (Cloudflare proxy)
AAAANone (no IPv6)
NSlennox.ns.cloudflare.com, princess.ns.cloudflare.com
MXCloudflare Email Routing (route1/2/3.mx.cloudflare.net)
SPFv=spf1 include:_spf.mx.cloudflare.net include:spf.smtp2go.com ~all
DMARCv=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@fancypetsalon.com

Priority Remediation Roadmap

Immediate (This Week)

#ActionImpact
1Restrict /admin/ and /dev/ paths via Cloudflare Access or nginx rulesPrevents unauthorized access to internal paths
2Remove 'unsafe-inline' from CSP script-src; use nonces or hashesStrengthens XSS protection

Short-Term (30 Days)

#ActionImpact
3Increase HSTS max-age to 31536000 and add includeSubDomains + preloadHSTS preload list eligibility
4Change SPF from ~all to -all (hardfail)Stronger email spoofing rejection
5Add CAA DNS records to restrict certificate issuancePrevents unauthorized cert issuance

Medium-Term (60-90 Days)

#ActionImpact
6Upgrade DMARC from quarantine to rejectFull email spoofing protection
7Add security.txt file at /.well-known/security.txtResponsible disclosure channel
8Enable IPv6 (AAAA records) via CloudflareFuture-proofing and broader accessibility

Disclaimer

This assessment was performed from an external, unauthenticated perspective using publicly available information and standard reconnaissance techniques. It does not constitute a full penetration test. No exploitation of vulnerabilities was attempted. Findings are based on data available at the time of assessment and may change as the target environment evolves. This report is confidential and intended solely for the authorized recipient.