html2wp / Dữ liệu

html2wp làm gì với dữ liệu của bạn

Mô tả rõ ràng về những gì rời khỏi máy của bạn, vì sao, và chúng tôi giữ bao lâu. README chỉ nhắc qua những điều này. Đây là phiên bản bạn có thể đưa cho khách hàng đọc.

BELNEM s.r.o., Beckovská 5, Bratislava, IČO 53713486. hello@html2wp.dev

Cập nhật lần cuối: 5 tháng 10 năm 2026.

Bản thân việc chuyển đổi

Để chuyển đổi một site, dịch vụ phải nhận được site đó. Khi bạn chạy giai đoạn 3, skill tải một file nén lên api.html2wp.dev:

  • conversion-manifest.json, các quyết định bạn đã đưa ra về site
  • astro-report.json, danh mục các phần dùng chung giữa các trang (chrome) từ giai đoạn 1
  • astro-project/, bao gồm dist/, tức site đã build
  • chrome-at-rest/, chrome-groups.json và style-specimens/ khi chúng tồn tại

Đó là website của khách hàng bạn: mã HTML, style, script và hình ảnh. Không có cách nào chuyển đổi một site mà không gửi nó đi, và mọi cách diễn đạt ngụ ý điều ngược lại đều sai. SKILL.md liệt kê chính xác các file trong mục What goes up. Nếu bạn muốn tự kiểm tra thay vì tin lời chúng tôi, convert-remote.sh là một shell script dễ đọc.

Những gì không có trong file nén đó

Thư mục đầu vào của bạn không có trong đó, vì chỉ kết quả đã build được gửi đi. node_modules cũng không. Mọi thứ có dạng thông tin đăng nhập cũng không: .env và .env.*, *.pem, *.key, id_rsa, credentials.json, .npmrc, .netrc, .ssh/, .aws/, cùng mọi file có nội dung chứa khối private key hoặc một phép gán bí mật rõ ràng. Bộ lọc liệt kê theo tên mọi thứ nó loại bỏ trong astro-report.json, để bạn thấy những gì không được gửi đi.

AI từ tài khoản ChatGPT của chính bạn điều khiển công việc trên máy tính của bạn (đo, so sánh với bản gốc và sửa lỗi). OpenAI xử lý những gì AI làm theo điều khoản tài khoản của bạn, giống như khi bạn dùng ChatGPT theo bất kỳ cách nào khác.

Chúng tôi giữ bao lâu: chúng tôi xóa thư mục làm việc 48 giờ sau lần thay đổi cuối cùng. Thứ còn lại là một digest (mã hash). Nhờ nó mà lần chạy lại cùng một site được tính là chạy lại chứ không phải lần chuyển đổi thứ hai.

Kết quả các bước kiểm tra

Sau khi bạn kiểm tra một lần chuyển đổi trên máy, skill báo cáo kết quả. Việc này là bắt buộc: lần chuyển đổi tiếp theo bị từ chối cho đến khi lần trước đã báo cáo. Báo cáo cũng nhỏ, và là danh sách cho phép (whitelist) chứ không phải bộ lọc.

  • Được gửi: tên các bước kiểm tra, kết quả (đạt, không đạt hoặc không chạy), số trang, tỷ lệ phần trăm sai lệch lớn nhất, và các khóa trang không đạt. Khóa là tên ngắn do bạn chọn, như about hoặc pricing.
  • Không được gửi: không URL, không tên miền, không mã HTML, không nội dung chữ, không ảnh chụp màn hình, không đường dẫn file, không khóa giấy phép, không tên site.

Lệnh send-verdicts.sh <workspace> --dry-run in ra chính xác nội dung sẽ gửi và không gửi gì.

Vì sao bắt buộc: các bước kiểm tra chạy trên máy của bạn, trên một WordPress mà dịch vụ không bao giờ thấy. Không có chúng, dịch vụ chỉ biết lần chuyển đổi không bị treo, nhưng hoàn toàn không biết nó có đúng hay không. Chúng tôi giữ kết quả trong 365 ngày.

