ArthurLegal'in takma adlandırma (pseudonymization) kapısı. Türk hukuk belgelerini ve İngilizce sözleşmeleri
(UYAP .udf, Word .docx, .pdf, taranmış PDF ve .jpg/.png/.tif görüntüler, .txt) cihazda tarar. Kişisel ve gizli ifadeleri
tutarlı maske etiketleriyle değiştirir ({{KİŞİ-01}}, {{TCKN-01}}, {{ADRES-01}}),
eşleştirmeyi şifreli bir dosya kasasında saklar ve yapay zekâ çıktısını aynı kasayla geri
açar. Belge içeriği ve kasa cihazdan çıkmaz; program internete yalnız günde bir kez, GitHub
sürüm listesinden yeni sürüm olup olmadığını okumak için çıkar.
Takma adlandırma anonimleştirme değildir. Kasa büroda durduğu için veri KVKK bakımından kişisel veri olmaya devam eder. Araç riski düşürür, yükümlülüğü kaldırmaz: yurt dışına aktarım (KVKK m.9) ve sır saklama (Av.K. m.36) değerlendirmesi ayrıca yapılır.
| Katman | Açıklama |
|---|---|
| Tespit | Presidio + Türk hukukuna özgü kural tanıyıcıları; spaCy modeli indirmeden çalışır |
| Kimlik numaraları | TCKN (NVİ kontrol basamağı), VKN (GİB algoritması), TR IBAN (mod-97), MERSİS, sicil no, plaka |
| Kişi adları | Rol etiketleri (DAVACI:), unvanlar (Av., Bilirkişi), Türkçe ad sözlüğü ("Deniz Aydın": soyadında büyük harf şartı yok), Ad SOYAD |
| Şirket | Şirket türü ekli unvanlar; kısa unvan aynı etikete bağlanır |
| Adres, iletişim | Adres satırları, mahalle/sokak + kapı no, telefon, e-posta/KEP, doğum tarihi |
| UYAP dosya no | Esas/karar/soruşturma numaraları. Yargıtay, Danıştay, AYM ve BAM içtihat atıfları korunur |
| Açık bırakılanlar | Tarih ve tutarlar (süre, zamanaşımı ve fer'i hesapları için); yalnız doğum tarihi maskelenir |
| Dosya sözlüğü | Dosyaya özgü "hep maskele" / "asla maskeleme" listesi (YAML) |
| Kırmızı hat | Maskelense bile gitmeyecek içerik (savunma stratejisi, sulh sınırı, KVKK m.6, içsel bilgi…) çıktıyı durdurur; gerekçeli onayla aşılır |
| UDF | Metin maskelenir, bütün startOffset/length biçim ofsetleri UTF‑16 birimiyle yeniden eşlenir |
| Word | Run'lara bölünmüş adlar birleştirilerek yerinde maskelenir; üst/alt bilgi, tablo, dipnot, yorum ve izlenen değişiklikler taranır; yazar/şirket üstverisi ve mailto köprüleri temizlenir |
| Metin katmanı maskelenip metin olarak yazılır | |
| Taranmış belge / fotoğraf | Yerel OCR (RapidOCR PP-OCRv6); metin maskelenir, etiketler sayfa görüntüsüne kalıcı basılır, çıktı üstverisiz görüntü PDF'i; avukat incelemesi zorunlu |
| İngilizce | Yabancı şirket ekleri, İngilizce unvan/taraf/imza blokları, UK/US/AB adresleri, uluslararası telefon, pasaport; yayımlanmış İngiliz/ABD içtihat atıfları korunur |
| Claude köprüsü | Claude Desktop MCP (belgeler / belge_getir / belgeyi_revize_et / teslim) + yerel AL arayüzü, tek süreç |
| Yapı ve revizyon | Word tabloları (ör. AZ | EN çift sütun) Claude'a Markdown tablo olarak gider; revizyonlar özgün belgeye izli değişiklik olarak işlenir |
| Çıkış kapısı | Claude'a giden her yanıt, gönderilmeden önce kasadaki bütün gerçek değerlere karşı (aksan, büyük/küçük harf, ayraç farkı gözetmeden) yeniden taranır ve etiketlenir; gönderilenler dosyada kaydedilir, arayüzden sızıntı denetimi yapılır. Uçtan uca test köprünün ham stdout baytlarını tarar |
| Geri açma | Bozulmuş etiketleri tolere eder ({{KISI-1}}); Türkçe ek uyumu: {{KİŞİ-01}}'in → Ayşe KARA'nın |
| Kasa | Scrypt + Fernet ile şifreli, dosya (matter) başına; belgeler arası tutarlı etiket |
uv venv .venv --python 3.11
uv pip install --python .venv/Scripts/python.exe -e ".[test]"Kaynak kod bu depoda herkese açık olarak incelenebilir; lisansı ticari olmayan kullanım lisansıdır, açık kaynak
lisansı değildir (LICENSE). Kurulum paketlerinde kaynak kod yoktur (Nuitka). Dağıtım, herkese açık ArthurLegal
deposunun sürüm sayfasındaki kurulum dosyalarıdır: arthur-mask etiketli sürümdeki ArthurMask-Kurulum.exe ve ArthurMask-Kurulum.dmg (kalıcı doğrudan bağlantı
https://github.com/beerbottle90/ArthurLegal/releases/download/arthur-mask/ArthurMask-Kurulum.exe; yeni sürümde dosya
gh release upload arthur-mask ... --clobber ile değiştirilir, sürüm başlığı "Arthur Mask X.Y.Z" güncellenir). Kullanım rehberi ArthurLegal paketlerindeki
ARTHUR-MASK.md dosyasındadır.
# Derleme makinesi: MSVC Build Tools, Inno Setup 6 (kullanıcı kapsamı), uv
uv pip install --python .venv\Scripts\python.exe -e ".[test,semantik,ocr]" nuitka ordered-set zstandard
$env:HF_HOME = "E:\llm\hf-cache" # GLiNER PII ve mDeBERTa önbelleği
.venv\Scripts\python.exe paketleme\derle.py --cikti E:\arthur-mask-derleme --iss
# Derlenmiş paketi uçtan uca sızıntı testinden geçirme
$env:ARTHUR_MASK_TEST_PYTHON = "E:\arthur-mask-derleme\ArthurMask\runtime\python.exe"
.venv\Scripts\python.exe -m pytest tests\test_uctan_uca_stdio.pypaketleme/derle.py Arthur Mask'i Nuitka ile makine koduna derler (app\arthur_mask.*.pyd; pakette
.py kalırsa derleme durur), Python 3.11 çalışma zamanını ve üçüncü taraf kütüphaneleri ekler,
modelleri çevrimdışı önbelleğe koyar ve paketi kendi Python'uyla sınar. Kurulum kullanıcı kapsamındadır
(yönetici hakkı gerekmez), Claude Desktop yapılandırmasına arthur-mask bağlayıcısını yedek alarak
ekler (arthur_mask.claude_ayari), kaldırmada çıkarır. Masaüstü kısayolu arthur_mask.baslat:
arayüz açıksa tarayıcıda gösterir, değilse Claude Desktop'u başlatır.
macOS kurulum dosyası aynı sürüm sayfasında ArthurMask-Kurulum.dmg adıyla durur. Derleme bir Mac gerektirdiği için
GitHub Actions'ta yapılır (.github/workflows/macos.yml; macos dalına gönderimde ya da elle tetiklenir) ve
sonuç iş akışı çıktısı olarak indirilir. Yerelde bir Mac'te:
uv python install 3.11.9 && uv venv .venv --python 3.11.9 --managed-python
uv pip install --python .venv/bin/python -r paketleme/macos/gereksinimler.txt && uv pip install --python .venv/bin/python --no-deps -e .
.venv/bin/python paketleme/derle_macos.py --cikti ~/arthur-mask-derleme --dmgpaketleme/derle_macos.py, derle.py ile aynı sürümleri ve model revizyonlarını paketler. Windows'tan farkları:
uygulama paketi Arthur Mask.app (ad-hoc imzalı, noter onaysız; ilk açılışta Gizlilik ve Güvenlik > "Yine de Aç"),
ana anahtar DPAPI yerine Anahtar Zinciri'nde, belgeler ~/Arthur Mask klasöründe (iCloud eşitlemesine girmez),
Claude Desktop kaydı kurulumda değil uygulamanın ilk açılışında yapılır. Kullanıcı notu: paketleme/macos/BENIOKU.md.
export ARTHUR_MASK_KASA_PAROLASI='…' # yoksa sorulur
arthur-mask tara dilekce.udf --sozluk sozluk.yaml # yalnız listele
arthur-mask maskele dilekce.udf --sozluk sozluk.yaml --kasa dosya-2026-014.kasa
# → dilekce.maskeli.udf (gönderilebilir)
# → dilekce.maske-raporu.md (YEREL)
# → dosya-2026-014.kasa (YEREL, şifreli)
arthur-mask maskele sozlesme.docx --kasa dosya-2026-014.kasa # → sozlesme.maskeli.docx
arthur-mask maskele karar.pdf --kasa dosya-2026-014.kasa # → karar.maskeli.txt
arthur-mask geri-ac claude-cevabi.txt --kasa dosya-2026-014.kasa --bicim udf # veya docxProfiller: standart (varsayılan) ve siki (+ mahkeme adı, yer adları).
Kırmızı hat uyarısında maskeli çıktı yazılmaz (çıkış kodu 3). Gerekçeyle devam:
--kirmizi-hat-onayi "gerekçe"; gerekçe rapora işlenir.
python degerlendirme/degerlendir.py # etiketli TR setinde recall / precision
python -m pytest -qSentetik set (v0) kuralları yazanla aynı elden çıktığı için iyimserdir. Üretim güveni için onaylı, maskelenmiş gerçek büro belgelerinden türetilmiş bir set gerekir. Tanıyıcı, eşik, sözlük veya model değiştiğinde ölçüm tekrarlanır.
- Tespit olasılıksaldır; maskeli çıktı gönderilmeden önce avukat tarafından okunur.
- Çıkış kapısı yalnız kasada bulunan (en az bir kez tespit edilmiş) değerleri tanır; hiç tespit edilmemiş bir ad için güvence tespit katmanı ve avukat incelemesidir. Sohbete doğrudan yazılan ya da Claude'a ayrıca eklenen belgeler Arthur Mask'ten geçmez.
- Takma adlandırma kimliği gizler, içeriği gizlemez: benzersiz olay örgüsü kişiyi ele verebilir.
- Kural katmanı tek başına bağlamsız yabancı adları ve lakapları kaçırabilir; bunları yerel
semantik katman (
arthur-mask[semantik], GLiNER PII) yakalar. Ölçümler: docs/faz-1-sartname.md. - UDF biçimi açık bir şartnameye değil gözlemlenen dosyalara dayanır; üretilen dosyalar UYAP Doküman Editörü'nde açılarak teyit edilmelidir.
- Word görselleri ve gömülü nesneler maskelenmez (rapor uyarır). Eski
.docdesteklenmez. - Metin PDF'lerinin maskeli çıktısı metindir. Taranmış belgelerde el yazısı, imza, mühür, fotoğraf ve karekod OCR ile okunmaz ve maskelenmez; maskeli sayfa görüntüsü kontrol edilir.
- Geri açma kanonik değeri yazar: tek başına geçen soyadı tam ada açılır.
Belgeler: masaüstü akışı ve Claude köprüsü · Faz 1 şartnamesi · lisans · üçüncü taraf bileşenler