By · Last updated 2026-06-05

Quay lại BlogGDPR & Tuân Thủ

Công Cụ PII Tự Host Thất Bại Trong Kiểm Toán Tuân Thủ

spaCy 3.4.4 cho kết quả NER khác với spaCy 3.5.1. Công ty dịch vụ tài chính phát hiện 3% tài liệu được ẩn danh hóa khác nhau trong staging vs. production — gây ra phát hiện kiểm toán.

June 5, 20266 phút đọc
compliance auditenvironment consistencyspaCy versionsself-hosted PIIreproducible anonymization

Tại Sao Công Cụ PII Tự Host Thất Bại Trong Kiểm Toán Tuân Thủ

GDPR yêu cầu bằng chứng. Bạn phải chứng minh rằng việc xóa PII được thực hiện theo cùng một cách mỗi lần. Các kiểm toán viên DPA kiểm tra điều này. Họ muốn thấy một phương pháp rõ ràng, nhất quán được sử dụng trên tất cả dữ liệu.

Presidio tự host có một vấn đề thực sự ở đây. Đây không phải là vấn đề cấu hình. Đây là giới hạn cốt lõi của các công cụ NLP tự host.

Drift Môi Trường Là Gì?

Presidio tự host chạy trong dev, staging, và production. Mỗi cái trong số này có thể hoạt động khác nhau. Vì vậy cùng một đầu vào có thể cho kết quả khác nhau trong mỗi cái.

Đây được gọi là drift môi trường. Nó có bốn nguyên nhân chính.

Drift Phiên Bản Mô Hình

Các mô hình spaCy được phiên bản. Mô hình en_core_web_lg 3.4.4en_core_web_lg 3.5.1 được huấn luyện trên dữ liệu khác nhau. Chúng cũng sử dụng thiết kế khác nhau. Vì vậy cùng một tài liệu có thể cho kết quả NER khác nhau với mỗi phiên bản.

Một thiết lập phổ biến trông như thế này:

  • Dev: en_core_web_lg 3.4.4 — được cài đặt khi bắt đầu dự án
  • Staging: en_core_web_lg 3.5.0 — được cập nhật trong công việc thông thường
  • Production: en_core_web_lg 3.5.1 — được cập nhật trong quá trình vá bảo mật

Đó là ba thiết lập. Ba phiên bản mô hình. Ba kết quả phát hiện khác nhau. Các kiểm tra vượt qua trong staging. Nhưng production chạy một mô hình khác. Vì vậy khoảng cách vẫn ẩn.

Drift Phiên Bản Phụ Thuộc

spaCy 3.4.x và 3.5.x khác nhau trong cách chia câu. Sự thay đổi đó ảnh hưởng đến cách tên được tìm thấy gần ranh giới câu. Những thay đổi này có trong ghi chú phát hành spaCy. Nhưng hầu hết các nhóm không kiểm tra chúng về tác động PII.

Drift Cấu Hình

Ngưỡng điểm được đặt trong dev có thể không được chuyển sang production. Danh sách từ tùy chỉnh cũng có thể khác giữa các thiết lập. Những khoảng trống này rất phổ biến. Chúng hiếm khi được theo dõi. Xem hướng dẫn tuân thủ GDPR của chúng tôi để biết kiểm toán viên tìm kiếm gì.

Sự Khác Biệt Phần Cứng

Toán học trong các mô hình NLP không giống hệt nhau trên tất cả CPU và GPU. Laptop tiêu dùng và server có thể cho kết quả điểm hơi khác nhau. Vì vậy một số tên có thể được tìm thấy trên một máy nhưng không trên máy khác.

Một Phát Hiện Kiểm Toán Thực Tế

Một ngân hàng kiểm tra thiết lập Presidio tự host của họ.

Thiết lập kiểm tra: Presidio với spaCy 3.4.4 trên cluster staging. Thiết lập live: Presidio với spaCy 3.5.1 trên cluster production.

Họ chạy cùng bộ tài liệu qua cả hai. Sau đó so sánh kết quả. Phát hiện: 3% tài liệu có kết quả xóa PII khác nhau. Một số tên được bắt trong staging nhưng không trong production. Một số có các khoảng văn bản được phát hiện khác nhau.

Phát hiện kiểm toán rất trực tiếp: "Công ty không thể chứng minh việc sử dụng nhất quán các biện pháp kỹ thuật xóa PII do sự khác biệt đặc thù thiết lập trong output phát hiện."

GDPR Điều 32 yêu cầu các biện pháp kỹ thuật phù hợp. Các quy tắc EDPB về xóa PII yêu cầu tính nhất quán và khả năng lặp lại. Tỷ lệ 3% trên 100.000 tài liệu mỗi tháng có nghĩa là 3.000 tài liệu có kết quả không nhất quán mỗi tháng. Một số là âm tính giả. PII mà staging sẽ bắt được vẫn còn trong output live. Đó là thất bại tuân thủ.