Bản ghi chuyển đổi

Mỗi lần chuyển đổi một dòng: bao nhiêu trang, bao nhiêu biến thể chrome, có blog hay cửa hàng không, có phải chạy lại không, giai đoạn nào từ chối nếu có, và các cảnh báo của bộ sinh về chính nó. Các cảnh báo được che bớt: tên file trang và URL được thay thế trước khi dòng được ghi. Chúng tôi giữ bản ghi trong 365 ngày. Nó không chứa nội dung, địa chỉ hay mã định danh nào của site.

Báo cáo lỗi

Nếu bạn gửi báo cáo bằng POST /v1/report, chúng tôi lưu văn bản đúng như bạn viết và gửi nó qua Resend tới một người sẽ đọc. Chúng tôi giữ báo cáo 90 ngày. Đừng dán vào đó thứ gì bạn không muốn bị giữ lâu như vậy.

Nhận diện bạn

  • Khi không có khóa: các lần chuyển đổi được đếm theo địa chỉ IP mà Cloudflare thấy. Chúng tôi lưu nó dưới dạng mã hash rút gọn, không bao giờ lưu chính địa chỉ đó.
  • Quốc gia của mã hash đó, dạng hai chữ cái, lấy từ header mà Cloudflare thêm vào. Nó nằm cạnh bộ đếm nói trên và không ở đâu khác. Cụ thể, nó không có trong bản ghi chuyển đổi, nơi không chứa gì xác định vị trí của bạn. Quốc gia cho chúng tôi biết html2wp được dùng ở những nước nào, nhưng không cho biết lần chuyển đổi nào là của bạn. Không xác định và Tor được ghi là XX và T1, và chúng tôi giữ nguyên như vậy thay vì đoán.
  • Khi có giấy phép: theo khóa giấy phép, cũng được lưu dưới dạng mã hash. Chúng tôi xác thực khóa với UpdatePulse (updates.designready.studio), nơi nhìn thấy khóa.
  • Khi kiểm tra khóa hoặc tải Visual Edit Pro: trang tải về và công cụ kiểm tra npx html2wp-license gửi khóa bạn nhập, và không gì khác, tới cùng máy chủ giấy phép đó để đọc trạng thái. Câu trả lời không chứa thông tin cá nhân, và cả trang lẫn công cụ kiểm tra đều không lưu khóa.

Mua giấy phép

Chúng tôi bán các gói qua Paddle. Paddle.com Market Limited là Merchant of Record, tức bên bán trong giao dịch. Với khoản thanh toán, Paddle là bên kiểm soát dữ liệu độc lập, không phải bên xử lý thay mặt chúng tôi. Khi thanh toán, Paddle thu thập tên, địa chỉ email, quốc gia và mã bưu chính, thông tin thanh toán và, nếu bạn cung cấp, mã số thuế VAT. Paddle xử lý chúng theo thông báo quyền riêng tư của riêng mình.

  • Những gì Paddle chuyển cho chúng tôi: địa chỉ email, tên và quốc gia của bạn, mã giao dịch và mã gói đăng ký, và sản phẩm bạn đã mua. Đó là những gì cần để cấp khóa cho đúng người và tìm lại đơn hàng khi bạn viết cho chúng tôi.
  • Những gì chúng tôi lưu: trong UpdatePulse, máy chủ giấy phép của chúng tôi tại updates.designready.studio: khóa giấy phép, địa chỉ email và tên của bạn, mã giao dịch, ngày mua và ngày hết hạn, và trạng thái giấy phép.
  • Email chứa khóa được gửi qua Resend, bên chỉ chuyển phát và không làm gì khác với nó.
  • Thông tin công ty cho hóa đơn (tên doanh nghiệp hoặc tên thương mại, địa chỉ, có thể kèm mã số thuế VAT và email) đi thẳng từ trình duyệt của bạn tới trang thanh toán của Paddle nếu bạn chọn For a business or freelancer trước khi trả tiền. Sau đó Paddle in chúng lên hóa đơn. Site này không gửi chúng tới máy chủ của chúng tôi và không lưu chúng.
  • Dữ liệu thẻ không bao giờ đến tay chúng tôi. Nó đi từ trình duyệt của bạn tới Paddle, và chúng tôi không thể thấy nó dù có muốn.
  • Script của Paddle, Paddle.js, chỉ tải trên trang bảng giá, từ cdn.paddle.com, vì trang thanh toán mở ở đó. Không trang nào khác trên site này tải nó.

