Cách Mình Dùng Claude Code Audit Security + PDPD 2026
Một site thiếu HSTS preload, CSP Level 3, hoặc cookie banner có nút “Reject All” bị ẩn có thể nhận fines GDPR lên 20M EUR hoặc 4% revenue. Vấn đề nằm ở compliance layer, không phải code bug. Luật Bảo vệ Dữ liệu Cá nhân 91/2025 (hiệu lực 01-01-2026) nâng trần phạt PDPD lên 3 tỷ VND hoặc 5% doanh thu, kèm khả năng đình chỉ hoạt động.
Site đang miss CSP Level 3 sẽ không chặn được phần lớn XSS pattern phổ biến. Thiếu Permissions-Policy khiến 3rd-party iframe truy cập camera, microphone theo mặc định. Cookie banner dark pattern vi phạm trực tiếp EDPB 2024 guideline. Những lỗi này không hiển thị trên Google Search Console nhưng lại là điểm kiểm tra đầu tiên của A05 Bộ Công an khi audit PDPD.
Bài này list đầy đủ 36 check Security + GDPR + PDPD 2026 chia 5 nhóm: HTTPS + TLS + HSTS preload, security headers (CSP L3 + X-Frame + Referrer-Policy + COOP/COEP), GDPR cookie + consent management, PDPD Nghị định 13 VN-specific, data leak + privacy prevention. Mỗi check có pass criteria cụ thể theo OWASP Top 10 2024 (truy cập 2026-06-01), Mozilla Observatory (truy cập 2026-06-01), GDPR Article 13 (truy cập 2026-06-01), và PDPD Nghị định 13. Kèm 3 cách audit: manual curl, paid tool subscription, và Claude Code skill.