Ngân hàng sau đó chuyển sang SaaS được quản lý. Phát hiện kiểm toán được đóng lại. Xem trang bảo mật và tuân thủ của chúng tôi để biết cách thiết lập được quản lý xử lý điều này.

Tại Sao Dịch Vụ Được Quản Lý Khác

Một dịch vụ được quản lý chạy một phiên bản engine. Tất cả người dùng chạy cùng phiên bản cùng lúc. Cập nhật mô hình được áp dụng từ một nơi. Cấu hình cũng được quản lý từ một nơi, với log thay đổi đầy đủ. Phần cứng người dùng không ảnh hưởng đến kết quả.

Vì vậy cùng một tài liệu được xử lý hôm nay cho cùng kết quả tháng tới. Nếu phiên bản engine thay đổi, thay đổi đó được ghi lại và phiên bản hóa.

Sự khác biệt về trail kiểm toán là chìa khóa.

Trail kiểm toán tự host:

  • "Đã sử dụng Presidio 2.2.35 với spaCy en_core_web_lg 3.5.1 trên Ubuntu 22.04."
  • Đây có phải là cùng phiên bản như trong staging không? Không biết.
  • Mô hình có thay đổi kể từ khi tài liệu này được xử lý không? Không biết trừ khi được theo dõi.
  • Ngưỡng điểm có giống như trong kiểm tra không? Phụ thuộc vào quản lý cấu hình.

Trail kiểm toán dịch vụ được quản lý:

  • "Đã sử dụng API anonym.legal, engine phiên bản 4.22.1, lúc 2025-03-15T14:22:31Z."
  • Cùng phiên bản cho tất cả người dùng? Có.
  • Nó có thay đổi không? Các phiên bản engine được ghim. Phiên bản 4.22.1 luôn có nghĩa là cùng engine.
  • Cấu hình có thể lặp lại không? Có. ID preset được ghi lại. Cấu hình ở phiên bản đó có thể được truy xuất.

Trail được quản lý rõ ràng. Trail tự host cần theo dõi cẩn thận mà hầu hết các nhóm bỏ qua.

Cách Cải Thiện Tính Nhất Quán Tự Host

Nếu tự host là bắt buộc, bạn có thể giảm drift với bốn bước.

Đầu tiên, ghim phiên bản mô hình. Khóa các phiên bản mô hình chính xác trong tất cả tệp triển khai. Chặn tự động cập nhật. Theo dõi các phiên bản trong kiểm soát nguồn.

Tiếp theo, đóng băng image container. Xây dựng image Docker với các phiên bản mô hình chính xác được tích hợp sẵn. Gắn tag mỗi image với phiên bản mô hình, phiên bản Presidio, và ngày. Không cập nhật image cơ sở mà không kiểm tra trước.

Cũng giữ cấu hình trong code. Lưu trữ tất cả cài đặt Presidio trong các tệp được theo dõi trong kiểm soát phiên bản. Điều này bao gồm bộ phát hiện, ngưỡng điểm, và ngôn ngữ active. Triển khai cấu hình cùng với ứng dụng.

Cuối cùng, kiểm tra trên các thiết lập. Sau bất kỳ cập nhật nào, chạy một bộ tài liệu kiểm tra cố định qua thiết lập mới. So sánh kết quả với tham chiếu được lưu trữ. Tự động hóa kiểm tra này. Xem FAQ để biết các câu hỏi phổ biến về kiểm tra hồi quy PII tự động.

Các bước này giúp ích. Nhưng chúng cũng thêm công việc. Một dịch vụ được quản lý cung cấp tính nhất quán tương tự mà không cần nỗ lực thêm.

Điểm Mấu Chốt

Xóa PII nhất quán không xuất hiện trên tờ thông số sản phẩm. Nhưng nó trở nên quan trọng khi kiểm toán viên yêu cầu bằng chứng.

Nếu không có sự chăm sóc tích cực, các công cụ PII tự host sẽ drift. Thay đổi phiên bản thêm các khoảng trống yên lặng. Những khoảng trống đó hiển thị như các phát hiện kiểm toán.

Các dịch vụ được quản lý cung cấp tính nhất quán theo mặc định. Engine chạy từ một nơi. Thiết lập người dùng không ảnh hưởng đến kết quả. Đối với các nhóm tập trung vào tuân thủ, đây là lợi thế trực tiếp.

Nguồn

Sẵn sàng bảo vệ dữ liệu của bạn?

Bắt đầu ẩn danh PII với 285+ loại thực thể trên 48 ngôn ngữ.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.