Thời hạn lưu giữ: trong suốt thời hạn của giấy phép, và sau đó trong thời gian luật kế toán yêu cầu chúng tôi giữ hồ sơ mua hàng.

Quản lý gói đăng ký

Bạn quản lý gói đăng ký trong cổng khách hàng của Paddle, trên site của chính Paddle. Việc hủy gói, đổi thẻ và tải hóa đơn là giữa bạn và Paddle, chúng tôi chỉ thấy kết quả. Để chuyển Pro từ theo tháng sang theo năm, trang quản lý gói đăng ký gửi địa chỉ email bạn nhập tới Paddle để tìm gói đăng ký của bạn. Nếu có, link được gửi qua email bằng Resend tới địa chỉ mà Paddle đang giữ. Chúng tôi không lưu địa chỉ bạn đã gõ.

Form liên hệ

Form bạn dùng để viết cho chúng tôi là chỗ còn lại trên site này nơi bạn nhập thông tin về bản thân. Trong đó có ô địa chỉ email (bắt buộc), website hoặc tổ chức (không bắt buộc), và nội dung tin nhắn. Ngoài ra còn một trường ẩn tên company mà người dùng không bao giờ thấy. Nó tồn tại để các bot điền mọi trường tự để lộ mình.

Trước khi tin nhắn được gửi, Cloudflare Turnstile kiểm tra rằng người gửi là một người, không phải một script. Nó chỉ chạy trên các trang có form dùng nó: trang liên hệ và trang gói đăng ký. Nó tải từ challenges.cloudflare.com. Để quyết định, Cloudflare xem địa chỉ IP, User-Agent của trình duyệt và dấu vân tay TLS của bạn. Cloudflare cho biết những thông tin này là thật sự cần thiết để phân biệt người với bot. Nó không đọc những gì bạn gõ vào form. Chúng tôi chỉ nhận kết quả đạt hoặc không đạt, không gì khác. Phụ lục quyền riêng tư của Turnstile từ Cloudflare có chi tiết.

Tin nhắn của bạn đến tay một người qua email, bằng Resend. Nó không đi vào CRM hay danh sách email nào. Chúng tôi giữ nó chừng nào cuộc trao đổi còn cần, và xóa trong vòng 24 tháng. Bạn yêu cầu sớm hơn thì chúng tôi xóa sớm hơn.

Dữ liệu người dùng Google