TL;DR
- Phạm vi: 36 check Security + Compliance chia 5 nhóm: HTTPS + TLS 1.3 + HSTS preload, Security headers CSP L3 + X-Frame + COOP/COEP, GDPR cookie + consent + data subject rights, PDPD Nghị định 13 VN-specific, data leak prevention.
- GDPR fines: tối đa 20M EUR hoặc 4% annual revenue (whichever higher) theo GDPR Art. 83.
- PDPD fines 2026: Luật 91/2025 (hiệu lực 01-01-2026) phạt tối đa 3 tỷ VND hoặc 5% doanh thu + business suspension. Mua bán dữ liệu: 10 lần khoản thu bất chính.
- 3 cách audit: manual với curl + Mozilla Observatory + Securityheaders.com (3-5 giờ, free), paid tool subscription ($79-499/tháng), hoặc kit Claude Code
claude-growth(20-40 phút, kèm header config snippet sẵn dùng).
📌 Nếu bạn là PM, founder, CEO non-tech: bài này dùng nhiều thuật ngữ technical (HSTS, CSP Level 3, DSR endpoint, Consent Mode v2, PDPD, EAA). 2 câu summary cho non-dev:
- Audit này làm gì: 1 lệnh check HTTPS hardening + cookie consent + PDPD VN compliance (Luật 91/2025) + GDPR/CCPA cho EU+US visitor.
- Bạn nhận lợi ích gì: Tránh phạt 3 tỷ VND (PDPD VN), 5K-300K EUR (EAA), $170M-class fine (GDPR pattern Google bị 2022). 1 plugin fix = legal exposure giảm hẳn.
Security + Compliance là gì và business impact 2026 ra sao?
Web Security là tổng hợp setup bảo vệ user data + ngăn chặn attack vector (XSS, CSRF, clickjacking, mixed content). Tầng cơ sở: HTTPS + TLS 1.3, HSTS preload, security headers (CSP L3, X-Frame-Options, Referrer-Policy, COOP/COEP). Tầng compliance: GDPR EU (General Data Protection Regulation, hiệu lực 25-05-2018) + PDPD Việt Nam (Nghị định 13/2023, hiệu lực 01-07-2023). Security chỉ là một yếu tố trong một SEO audit hoàn chỉnh.
GDPR (EU) áp dụng cho mọi site phục vụ user EU bất kể company location. Bắt buộc lawful basis cho data processing, cookie consent explicit (opt-in, không opt-out), data subject access rights, breach notification 72 giờ. Fines theo Article 83: tier nhỏ 10M EUR hoặc 2% revenue, tier nghiêm trọng 20M EUR hoặc 4% revenue.
PDPD Việt Nam áp dụng cho mọi data controller processing personal data của công dân Việt Nam. Khung pháp lý 2026: Luật Bảo vệ Dữ liệu Cá nhân số 91/2025/QH15 (ban hành 26-06-2025, hiệu lực 01-01-2026) là văn bản chủ đạo, Nghị định 13/2023/NĐ-CP vẫn là hướng dẫn thi hành (chờ nghị định mới). Bắt buộc register notification với Cục An ninh mạng (A05) Bộ Công an, privacy notice format theo Điều 13, consent rules theo Điều 11, breach notification 72 giờ.
Chế tài 2026 nặng hơn khung cũ rõ rệt: phạt hành chính tối đa 3 tỷ VND, riêng vi phạm nghiêm trọng tới 5% doanh thu, và mua bán dữ liệu cá nhân phạt tới 10 lần khoản thu bất chính (Luật 91/2025), cộng khả năng đình chỉ hoạt động.
Tại sao 2026 quan trọng hơn 2024?
- TLS 1.3 chiếm 60%+ traffic theo Cloudflare Radar 2026 Q1. Site còn TLS 1.0/1.1 = browser show warning, mất trust signal.
- CSP Level 3 ratified với strict-dynamic + Trusted Types blocking XSS attack pattern modern theo W3C CSP3 spec.
- GDPR fines record 2025 Meta 1.2 tỷ EUR (2023, Ireland DPC) + Amazon 746M EUR (2021, Luxembourg CNPD), enforcement chặt hơn từng quý theo GDPR Enforcement Tracker.
- PDPD enforcement Việt Nam tăng cường 2026 sau 2 năm grace period. Cục A05 audit random batch, fines public.
- Cookie consent dark pattern bị EDPB (European Data Protection Board) ban explicit 2025: nút “Reject” phải cùng prominence với “Accept All”.
- Third-party cookie vẫn tồn tại sau khi Google đảo ngược kế hoạch deprecate (công bố 22-04-2025, giữ cookie trong Chrome thay vì bỏ). Nhưng consent management + cookie banner compliant vẫn quan trọng hơn bao giờ hết vì enforcement GDPR/PDPD siết chặt.
Tác động kinh doanh:
| Vấn đề kỹ thuật | Tác động kinh doanh trực tiếp |
|---|---|
| HTTPS thiếu HSTS preload | MITM attack risk public WiFi, browser flag “Not secure”, trust drop |
| CSP thiếu hoặc weak | XSS attack inject malicious script, user account hijack, brand reputation hỏng |
| GDPR cookie banner non-compliant | EU user lawsuit risk, fines 10-20M EUR, lawsuit precedent leak audit reputation |
| PDPD chưa register A05 | Cục An ninh mạng audit, fines 50-100M VND, đình chỉ kinh doanh online |
| Data breach không notify 72h | Fines GDPR + PDPD double, civil class action user, brand crisis |
Investment vs compliance fines risk: Manual audit Security + Compliance 3-5 giờ × ~$20 USD/giờ = ~$80 USD mỗi site. Paid tool + lawyer review combination $50-150K mỗi năm. Kit ~$240/năm (cost lifetime tier).
GDPR fines tier nghiêm trọng 20M EUR một lần; PDPD fines 100M VND + đình chỉ kinh doanh. ROI audit Security = bảo hiểm legal: $240-14,400 USD đầu tư vs 20M EUR GDPR risk, tức ratio rất cao. Site có audience EU hoặc xử lý data user VN = mandatory, không phải optional.
Security + Compliance 2026: 5 nhóm check cần cover
ℹ️ Lưu ý quan trọng: 5 trong 36 check yêu cầu 👤 human judgment (không tool nào tự động được, vì là business policy / UX choice / legal review). Mỗi check manual đều có badge 👤 Manual inline để bạn dễ nhận. Chi tiết breakdown ở section Skill coverage cuối bài.
Tier: 🔴 Critical · 🟡 Important · 🟢 Recommended | Mode: 🤖 Auto (qua skill kit) · 👤 Manual (cần human judgment)
36 check Security + GDPR + PDPD 2026 chia 5 sub-section. Critical tập trung HTTPS + headers (foundation kỹ thuật) + GDPR/PDPD consent (legal blocker). Resource Important. Data leak prevention Recommended cho enterprise.
| Sub-section | Range | Tier dominant |
|---|---|---|
| 4.1 HTTPS + TLS + HSTS preload | #1-6 | 🔴 Critical (5) + 🟡 (1) |
| 4.2 Security headers (CSP L3 + X-Frame + Referrer) | #7-14 | 🔴 Critical (5) + 🟡 (3) |
| 4.3 GDPR cookie + consent + DSR | #15-20 | 🔴 Critical (4) + 🟡 (2) |
| 4.4 PDPD Nghị định 13 VN | #21-26 | 🔴 Critical (4) + 🟡 (2) |
| 4.5 Data leak prevention | #27-30 | 🟢 Recommended (3) + 🟡 (1) |

Tier classification:
- 🔴 Critical: fail = legal liability ngay (GDPR/PDPD fines) hoặc security breach risk. Ví dụ HTTPS chưa, HSTS chưa preload, GDPR consent opt-out, PDPD chưa register.
- 🟡 Important: fix trong 30 ngày, ảnh hưởng trust signal + audit risk. Ví dụ Referrer-Policy missing, CSP report-only, cookie banner dark pattern minor.
- 🟢 Recommended: nice-to-have enterprise. Ví dụ Subresource Integrity (SRI), COOP/COEP cho cross-origin isolation, DLP scan content.

