Dự án · Chặn spam lead vào CRM · Vòng 1

4 quyết định trước khi dựng hàng rào chặn bot

Đội đã chẩn đoán xong bằng số liệu thật (SQL + soi code, PM đối chứng độc lập từng claim). Dưới đây là 4 quyết định cần anh chốt trước khi đội bắt tay sửa. Anh đọc, tick từng phần, bấm Xuất quyết định rồi dán lại chat cho PM.

📨 Gửi anh: 19/7/2026 · 13:50 UTC (14:50 giờ London) — bởi claude-crm-lead-guard (executor). PM claude-crm-guard-pm + reviewer Hermes sẽ soi plan và nêu chính kiến trước khi anh chốt cuối.

✅ Vòng 1 đã chốt — 19/07/2026.
Q1 A — Gắn nhãn cách-ly (không đổi cấu trúc DB) · Q2 A — Bẫy vô hình (CAPTCHA để dự phòng) · Q3 A — Siết khoá nội bộ theo lộ trình 3 bước · Q4 A — Cách ly toàn bộ, sau 30 ngày (hẹn 18/08) trình danh sách xoá hẳn.
Đội đang thi hành theo 4 quyết định này. Các lựa chọn bên dưới giữ lại để tham chiếu.
✔ Đã đo được

40 hồ sơ vào từ form DNA1, trong đó ~30 nghi bot (tên vô nghĩa, email lạ). Hồ sơ bot mới nhất vào sáng nay 19/7 — vẫn đang chảy. Tin tốt: 0 hồ sơ rác lọt vào chuỗi gửi email — chưa tốn phí, chưa hại uy tín domain.

◆ Đường vào

100% bot đi qua chính form trên trang (bot chạy trình duyệt thật, điền đủ mọi ô) — không phải đường tắt kỹ thuật. Vì vậy hàng rào chính đặt tại form, các lớp sau là lưới đỡ.

⚠ Nguyên tắc

Thà lọt 1 bot còn hơn chặn nhầm 1 người thật. Mọi ca nghi ngờ đi vào "khu cách ly" để soát lại — không xoá thẳng, không âm thầm vứt.

🧭 Nói thật về giới hạn (reviewer đối kháng yêu cầu ghi rõ): bộ rào đợt này chặn được pattern bot hiện tại (điền mọi ô, nộp nhanh, tên vô nghĩa) và bảo đảm rác không bao giờ được gửi email. Nó KHÔNG chặn được bot cao cấp giả người thật (điền chậm, né bẫy, dùng tên Việt có dấu) — nếu đối thủ nâng cấp tới mức đó, đội sẽ trình anh vòng nâng cấp sau (CAPTCHA/kiểm duyệt). Không hứa "hết spam tuyệt đối".
Q1 · NỀN TẢNG — cách đánh dấu hồ sơ nghi bot

Gắn nhãn cách-ly, hay thêm trạng thái riêng trong DB?

Vì sao quan trọng: đây là "khu cách ly" mà mọi lớp chặn phía sau đổ về. Chọn cách nhẹ → ship tuần này; chọn cách nặng → sạch hơn về lâu dài nhưng đụng cấu trúc DB đang chạy tiền thật.

📌 Cả 2 phương án đều bảo đảm: hồ sơ cách-ly không bao giờ vào chuỗi gửi email, và CRM view mặc định không hiện chúng.
Q2 · Hàng rào tại form

Bẫy vô hình trước, hay CAPTCHA ngay?

Bối cảnh: bot hiện tại chạy trình duyệt thật và điền mọi ô — kể cả ô không bắt buộc. Đó chính là điểm yếu của nó để mình gài bẫy.

Q3 · Khoá nội bộ giữa các trang và hệ CRM

Siết lớp khoá nội bộ theo lộ trình, hay để đợt sau?

Bối cảnh: nhiều trang của hệ cùng gửi hồ sơ về CRM. Đội đã rà xong toàn bộ danh sách trang đang nối (11 trang, có bảng chi tiết nội bộ). Siết khoá = mọi nguồn gửi phải có "chìa" hợp lệ — chặn triệt đường tắt trong tương lai.

📌 Nếu chọn A mà việc phối hợp các đội kéo dài: đội có thể bật khoá từng nguồn đã sẵn sàng trước — nhưng đó chỉ là bước đệm giảm bề mặt tạm thời (bot có thể giả nguồn), KHÔNG phải chốt chặn. Đích cuối vẫn là khoá toàn cục sau khi mọi trang gắn chìa xong.
Q4 · Dọn ~30 hồ sơ nghi bot ĐANG nằm trong CRM

Cách ly rồi xoá sau, xoá ngay, hay để nguyên?

Lưu ý: danh sách chi tiết từng hồ sơ (tên/email/ngày vào/lý do nghi) sẽ trình anh riêng qua kênh nội bộ — không đăng lên trang này. Trong 30 hồ sơ có 4 ca biên cần anh liếc tay. Mọi thao tác chỉ chạy sau khi anh GO.
⚠️ Phát hiện quan trọng: nhiều hồ sơ rác dùng email của người thật vô can bị bot mượn (kể cả email tổ chức nước ngoài). Lỡ "gửi thử" email cho danh sách này = mình spam người vô can + đốt uy tín domain gửi — vì vậy phương án nào cũng giữ cứng nguyên tắc: hồ sơ nghi bot không bao giờ được gửi email.
Về sau, hồ sơ nghi bot mới sẽ dồn vào khu cách ly (không gửi mail, ẩn khỏi danh sách). Nhịp hiện tại ~10 hồ sơ rác/tuần nên chi phí lưu không đáng kể; đội đặt chuông báo nếu con số tăng vọt (gấp ~10 lần) để trình anh xử lý sớm — không tự xoá, dọn vẫn chờ anh duyệt.

0/4 quyết định đã chọn
Quyết định của anh — copy dán lại chat cho PM