src/cluster_erp/modules/privacy/ içindeki privacy modülü ilgili kişi başvurularının kaydını tutar: kim, hangi hak için, hangi kanaldan başvurdu, yanıt ne zamana kadar verilmeli, kimlik nasıl denetlendi ve başvuru nasıl sonuçlandı. Gizlilik sorumluları ve yöneticiler kullanır. Modüller arası iki adımı, veri kopyası ve anonimleştirme, diğer modüllerin yanıtladığı EventBus olayları olarak çıkar. Mekanizmanın tamamı gizlilik ve ilgili kişi başvuruları sayfasında açıklanır.
Bir bakışta¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Paket | src/cluster_erp/modules/privacy/ |
klasör |
| Modül sınıfı | Module |
src/cluster_erp/modules/privacy/module.py:15 |
name / version |
privacy / 0.1.0 |
src/cluster_erp/modules/privacy/module.py:26-32 |
| API öneki | /api/v1/privacy (ModuleBase.api_prefix) |
src/cluster_erp/core/module_base.py:37-38 |
| Alt modüller | 1: requests |
klasör listesi |
| Tablolar | 1: privacy_subject_requests |
src/cluster_erp/modules/privacy/requests/models.py:48 |
| Metadata'daki varlıklar | 1: subject_request |
src/cluster_erp/modules/privacy/module.py:89 |
| Web uygulamasında yeri | Katalog uygulaması privacy |
src/cluster_erp/modules/app_store/catalog.json (privacy girdisi) |
| Masaüstünde yeri | Yalnızca genel bileşenler; src/cluster_erp/desktop/modules/ içinde klasör yok |
klasör |
Modül ne yapar¶
Bir kişi başvurduğunda bir başvuru kaydedilir, kimlik denetimi kaydedilir, sonra operatör yanıtlar: kişinin verisinin makinece okunur bir kopyasını hazırlayarak, kişiyi tüm modüllerde anonimleştirerek, bir notla tamamlayarak veya bir gerekçeyle reddederek (src/cluster_erp/modules/privacy/requests/services.py:157-527). Başvuru kaydı yanıtın kanıtı olarak kalır (src/cluster_erp/modules/privacy/requests/models.py:40-46).
Alt modüller¶
| Alt modül | Amaç | Ana varlıklar | Yönlendirici | Kaynak |
|---|---|---|---|---|
requests |
İlgili kişi başvuru kaydı ve aksiyonları | SubjectRequest |
/api/v1/privacy/requests |
src/cluster_erp/modules/privacy/requests/routes.py:28 |
Veri modeli¶
| Varlık | Tablo | Anahtar alanlar | Notlar | Kaynak |
|---|---|---|---|---|
SubjectRequest |
privacy_subject_requests |
code, request_type, party_id, user_id, channel, received_at, due_at, status |
code benzersiz; ayrıca kimlik, dışa aktarma, anonimleştirme ve sonuç sütunları; party_id, status, due_at dizinleri |
src/cluster_erp/modules/privacy/requests/models.py:39-85 |
code, next_code ile verilen yıllık bir iş anahtarıdır (src/cluster_erp/modules/privacy/requests/services.py:159). İlgili kişi her zaman bir taraftır; kişinin giriş hesabı da varsa user_id doldurulur (src/cluster_erp/modules/privacy/requests/models.py:42-44).
Ekranlar ve metadata¶
get_metadata, subject_request varlığı için İlgili Kişi Başvuruları (İngilizce Data-subject Requests) adlı tek bir liste bölümüyle Gizlilik (İngilizce Privacy) adlı bir kenar çubuğu grubu bildirir (src/cluster_erp/modules/privacy/module.py:52-90). Başvuru türleri ve kanallar SUBJECT_REQUEST_META içinde seçenek olarak sunulur (src/cluster_erp/modules/privacy/requests/metadata.py:20-43).
Durumlar ve aksiyonlar¶
Durumlar received, verified, completed ve rejected olur (src/cluster_erp/modules/privacy/requests/models.py:32-36).
| Aksiyon | Etiket | Koşul | Uç | İzin | Kaynak |
|---|---|---|---|---|---|
verify |
Kimliği doğrula | status değeri received |
POST /requests/{id}/actions/verify |
subject_request.verify |
src/cluster_erp/modules/privacy/requests/metadata.py:255-260, src/cluster_erp/modules/privacy/requests/routes.py:125-136 |
export |
Veri dosyasını hazırla | status değeri verified |
POST /requests/{id}/actions/export |
subject_request.export |
src/cluster_erp/modules/privacy/requests/metadata.py:274-279, src/cluster_erp/modules/privacy/requests/routes.py:139-150 |
download_export |
Veri dosyasını aç | export_state değeri ready |
GET /requests/{id}/export |
subject_request.export |
src/cluster_erp/modules/privacy/requests/metadata.py:281-286, src/cluster_erp/modules/privacy/requests/routes.py:153-172 |
anonymise |
Kişiyi anonimleştir | status değeri verified, silme başvurusu |
POST /requests/{id}/actions/anonymise |
subject_request.anonymise |
src/cluster_erp/modules/privacy/requests/metadata.py:288-296, src/cluster_erp/modules/privacy/requests/routes.py:175-187 |
complete |
Tamamla | status değeri verified |
POST /requests/{id}/actions/complete |
subject_request.complete |
src/cluster_erp/modules/privacy/requests/metadata.py:346-352, src/cluster_erp/modules/privacy/requests/routes.py:190-201 |
reject |
Reddet | status değeri received veya verified |
POST /requests/{id}/actions/reject |
subject_request.reject |
src/cluster_erp/modules/privacy/requests/metadata.py:361-367, src/cluster_erp/modules/privacy/requests/routes.py:204-215 |
Etiketler metadata etiket sözlüklerinden gelir.
İş kuralları¶
due_at,received_atartıprivacy_response_daysolur (src/cluster_erp/modules/privacy/requests/services.py:69-72,src/cluster_erp/config/settings.py:733).- Yalnızca bir silme başvurusu anonimleştirilebilir ve operatör onay için başvuru kodunu yazmalıdır (
src/cluster_erp/modules/privacy/requests/services.py:305-315). - Tamamlanmış veya reddedilmiş bir başvuru güncellenemez (
src/cluster_erp/modules/privacy/requests/services.py:174-186).
Olaylar ve sorgular¶
| Yön | Sözleşme sınıfı | İşleyici veya yayan | Kaynak |
|---|---|---|---|
| yayar | CollectSubjectData |
SubjectRequestService.collect |
src/cluster_erp/modules/privacy/requests/services.py:221-231 |
| yayar | AnonymiseSubject |
SubjectRequestService._apply_erasure |
src/cluster_erp/modules/privacy/requests/services.py:345-357 |
| sorgu sorar | GetPartyContactValues |
SubjectRequestService._subject_emails |
src/cluster_erp/modules/privacy/requests/services.py:209-219 |
Modül hiçbir şeye abone olmaz (src/cluster_erp/modules/privacy/module.py:46-47).
Yetkiler¶
| İzin anahtarı | Kullanan | Kaynak |
|---|---|---|
subject_request.read, subject_request.create, subject_request.update, subject_request.delete |
listeleme, okuma, yaratma, güncelleme, kullanımdan kaldırma | src/cluster_erp/modules/privacy/requests/routes.py:39-122 |
subject_request.verify, subject_request.export, subject_request.anonymise, subject_request.complete, subject_request.reject |
aksiyonlar | src/cluster_erp/modules/privacy/requests/routes.py:125-215, tohumlandığı yer src/cluster_erp/server/app.py:716-720 |
Gizlilik, saklama ve geçmiş¶
Modül başvurunun kendisiyle ilgili kişisel veri tutar. Silmeler silme defterine yazılır ve geri yüklemeden sonra yeniden oynatılır; bkz. gizlilik ve ilgili kişi başvuruları. Anonimleştirme etkilenen kayıtların değişiklik geçmişi değerlerini değiştirir (src/cluster_erp/modules/privacy/requests/services.py:396-406).
Analitik olguları¶
Bu modülün analytics_facts.py dosyası yoktur.
Ayarlar ve başvuru verileri¶
privacy_response_days süreyi, privacy_anonymised_marker tanımlayıcı alanların üzerine yazılan metni belirler (src/cluster_erp/config/settings.py:733-737). Bkz. ayarlar başvurusu.
Testler¶
tests/ ve web-client/ içinde dosya adıyla bulundu.
| Tür | Dosya | Kapsam |
|---|---|---|
| pytest | tests/test_privacy_requests.py |
veritabanı olmadan geçerli kısımlar (8 test) |
| pytest | tests/test_erasure_ledger.py |
defter mühürleme ve okuma (4 test) |
| e2e | web-client/_e2e_privacy_requests.mjs |
web uygulamasındaki başvuru akışı |
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| request channel | CHANNELS |
Bir ilgili kişi başvurusunun şirkete nasıl ulaştığı. | başvuru kanalı | src/cluster_erp/modules/privacy/requests/models.py:23 |
| due date | due_at |
Bir ilgili kişi başvurusunun yanıtlanması gereken son tarih. | son yanıt tarihi | src/cluster_erp/modules/privacy/requests/models.py:62 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.