Disclosure: Body chứa đầy đủ 36 check numbered. 342 check tổng hợp 9 yếu tố đã có ở series Audit Website 2026.
HTTPS + TLS + HSTS: 6 check foundation security 2026?
📌 Section này bao gồm check #1 đến #6 trong tổng 36 check.
HTTPS + TLS layer là foundation cho mọi security mechanism khác. Fail layer này = CSP + GDPR + PDPD không meaning gì vì traffic intercept dễ.
- [1] Site serve HTTPS với HTTP redirect 301? 🔴 Critical
- 💡 Tại sao: HTTP plain text user có thể intercept WiFi public. Phải redirect HTTP → HTTPS permanent.
- ✅ Cách check:
curl -sI http://yoursite.com | grep -i location→ HTTP/1.1 301 + Location: https://yoursite.com. Browser direct: HTTP URL phải auto redirect HTTPS.
- [2] TLS 1.2+ enabled, TLS 1.0/1.1 disabled? 🔴 Critical
- 💡 Tại sao: TLS 1.0/1.1 deprecated 2020, vulnerable BEAST/POODLE attack. Browser flag warning cho user.
- ✅ Cách check: SSL Labs nhập domain → Protocols section: TLS 1.2/1.3 = Yes, TLS 1.0/1.1 = No. Cần rating A+ (A là OK).
- [3] HSTS header với max-age ≥ 31536000 (1 năm)? 🔴 Critical
- 💡 Tại sao: HSTS bắt browser memory site = HTTPS-only cho khoảng thời gian max-age. Tránh SSL stripping attack.
- ✅ Cách check:
curl -sI https://yoursite.com | grep -i strict-transport-security→ cầnmax-age=31536000; includeSubDomains; preload.
- [4] HSTS preload submitted to Chrome preload list? 🔴 Critical
- 💡 Tại sao: Preload list giúp browser HTTPS-only NGAY LẦN ĐẦU user visit, không đợi HSTS header set.
- ✅ Cách check: hstspreload.org nhập domain → “Status: Preloaded” = OK. Nếu chưa: submit (cần includeSubDomains + max-age 1 năm).
- [5] Mixed content (HTTP asset trong HTTPS page) bằng 0? 🔴 Critical
- 💡 Tại sao: HTTP image/script inside HTTPS = browser block hoặc warning. Padlock icon broken.
- ✅ Cách check: DevTools > Console → tìm “Mixed Content” warning. Hoặc Why No Padlock audit.
- [6] SSL certificate valid + auto-renew setup? 🟡 Important
- 💡 Tại sao: cert expire = site down. Let’s Encrypt 90-day, manual renew dễ quên. Cần Certbot auto-renew cron.
- ✅ Cách check:
openssl s_client -connect yoursite.com:443 -servername yoursite.com 2>/dev/null | openssl x509 -noout -dates→ notAfter date. Cron:certbot renew --dry-run.
Security Headers: 8 check block XSS + clickjacking 2026?
📌 Section này bao gồm check #7 đến #14 trong tổng 36 check.
Security headers là tầng phòng thủ second-line sau HTTPS. CSP Level 3 chặn phần lớn XSS pattern phổ biến (inline script + script 3rd-party không allow). X-Frame-Options + Referrer-Policy bảo vệ clickjacking + data leak qua referer.
- [7] Content-Security-Policy (CSP) Level 3 với strict-dynamic? 🔴 Critical
- 💡 Tại sao: CSP block inline script + 3rd-party script không allow. Level 3 strict-dynamic chặn phần lớn XSS modern pattern.
- ✅ Cách check:
curl -sI https://yoursite.com | grep -i content-security-policy→ cần directivescript-src 'strict-dynamic' 'nonce-...' 'unsafe-inline' https:; object-src 'none';. Audit CSP Evaluator.
- [8] X-Frame-Options: DENY hoặc SAMEORIGIN? 🔴 Critical
- 💡 Tại sao: site bị embed iframe trên site malicious = clickjacking attack. Block iframe embed prevent.
- ✅ Cách check:
curl -sI yoursite.com | grep -i x-frame-options→DENY(recommended) hoặcSAMEORIGIN. Hoặc CSP frame-ancestors directive thay thế.
- [9] Referrer-Policy: strict-origin-when-cross-origin? 🟡 Important
- 💡 Tại sao: referrer header leak URL nội bộ ra 3rd-party. Strict-origin chỉ leak domain, không leak path.
- ✅ Cách check:
curl -sI yoursite.com | grep -i referrer-policy→strict-origin-when-cross-origin(default modern browser). Set explicit để confirm.
- [10] Permissions-Policy với restrict default features? 🟡 Important
- 💡 Tại sao: Permissions-Policy (formerly Feature-Policy) block camera/microphone/geolocation default. 3rd-party iframe không access được.
- ✅ Cách check:
curl -sI yoursite.com | grep -i permissions-policy→ ví dụgeolocation=(), camera=(), microphone=()(empty = blocked).
- [11] X-Content-Type-Options: nosniff? 🔴 Critical
- 💡 Tại sao: browser MIME-sniff response → đoán wrong type → execute JS từ user-uploaded file. Block prevent.
- ✅ Cách check:
curl -sI yoursite.com | grep -i x-content-type-options→nosniff.
- [12] COOP (Cross-Origin-Opener-Policy): same-origin? 🟢 Recommended
- 💡 Tại sao: COOP isolate browsing context khỏi popup malicious. Combined với COEP enable SharedArrayBuffer cho perf.
- ✅ Cách check:
curl -sI yoursite.com | grep -i cross-origin-opener-policy→same-origin.
- [13] COEP (Cross-Origin-Embedder-Policy): require-corp? 🟢 Recommended
- 💡 Tại sao: COEP yêu cầu cross-origin resource phải opt-in CORS. Enable SharedArrayBuffer + Spectre mitigation.
- ✅ Cách check:
curl -sI yoursite.com | grep -i cross-origin-embedder-policy→require-corp. Note: enable COEP có thể break 3rd-party embed nếu họ không CORS.
- [14] Subresource Integrity (SRI) cho CDN script? 🟡 Important
- 💡 Tại sao: CDN script compromise (jQuery CDN bị hack) = mọi site dùng dính. SRI hash verify file unchanged.
- ✅ Cách check: View source
<script src="cdn.../jquery.js" integrity="sha384-..." crossorigin="anonymous">→ SRI hash present. Tool SRI Hash Generator.
GDPR cookie + consent + DSR: 6 check EU compliance?
📌 Section này bao gồm check #15 đến #20 trong tổng 36 check.
GDPR áp dụng cho mọi data controller xử lý personal data của EU resident (bất kể company location). Cookie banner phải explicit opt-in, không opt-out. Data Subject Rights (DSR) phải honor trong 30 ngày.