html2wp dùng một API của Google, Google Ads API, và chỉ cho việc nghiên cứu từ khóa của chính chúng tôi: mọi người dùng cụm từ tìm kiếm nào, thường xuyên ra sao, và mức cạnh tranh thế nào. Đây là công cụ nội bộ. Không ai ngoài đội ngũ của chúng tôi đăng nhập bằng Google ở bất kỳ đâu trên html2wp, và công cụ chuyển đổi không bao giờ yêu cầu bạn làm vậy.

  • Những gì chúng tôi yêu cầu: phạm vi https://www.googleapis.com/auth/adwords, do một thành viên trong đội ngũ cấp cho các tài khoản Google Ads mà chúng tôi sở hữu. Nó được dùng để đọc dữ liệu Keyword Planner: ý tưởng từ khóa, lượng tìm kiếm trong quá khứ, mức cạnh tranh và khoảng giá thầu.
  • Những gì chúng tôi không đụng tới: chiến dịch, quảng cáo, đối tượng, thanh toán, hay bất kỳ tài khoản Google nào ngoài tài khoản của chúng tôi. Không có gì được ghi ngược lại vào Google Ads.
  • Nơi lưu giữ: token đăng nhập nằm trong keychain của hệ điều hành trên máy tính đã cấp quyền. Kết quả từ khóa đi vào kế hoạch nội dung của chính chúng tôi, dưới dạng con số về cụm từ tìm kiếm, không phải về con người.
  • Ai khác thấy nó: không ai. Chúng tôi không bán, không chia sẻ, không dùng nó cho quảng cáo hay để huấn luyện mô hình AI.
  • Gỡ bỏ: bạn thu hồi quyền truy cập tại myaccount.google.com/permissions. Chúng tôi xóa mọi thứ có nguồn gốc từ đó khi nhận được yêu cầu gửi tới hello@html2wp.dev.

Việc html2wp sử dụng và chuyển sang bất kỳ ứng dụng nào khác thông tin nhận được từ các API của Google sẽ tuân thủ Chính sách dữ liệu người dùng của dịch vụ API Google, bao gồm các yêu cầu Limited Use (sử dụng hạn chế).

Những bên khác liên quan

  • Cloudflare (Hoa Kỳ) lưu trữ website này và chạy các hàm phía máy chủ nhỏ của nó (form liên hệ, tải Visual Edit Pro và webhook thanh toán). Cloudflare cũng đứng trước API chuyển đổi. Nó kết thúc TLS, nên thấy từng yêu cầu và địa chỉ gửi đến. Trên trang liên hệ và trang gói đăng ký, nó cũng chạy Turnstile, bước kiểm tra bot mô tả ở trên. Với bước kiểm tra đó, Cloudflare là bên xử lý của chúng tôi. Nó chỉ là bên kiểm soát khi dùng chính các tín hiệu đó để cải thiện việc phát hiện bot.
  • UpdatePulse trên máy chủ riêng của chúng tôi, để xác thực giấy phép. Vì giấy phép được bán, nó cũng giữ địa chỉ email và tên của khách hàng cạnh khóa.
  • Paddle (Paddle.com Market Limited, Vương quốc Anh) là Merchant of Record cho mọi giao dịch mua, và là bên kiểm soát độc lập với dữ liệu thanh toán mà nó thu thập.
  • Resend (Hoa Kỳ) gửi bốn loại email: khóa giấy phép sau khi mua, link quản lý gói đăng ký, tin nhắn gửi qua form liên hệ, và báo cáo lỗi của công cụ chuyển đổi.
  • Coolify trên máy chủ riêng của chúng tôi, để chạy dịch vụ chuyển đổi và máy chủ giấy phép.
  • agentmods.dev cung cấp huy hiệu nhỏ đo lường plugin ở chân mọi trang. Việc tải ảnh đó gửi cho họ địa chỉ IP và thông tin trình duyệt của bạn, như mọi ảnh từ site khác. Không có gì khác được chia sẻ với họ.
  • Umami, công cụ phân tích mã nguồn mở, chạy tại umami.agentmods.dev và chỉ được dùng trên website này. Nó đếm lượt xem trang và một vài cú bấm: nút nào được bấm, không phải ai bấm. Không cookie, không mã định danh xuyên site, không lưu gì trên thiết bị của bạn. Vì vậy site này không có banner cookie nào để bạn bấm qua.

Không quảng cáo, không theo dõi xuyên site, không bán dữ liệu

Công cụ phân tích duy nhất là công cụ không dùng cookie nêu trên, và nó chạy trên website này. Theme bạn nhận không bao giờ gọi về máy chủ của chúng tôi. Khẳng định đó nói về site bàn giao, và nó chính xác. Không có gì được bán, và không có gì được chia sẻ với bên quảng cáo.

Dữ liệu ra ngoài EU

Máy chủ của chúng tôi đặt tại EU. Cloudflare và Resend là công ty Hoa Kỳ. Lưu lượng tới website này và tới API đi qua hạ tầng của Cloudflare, bước kiểm tra Turnstile trên các form cũng vậy. Email chứa khóa, link quản lý gói đăng ký, tin nhắn từ form liên hệ và báo cáo lỗi đi qua hạ tầng của Resend. Cả hai đều có thể kéo theo việc chuyển dữ liệu ra ngoài EU. Các lần chuyển đó dựa trên Điều khoản hợp đồng tiêu chuẩn (Standard Contractual Clauses) của Ủy ban châu Âu. Paddle ở Vương quốc Anh, nơi Ủy ban châu Âu công nhận có mức bảo vệ đầy đủ, và Paddle xử lý dữ liệu thanh toán theo thông báo quyền riêng tư của riêng mình. Huy hiệu ở chân trang và script phân tích đều đến từ agentmods.dev, một site được phục vụ qua mạng lưới toàn cầu của Cloudflare. Vì vậy nơi trả lời các yêu cầu đó không nằm trong tầm kiểm soát của chúng tôi. Không có gì khác trong danh sách này rời khỏi EU.

Cơ sở pháp lý

Theo GDPR, mỗi hoạt động trên đều cần một cơ sở hợp pháp. Đây là cơ sở áp dụng cho từng hoạt động:

Dịch vụ chuyển đổi

  • Nhận và chuyển đổi site của bạn: thực hiện hợp đồng (Điều 6(1)(b) GDPR). Bạn yêu cầu chuyển đổi, và việc đó không thể diễn ra nếu không tải lên.
  • Đếm số lần chuyển đổi theo địa chỉ IP: lợi ích hợp pháp (Điều 6(1)(f) GDPR). Một bản miễn phí không đếm được sẽ bị lạm dụng cạn kiệt, và mã hash rút gọn là cách nhận diện ít nhất mà chúng tôi có thể dùng.
  • Ghi lại quốc gia của địa chỉ đó: lợi ích hợp pháp (Điều 6(1)(f) GDPR). Biết sản phẩm được dùng ở đâu quyết định nó hỗ trợ những gì. Hai chữ cái cạnh một bộ đếm vốn đã được giả danh hóa là dạng thô nhất trả lời được câu hỏi đó. Nó không thêm gì vào những gì riêng mã hash có thể nhận diện.
  • Xác thực khóa giấy phép: thực hiện hợp đồng (Điều 6(1)(b) GDPR).
  • Kết quả kiểm tra và bản ghi chuyển đổi: lợi ích hợp pháp (Điều 6(1)(f) GDPR). Biết giai đoạn nào thất bại với dạng site nào là cách duy nhất để công cụ chuyển đổi tốt lên. Trước khi ghi, chúng tôi loại bỏ mọi thứ nhận diện được site.
  • Báo cáo lỗi bạn gửi: lợi ích hợp pháp (Điều 6(1)(f) GDPR). Bạn tự quyết định có gửi hay không.

Giao dịch mua giấy phép

  • Cấp và quản lý giấy phép đã mua: thực hiện hợp đồng (Điều 6(1)(b) GDPR).
  • Lưu hồ sơ mua hàng: nghĩa vụ pháp lý (Điều 6(1)(c) GDPR). Luật kế toán quy định thời gian lưu.

Website này

  • Form liên hệ: các bước thực hiện theo yêu cầu của bạn trước khi ký hợp đồng, hoặc lợi ích hợp pháp trong việc trả lời người đã viết cho chúng tôi (Điều 6(1)(b) hoặc (f) GDPR).
  • Kiểm tra bot trên form liên hệ và form gói đăng ký: lợi ích hợp pháp (Điều 6(1)(f) GDPR). Mục đích là ngăn spam tự động khỏi một form mà con người đọc. Nó chỉ dùng các tín hiệu Cloudflare cần cho việc đó, không hơn.
  • Đếm lượt xem trang trên website này: lợi ích hợp pháp (Điều 6(1)(f) GDPR). Điều này chính đáng chính vì công cụ không lưu gì trên thiết bị của bạn và không thể theo bạn ra khỏi site này.