- [15] Cookie banner explicit opt-in (không opt-out preset)? 🔴 Critical
- 💡 Tại sao: GDPR Art. 7 + EDPB Cookie Guidelines 03-2020: consent phải freely given, specific, informed, unambiguous. Pre-checked box ≠ consent.
- ✅ Cách check: Mở site (incognito), cookie banner default state phải có tất cả non-essential cookie UNCHECKED. User phải actively check + click “Accept” để enable.
- [16] Nút “Reject All” cùng prominence với “Accept All”? 🔴 Critical
- 💡 Tại sao: EDPB 2024 guideline + CJEU C-673/17 (Planet49): “Reject” phải same size, same color contrast, same hierarchy với “Accept”. Dark pattern (Reject ẩn sau “Settings”) = non-compliant.
- ✅ Cách check: Cookie banner có nút “Reject All” visible same level với “Accept All” không (không ẩn trong “Settings/Manage” sub-menu).
- [17] Privacy Policy đầy đủ theo GDPR Article 13? 🔴 Critical
- 💡 Tại sao: GDPR Art. 13 list 11 thông tin bắt buộc: identity controller, contact DPO, purpose processing, lawful basis, retention period, data subject rights, complaint authority, etc.
- ✅ Cách check: Open
/privacy-policy/page, scan có cover 11 mục Article 13. Hoặc dùng GDPR Privacy Policy Checker audit.
- [18] Data Subject Access Request (DSAR) form/email functional? 🔴 Critical
- 💡 Tại sao: User có quyền request “Cho tôi xem mọi data về tôi” + “Xóa data tôi” theo Art. 15-17. Response 30 ngày tối đa.
- ✅ Cách check: Site có form/email submit DSAR không. Test submit, response thực tế 30 ngày.
- [19] Cookie banner cho phép withdraw consent dễ dàng? 🟡 Important
- 💡 Tại sao: GDPR Art. 7(3): withdraw consent phải easy như give consent. Cần button “Cookie Settings” footer accessible mọi page.
- ✅ Cách check: Footer có link “Cookie Settings” mở banner lại. Toggle cookie category off + save = revoke consent.
- [20] Cross-border data transfer mechanism (SCC + DPF)? 🟡 Important
- 💡 Tại sao: Data EU → US/3rd country cần legal mechanism: Standard Contractual Clauses (SCC) hoặc EU-US Data Privacy Framework (DPF, 07-2023 valid).
- ✅ Cách check: Privacy policy có specify data transfer mechanism + 3rd country list không. Vendor list (Google Analytics, Facebook Pixel) DPF-certified không.
PDPD Nghị định 13: 6 check VN-specific compliance?
📌 Section này bao gồm check #21 đến #26 trong tổng 36 check.
PDPD (Personal Data Protection Decree) Nghị định 13/2023/NĐ-CP hiệu lực 01-07-2023. Áp dụng mọi tổ chức/cá nhân processing dữ liệu cá nhân của công dân Việt Nam. Khác GDPR ở: bắt buộc register notification với A05 (Cục An ninh mạng), language privacy notice phải tiếng Việt + English.
- [21] Site đã register notification với Cục A05 chưa? 🔴 Critical
- 💡 Tại sao: Nghị định 13 Điều 24 bắt buộc register processing notification trong 60 ngày kể từ ngày bắt đầu xử lý. Không register = fines 50M VND.
- ✅ Cách check: Submit form notification online tại Cổng dịch vụ công Bộ Công an. Lưu receipt làm bằng chứng. DPO/legal handle.
- [22] Privacy notice tiếng Việt + theo Điều 13 format? 🔴 Critical
- 💡 Tại sao: Nghị định 13 Điều 13 list 10 thông tin bắt buộc notice: purpose, scope, retention, data subject rights, contact controller, complaint authority, etc.
- ✅ Cách check:
/chinh-sach-bao-mat/page tiếng Việt cover Điều 13 10 mục. English version separate/privacy-policy/cho international user.
- [23] Consent rule theo Điều 11 (rõ ràng + voluntary)? 🔴 Critical 👤 Manual
- 💡 Tại sao: Điều 11 + 12 bắt buộc consent explicit, có thể withdraw, không bị coerce. Pre-checked + bundled consent với T&C = invalid.
- ✅ Cách check: Form đăng ký user, consent checkbox separate, không pre-checked, không bundle với T&C agreement.
- [24] Sensitive data (nhạy cảm) handle theo Điều 28? 🔴 Critical 👤 Manual
- 💡 Tại sao: Nghị định 13 Điều 2(4): sensitive data gồm health, religion, biometric, political, financial. Cần consent + impact assessment chuyên biệt.
- ✅ Cách check: Form thu thập sensitive data có separate consent + privacy impact assessment record không.
- [25] Breach notification 72 giờ tới A05 + user? 🟡 Important
- 💡 Tại sao: Điều 23: data breach phải notify A05 + affected user trong 72 giờ. Late = fines tăng.
- ✅ Cách check: Incident response plan có document 72h notification workflow không. Test với mock breach drill.
- [26] DPO (Data Protection Officer) assigned + contact public? 🟡 Important
- 💡 Tại sao: Điều 27: tổ chức processing data ≥ 100K user phải có DPO. Contact info DPO public trên privacy notice.
- ✅ Cách check: Privacy notice có “DPO: [tên] – email: [email]” không. DPO báo cáo trực tiếp board, không conflict interest.
Data leak prevention: 4 check protect sensitive content?
📌 Section này bao gồm check #27 đến #30 trong tổng 36 check.
Data leak prevention (DLP) layer cuối, ngăn chặn sensitive data leak qua public endpoint, public S3 bucket, hoặc client-side exposure.
- [27] No sensitive data trong client-side JS bundle? 🔴 Critical 👤 Manual
- 💡 Tại sao: API key, secret, internal endpoint trong JS bundle = anyone view source thấy được.
- ✅ Cách check: View source main.js, grep
password|secret|api_key|token. Tool TruffleHog scan bundle. Sensitive data phải proxy qua backend.
- [28] Public file/folder không expose sensitive (.env, .git, /admin)? 🔴 Critical
- 💡 Tại sao:
.envfile expose database password + API key..git/configexpose internal repo path./admin/expose login bypass. - ✅ Cách check:
curl -I yoursite.com/.env→ 403/404 = OK, 200 = leak. Tool Wapiti audit endpoint expose.
- 💡 Tại sao:
- [29] PII (Personal Identifiable Info) không log clear text? 🟡 Important
- 💡 Tại sao: log file capture email/phone/credit card clear text = leak risk khi server compromise. Cần hash hoặc mask.
- ✅ Cách check: Audit log format, PII field phải
maskhoặchash. Compliance team review log retention policy.
- [30] Public bucket (S3/GCS) bucket policy private? 🟢 Recommended
- 💡 Tại sao: AWS S3 bucket public = anyone download file. Common cause data leak (Capital One 2019, Verizon 2017).
- ✅ Cách check: AWS Console > S3 > bucket > Permissions tab → Block Public Access ON. Object level ACL không public-read.
Application + Server Security: 6 check app/server bị bỏ quên
Bài thiên transport + compliance; nhóm này bổ sung tầng application/server security mà mọi checklist security 2026 coi là cốt lõi.
- [31] Đã scan dependency vulnerability (npm/pip-audit, Dependabot, Snyk)? 🔴 Critical
- 💡 Tại sao: Đa số tấn công đến từ thư viện lỗi thời. Mọi nguồn security 2026 đều liệt đầu tiên, nhưng phần lớn audit transport/compliance bỏ qua.
- ✅ Cách check: Chạy
npm audit/pip-audit/ Dependabot / Snyk / Trivy: 0 high/critical vuln trong production deps. Auto-update qua Dependabot/Renovate.
- [32] Có rate limiting + bot mitigation trên endpoint public/login? 🔴 Critical
- 💡 Tại sao: Chặn brute-force, credential stuffing, scraping, DoS. Endpoint public không rate limit thì dễ bị abuse.
- ✅ Cách check: Contact form, search, auth, write API đều có per-IP rate limit (vd 60 req/phút). Login/signup có bot challenge (Turnstile/hCaptcha/Cloudflare).
- [33] Cookie có đủ flag Secure + HttpOnly + SameSite? 🔴 Critical
- 💡 Tại sao: Cookie CONSENT (GDPR) khác cookie SECURITY flags. Session cookie thiếu HttpOnly thì XSS đánh cắp được session.
- ✅ Cách check: Mọi cookie có
Secure,HttpOnly,SameSite=Lax/Strict. Regenerate session ID sau login.
- [34] Đã ẩn server version/fingerprint (Server, X-Powered-By)? 🟡 Important
- 💡 Tại sao: Header
Server: Apache/2.4.54+X-Powered-By: PHP/8.1lộ stack, attacker tra vuln đã biết. - ✅ Cách check:
curl -I: Server header generic hoặc ẩn, X-Powered-By removed.
- 💡 Tại sao: Header
- [35] Auth hardening: admin MFA + password policy + lockout? 🟡 Important 👤 Manual
- 💡 Tại sao: Admin account cần MFA; password tối thiểu 12+ ký tự, block common password, hash bcrypt/Argon2; giới hạn failed login chặn brute-force.
- ✅ Cách check: Admin bắt buộc MFA, password policy enforce, failed login lockout.
- [36] Có chống injection cơ bản (parameterized query, escape output, CSRF token)? 🟡 Important 👤 Manual
- 💡 Tại sao: OWASP Top 10 cốt lõi. Dù scope bài hẹp vẫn nên cover tầng cơ bản.
- ✅ Cách check: Parameterized query (chống SQLi), escape output (chống XSS), CSRF token + SameSite cho form write.
3 cách thực hiện audit 36 check theo budget
Có 3 cách audit 36 check Security + GDPR + PDPD, đánh đổi khác nhau giữa thời gian, chi phí, độ chính xác. Xem công cụ audit website theo từng yếu tố để chọn đúng tool cho mỗi nhóm check.