Quyết định tự động

Dịch vụ tự động từ chối một lần chuyển đổi khi đã hết hạn mức chuyển đổi hoặc site quá lớn. Đó chỉ là phép tính trên một bộ đếm, và không có hệ quả pháp lý với ai. Nếu bạn viết cho chúng tôi về việc này, một người sẽ trả lời. Chúng tôi không lập hồ sơ (profiling).

Quyền của bạn

Theo GDPR, bạn có thể yêu cầu chúng tôi bất kỳ điều nào sau đây, và chỉ cần một email tới hello@html2wp.dev.

  • Truy cập: bạn nhận bản sao những gì chúng tôi giữ về bạn (Điều 15).
  • Chỉnh sửa: nếu dữ liệu sai, chúng tôi sửa (Điều 16).
  • Xóa: chúng tôi xóa dữ liệu (Điều 17).
  • Hạn chế xử lý: chúng tôi giữ dữ liệu nhưng ngừng dùng trong khi có tranh chấp (Điều 18).
  • Di chuyển dữ liệu: bạn nhận những gì đã cung cấp cho chúng tôi ở dạng máy đọc được (Điều 20).
  • Phản đối: bạn có thể phản đối bất cứ việc gì chúng tôi làm dựa trên lợi ích hợp pháp, kể cả việc phân tích lượt truy cập (Điều 21). Chúng tôi dừng lại, trừ khi chứng minh được lý do có trọng lượng hơn lý do của bạn.

Chúng tôi trả lời trong vòng một tháng. Không mất phí. Chúng tôi không yêu cầu bạn chứng minh danh tính quá mức cần thiết để chắc rằng không giao dữ liệu của bạn cho người khác.

Một giới hạn: phần lớn những gì dịch vụ lưu giữ đã được hash hoặc tổng hợp và không thể truy ngược về một người, kể cả với chúng tôi. Vì vậy với những dòng đó, không có gì để giao, sửa hay xóa. Site đã tải lên tự biến mất sau 48 giờ.

Nếu chúng tôi làm sai

Bạn có thể khiếu nại với cơ quan giám sát của Slovakia: Úrad na ochranu osobných údajov Slovenskej republiky, Hraničná 12, 820 07 Bratislava, dataprotection.gov.sk. Nếu bạn sống ở một nước EU khác, bạn có thể gửi tới cơ quan của nước mình thay vào đó. Viết cho chúng tôi trước thì nhanh hơn, nhưng đó không phải điều kiện.

Báo cáo lỗ hổng gửi tới địa chỉ trên trang bảo mật, không đăng thành issue công khai.

Ai chịu trách nhiệm

Bên kiểm soát dữ liệu là BELNEM s.r.o., Beckovská 5, Bratislava, Slovakia, IČO 53713486. Email: hello@html2wp.dev. Chúng tôi không đủ lớn để bắt buộc phải chỉ định cán bộ bảo vệ dữ liệu và chưa chỉ định ai. Địa chỉ trên sẽ đến những người quyết định các vấn đề này.

Việc cung cấp dữ liệu cho chúng tôi không bao giờ là yêu cầu theo luật định. Chỉ đơn giản là một lần chuyển đổi cần site, và một giấy phép cần địa chỉ để gửi khóa.

Những gì trang này nói về việc chuyển đổi tuân theo PRIVACY.md đi kèm trong các kho mã plugin. Nếu hai bên có lúc nào mâu thuẫn về việc chuyển đổi, file trong kho mã là bản quyết định. Với website này, trang thanh toán, form liên hệ, trang tải về và trang gói đăng ký, trang này là bản quyết định.