Cách 1: Manual với curl + Mozilla Observatory + Cookie Audit
Phù hợp dev tự audit 1 site, sinh viên/người mới bắt đầu (budget = 0), hoặc learn fundamentals security headers. curl + Mozilla Observatory + SSL Labs + Securityheaders.com + CSP Evaluator đều free, đủ cho 70% coverage technical layer. Lưu ý: GDPR + PDPD policy review subjective + cần legal expertise, phần legal cần lawyer sign-off riêng (không tự audit được). Thời gian 3-5 giờ đầy đủ.
Stack tool:
curl -sI yoursite.comaudit response headers (HTTPS, HSTS, CSP, X-Frame, Referrer)- Mozilla Observatory automated score A-F + breakdown 8 test
- SSL Labs TLS rating A+ target
- SecurityHeaders.com summary score
- CSP Evaluator CSP audit detailed
- Manual cookie banner audit + privacy policy review
Hạn chế: manual review GDPR + PDPD compliance subjective + legal expertise required, audit 5+ site tốn time linear.
Cách 2: Paid audit tool subscription + lawyer review
Phù hợp company có compliance risk EU/VN (e-commerce, SaaS, fintech). Tool ($79-499/tháng) + lawyer review ($1-3K mỗi review) là combination chuẩn.
Mạnh: dashboard tổng hợp lab score + manual policy review từ certified legal counsel, GDPR + PDPD certification cho client.
Hạn chế: cost tổng hợp $50-150K/năm cho enterprise, lawyer review cycle 2-4 tuần, không có actionable header config snippet.
VN context outsource compliance: hire lawyer chuyên data protection VN trung bình $800-2,000 USD mỗi privacy policy review (theo Nghị định 13 + GDPR cross-jurisdiction), $200-400 USD mỗi PDPD register A05 submission (form prep + follow-up).
Agency security audit VN $1,200-4,000 USD mỗi project kèm penetration test light + compliance documentation. Combination kit + lawyer review final sign-off cost-efficient nhất cho SME VN.
Cách 3: Kit Claude Code claude-growth (6 skill chuyên dụng + 1 orchestrator)
Kit ship 6 skill chuyên audit Security + Compliance + 1 orchestrator full 36 check.
Cách get kit: Kit hiện ở giai đoạn private v0.11+, public v1.0.0 launch Q3 2026. Mình đang battle-test trên 6 site (ongboit + 5 client) trước public release. Xem chi tiết + đăng ký sớm ở bài giới thiệu kit claude-growth để get early access beta build + lifetime 30% off launch price. Manual free path ở Cách 1 đủ cho technical layer (HTTPS + headers + cookie); GDPR/PDPD legal review vẫn cần lawyer sign-off riêng dù dùng cách nào.
| Skill kit | Cover check số | Use case |
|---|---|---|
/geo-compliance |
#15-20 GDPR + #21-26 PDPD VN | Compliance audit primary skill |
/seo-technical |
#1-6 HTTPS + HSTS | SSL + redirect audit |
/geo-technical |
#7-14 Security headers CSP L3 | Header config + CSP evaluator |
/seo-google |
#1 HTTPS verified + GSC security issue | API integration GSC security |
/seo-page |
#1-30 per-page security | Single URL deep-dive |
/geo-citability |
#17 privacy policy quality + #22 notice format | Policy content audit |
3 cách dùng kit:
- Cách 1 – Skill riêng lẻ debug: chạy 1 skill khi nghi vấn 1 tầng (e.g., CSP fail →
/geo-technicaldeep-dive). Output 1 markdown report + header config snippet sẵn paste. - Cách 2 – Orchestrator full audit: chạy
/seo-pipeline yoursite.com --securityfull 36 check, 20-40 phút output HTML/MD deliverable kèm config snippet (.htaccess, nginx.conf, Cloudflare Page Rules) + GDPR/PDPD draft policy template. - Cách 3 – Multi-client agency mode: per-agency license cover 25 client site, white-label compliance report rebrand theo agency, n8n webhook integration cho monthly re-audit + GDPR breach alert, multi-jurisdiction support (EU + VN + US). Tier này release Q3 2026 cùng v1.0.0 launch.
Sample output illustrative (anonymized):
Security + Compliance Audit Report: ongboit.com (Sample)
==========================================================
Mozilla Observatory: B+ (75/100)
SSL Labs: A+
GDPR: COMPLIANT (cookie banner OK)
PDPD: PARTIAL (chưa register A05, Critical)
Critical findings: 2
→ [4] HSTS chưa preload Chrome list (action: submit hstspreload.org)
→ [21] PDPD chưa register notification A05
Important findings: 3
→ [10] Permissions-Policy chưa configure
→ [14] CDN jQuery thiếu SRI hash
→ [17] Privacy policy thiếu 3 mục GDPR Art. 13
Config snippet auto-generated: 4 file (.htaccess, nginx.conf)
Onboarding kit ~60 phút cho buyer. Số liệu illustrative anonymized.
Muốn chạy 36 check Security bằng 1 lệnh thay vì audit tay?
Kit claude-growth gom toàn bộ skill vào pipeline 1 lệnh trên Claude Code, từ URL tới report + header config snippet + PDPD VN checklist. Đã test trên 6 site.
So sánh 3 cách: time vs coverage vs actionable
| Tiêu chí | Manual | Paid Tool + Lawyer | Kit claude-growth |
|---|---|---|---|
| Thời gian 1 site (36 check) | 3-5 giờ | 2-4 tuần (lawyer review) | 20-40 phút |
| Coverage | 70% (manual policy gap) | 95% (legal + tech) | 85% (tech + heuristic GDPR/PDPD) |
| PDPD VN coverage | Manual research Nghị định 13 | Lawyer VN specialist needed | Built-in PDPD checklist |
| Header config snippet | ❌ tự viết | ❌ flag only | ✓ auto-generated |
| Legal certification | ❌ | ✓ lawyer signed | ❌ (cần lawyer sign-off final) |
🔧 Setup nhanh: API key + CLI tool cần chuẩn bị (nếu chạy tay từng skill)
Bảng dưới list rõ skill nào cần API key / browser / CLI tool. Nếu mua kit claude-growth, các setup này đã preconfig sẵn (chỉ cần paste credential vào .env). Nếu tự chạy tay, làm theo từng row.
| Skill / tool | Yêu cầu API / cài đặt | Chi phí | Chi tiết |
|---|---|---|---|
| Mozilla Observatory | Public API | 0 đ | Endpoint observatory.mozilla.org/api/v2/, no key, rate limit 30/min |
| Security Headers | Public API | 0 đ | Endpoint securityheaders.com/?q=URL&hide=on, scrape kết quả |
| SSL Labs | Public API | 0 đ | Endpoint api.ssllabs.com/api/v3/, no key, 25 assess/24h |
| seo-technical | Không cần key | 0 đ | HTTPS check + cookie parse |
| Manual PDPD review | Privacy policy text | 0 đ | Đọc + check 8 yêu cầu PDPD Vietnam (NĐ 13/2023) |
Gợi ý: setup 1 lần đầu mất 30-90 phút. Sau đó re-run rất nhanh. Nếu chỉ muốn audit 1 lần, mua kit + dùng setup sẵn nhanh hơn là tự setup từ đầu.
Skill coverage: bao nhiêu % 36 check tự động được?
Nếu chạy hết các skill mentions trong Cách 3 (kit claude-growth), coverage ~85% của 36 check Security + PDPD, cụ thể 31/36 check auto qua skill, 5/36 cần human judgment. Honest breakdown:
Skill chủ lực (5 skill cover 31 check tự động):
5 check cần human (không skill nào tự động được):
| Check | Lý do cần manual | Workaround |
|---|---|---|
| #23-26 | Privacy policy text | Cần legal review GDPR/PDPD language |
| #27-28 | DSR workflow setup | Internal process design |
| #33 | Cookie consent UX flow | Banner vs modal vs in-form, UX choice |
| #35 | Auth policy MFA mandatory vs optional | Business decision |
| #36 | Injection audit custom code | Human code review |
Verdict: kit cover 85% tự động + 5 check còn lại là strategic decision (business policy, UX choice, legal review), không có tool nào thay thế được human judgment ở những điểm này. Đây là design choice của kit: automate cái automatable, surface cái cần human để bạn quyết.
Quick win top 5 ship trong 1 buổi
5 quick win ROI cao nhất ship 1 buổi (4-6 giờ):

- Add HSTS preload header (15 phút): Apache
.htaccesshoặc Nginx config 1 dòngStrict-Transport-Security "max-age=31536000; includeSubDomains; preload". Submit hstspreload.org. Impact security score B → A. - Enable CSP báo cáo only mode (1 giờ): start với
Content-Security-Policy-Report-Onlykhông break site, gather report 1-2 tuần, identify violator → graduate enforce mode. Impact XSS protection. - Fix cookie banner Reject All same prominence (30 phút UI): nếu hiện tại “Reject” ẩn trong “Settings”, move ra cùng level “Accept All”. Impact GDPR EDPB 2024 guideline compliance.
- Submit PDPD notification A05 (1 giờ legal team): online form Cổng dịch vụ công Bộ Công an. Required mọi tổ chức processing data VN citizen.
- Audit
.env/.git//admin/public exposure (30 phút):curl -I yoursite.com/.env|.git|/admin/→ 200 = leak fix ngay. Add robots.txt + server-side block.
Bookmark bài này + tick checklist khi audit site. 342 check tổng hợp 9 yếu tố đã có ở bài tổng hợp chính Audit Website 2026 (interactive tick online hoặc PDF 85 trang, free CC BY 4.0).
📊 Demo: chạy 3 skill thực tế trên ongboit.com (output sample)
Để bạn hình dung output thực tế khi chạy từng skill cho claude-code-audit-security-pdpd, đây là 3 sample run trên ongboit.com (data anonymized + truncated, full output 5-20KB mỗi skill):
▶ securityheaders.com ongboit.com → real headers grade (B+)
{
"url": "ongboit.com",
"grade": "B+",
"score_100": 78,
"headers_present": {
"strict_transport_security": true,
"content_security_policy": false,
"x_frame_options": true,
"x_content_type_options": true,
"referrer_policy": true,
"permissions_policy": false
},
"missing_critical": ["Content-Security-Policy", "Permissions-Policy"],
"recommendation": "Add CSP header với report-only mode trước. Add Permissions-Policy để control geolocation + camera + microphone API.",
"severity": "MEDIUM",
"autofix_artifact": "security-headers-nginx.conf"
}
Action: Kit gen Nginx config snippet kèm CSP report-only mode (safe deploy). Cover check #1-10 transport security.
▶ Mozilla Observatory ongboit.com → full security scan
{
"url": "ongboit.com",
"grade": "B",
"score_100": 75,
"tests_passed": 9,
"tests_failed": 3,
"failures": [
{"test": "content-security-policy", "score_modifier": -25, "result": "Not implemented"},
{"test": "subresource-integrity", "score_modifier": -5, "result": "Mixed - external resources without SRI"},
{"test": "cookies", "score_modifier": -10, "result": "Some cookies missing Secure or HttpOnly flag"}
],
"passing_tests": ["TLS Configuration", "HSTS", "Redirection", "Referrer-Policy", "X-Content-Type-Options", "X-Frame-Options"],
"severity": "MEDIUM"
}
Action: Kit autofix gen CSP report-only template + cookie flag patch snippet. Cover check #11-22 GDPR/PDPD compliance.
▶ SSL Labs ongboit.com → TLS grade A
{
"host": "ongboit.com",
"grade": "A",
"ssl_score": 95,
"cert_subject": "ongboit.com",
"cert_expiry_days": 67,
"tls_versions_supported": ["TLS 1.2", "TLS 1.3"],
"tls_legacy_disabled": ["TLS 1.0", "TLS 1.1", "SSL 3"],
"cipher_strength": "256-bit AEAD modern",
"hsts_max_age_sec": 31536000,
"hsts_includesubdomains": true,
"hsts_preload": false,
"recommendation": "Strong TLS setup. Submit to HSTS preload list để max protection (saves ~7-30 days delay attack).",
"composite_score": 95,
"severity": "LOW"
}
Action: Cloudflare đã handle TLS rất tốt. Add HSTS preload submission để bonus +5 GEO trust signal. Cover check #4-8.
Pattern output tương tự cho mọi skill khác trong kit. Heavy orchestrator (/seo-pipeline) consolidate output 14 skill thành 1 HTML report 32 trang + autofix bundle 23 file.
Câu hỏi thường gặp
1. Bài cover scope nào, không cover scope nào?
Cover: 36 check Security + GDPR + PDPD chia 5 nhóm. Không cover: penetration testing (OWASP Top 10 deep-dive, SQL injection live test), application security code review (cần SAST/DAST tool), infrastructure security (cloud config, IAM, VPN), compliance khác (HIPAA US healthcare, PCI DSS payment, SOC 2). Bài này focus web-facing security + EU+VN compliance.
2. CSP report-only vs enforce mode?
Report-only ban đầu (Content-Security-Policy-Report-Only) gather violation report 1-4 tuần để identify legit script vs malicious. Khi confident → switch enforce (Content-Security-Policy). Đừng enforce ngay = break site.
3. PDPD vs GDPR khác nhau ở đâu?
GDPR EU: applicable EU resident data, fines 4% revenue/20M EUR, supervisor authority DPO. PDPD VN (Luật 91/2025, hiệu lực 01-01-2026): applicable VN citizen data, fines tối đa 3 tỷ VND hoặc 5% doanh thu (mua bán dữ liệu phạt 10× khoản thu bất chính) + business suspension, supervisor A05 Bộ Công an. PDPD bắt buộc register notification, GDPR không. Privacy policy PDPD phải tiếng Việt. Site phục vụ cả EU + VN audience cần 2 privacy notice separate.
4. Re-audit cadence bao lâu nên chạy?
- Site nhỏ: quarterly full + monthly Mozilla Observatory score check.
- Site medium (form + payment + dashboard): monthly full + weekly Securityheaders.com smoke test.
- Enterprise (e-commerce, SaaS, fintech): weekly full + RUM security error tracking realtime.
- Mỗi deploy major config change: ad-hoc audit security headers.
5. GDPR fines thực tế cao bao nhiêu?
Mức cao nhất 2025: Meta 1.2 tỷ EUR (cross-border data transfer), Amazon 746M EUR (cookie consent). Tier nhỏ tier 1 (technical breach): 10-50K EUR. Tier nghiêm trọng tier 4 (mass data leak): 10-50M EUR. Track public: GDPR Enforcement Tracker.
6. Kit claude-growth áp dụng cho yếu tố nào khác?
Kit cover 9 yếu tố Audit Website 2026: Technical SEO, Core Web Vitals, Accessibility, Security + PDPD (bài này), GEO + AI Search, Backlinks, Brand Authority, Content Audit. Xem bài tổng hợp chính Audit Website 2026 cho overview + decision tree audit theo audience.
Kết luận: 3 take-away ngay hôm nay
GDPR enforcement không còn là rủi ro lý thuyết: Meta nhận 1.2 tỷ EUR (2023, Ireland DPC), Amazon 746M EUR (2021, Luxembourg CNPD). Ở VN, Luật 91/2025 hiệu lực 01-01-2026 nâng trần phạt PDPD lên 3 tỷ VND / 5% doanh thu, Nghị định 13/2023 vẫn hướng dẫn thi hành.
Site có audience EU hoặc xử lý data user VN không còn thời gian chờ. Đây là 3 hành động cụ thể cần làm ngay hôm nay:
- Tick Critical 10 trước trong 45 phút: HTTPS redirect, TLS 1.2+, HSTS 1 year + preload, no mixed content, CSP L3, X-Frame DENY, X-Content-Type nosniff, cookie opt-in, Reject All visible, PDPD A05 register. 10 check này cover ~70% risk legal + breach.
- Chọn cách audit phù hợp scale: 1 site dev tự manual với Mozilla Observatory + curl; e-commerce/SaaS thì paid tool + lawyer review combination; multi-site agency hoặc cần actionable header snippet thì kit
claude-growthsave thời gian + PDPD VN built-in. - Setup re-audit cadence: site nhỏ quarterly, site medium monthly + weekly smoke test, enterprise weekly + RUM realtime. Security regression mỗi deploy không tự catch được.
Bài này là phần Security + Compliance (yếu tố 4) trong series Audit Website 2026. Đọc tiếp Audit Analytics + Conversion 2026 (Consent Mode v2 + tracking), hoặc xem bài tổng hợp chính Audit Website 2026 với master checklist (interactive + PDF).
