Projeler · 05

Tensip

UYAP Avukat Portalı'ndaki dava dosyalarımı kendi bilgisayarımda düzenli bir arşivde tutmak için yazdığım uygulama. Vekili olduğum dosyaları listeler, seçtiğim dosyanın evraklarını indirip portalla eşitler ve UDF ile PDF evrakları uygulamanın içinde metin olarak gösterir. Adını, mahkemenin dosyayı ilk kez düzene koyduğu tensip zaptından alıyor.

Sürüm 1.1.0 · TypeScript ve Node.js · GitHub'da açık kaynak (AGPL-3.0) · English

Kısaca. Tensip bilgisayarda çalışan bir motordan, onun sunduğu yerel panodan ve bu panoyu gösteren bir macOS penceresinden oluşur. Portala girişi avukat kendi tarayıcısında e-Devlet ile yapar; Tensip oturumu devralır, portalda yalnızca sorgu yapar ve belge indirir. Arşiv bilgisayarda kalır. Resmî bir uygulama değildir, Adalet Bakanlığı ya da UYAP ile bağlantısı yoktur.

Ne
UYAP Avukat Portalı için yerel arşiv uygulamasıMotor, komut satırı, yerel pano ve macOS penceresi
Kapsam
Hukuk, ceza ve icra dosyalarıİdari yargı ve yüksek mahkeme sorguları kapsam dışında
Platform
macOSGiriş için Chrome, Brave ya da Edge gerekir
Veri
Avukatın kendi bilgisayarındaUygulama UYAP dışında hiçbir sunucuya bağlanmaz
Kaynak kod
github.com/afsozer/tensipAçık kaynak, AGPL-3.0 lisansı

Ne işe yarar?

  • Dosya listesi. Vekili olunan hukuk, ceza ve icra dosyaları mahkeme, yıl ve sıra girmeden tek düğmeyle listelenir; liste yerelde aranır ve süzülür.
  • Arşiv ve eşitleme. Seçilen dosyanın evrakları yerel bir klasöre iner. Sonraki eşitlemelerde yalnızca yeni ya da değişmiş evraklar gelir ve bunlar işaretlenir; ek evraklar ana evrakın altında durur. Elli dosyaya kadar seçilip sırayla eşitlenebilir.
  • Evrak önizleme. UDF ve metin katmanlı PDF evraklar uygulamanın içinde metin olarak okunur, evrakı ayrıca açmak gerekmez.
  • Dosya ayrıntısı. Safahat, taraflar ve hesap bilgisi dosya ekranında görülür.
  • Ajanda. Yaklaşan duruşma ve keşifler güne göre listelenir ve macOS Takvim'e aktarılabilir. Takvime giden kayıtta taraf adları varsayılan olarak yazılmaz, çünkü takvim eşitlemesi müvekkil adını cihazın dışına çıkarır.
  • Denetim ve onarım. Arşivdeki eksik, bozuk ya da mükerrer kayıtlar bulunur; yalnızca güvenle düzeltilebilenler onarılır, gerisinin neden düzeltilemediği yazılır.

Portala nasıl davranır?

Avukat Portalı kullanıcı sözleşmesi, programla sisteme olağan dışı yük bindirmeyi yasaklıyor ve ihlal hâlinde portal erişimi engellenebiliyor. Tensip'i bu kuralın içinde kalacak şekilde kurdum.

  • Aynı anda tek istek. Portala giden bütün istekler tek sıradan geçer; bir istek bitmeden sıradaki yola çıkmaz.
  • İstekler arasında bekleme. İki istek arasında 3 ile 5 saniye arasında, her seferinde yeniden seçilen bir süre beklenir.
  • Günlük tavan. Günde en çok 500 portal isteği ve 40 dosya işi yapılır. Tavan dolunca istek gönderilmez, eşitleme ertesi gün kaldığı yerden sürer.
  • Portalın kendi sınırları. Portalın saatte bir kez kabul ettiği safahat sorgusu gibi sınırlara uyulur; sonuç önbellekten gösterilirken ne zaman ölçüldüğü de yazılır.
  • Girişte sessizlik. Avukat e-Devlet adımlarını tamamlarken portala hiç istek gönderilmez; oturumun açıldığı tarayıcının kendi trafiğinden anlaşılır.

Ne yapmaz?

  • Portala bir şey göndermez. Evrak, dilekçe ya da başka bir içerik yüklemez ve imza atmaz.
  • Resmî bir uygulama değildir. Adalet Bakanlığı, UYAP ya da bir baro tarafından geliştirilmedi ve onaylanmadı.
  • Her yargı türünü kapsamaz. İdari yargı dosyaları ve yüksek mahkeme sorguları listeye girmez.

Teknik ayrıntı

Motor
Node.js 22, TypeScriptÇalışma zamanında npm bağımlılığı yok; pano ve komut satırı yalnızca aynı bilgisayardan erişilir
Pencere
Swift, AppKit ve WebKitYerel panoyu bir macOS uygulama penceresinde gösterir
Evrak
UDF, PDF ve HTMLMetin yerelde çıkarılır; PDF için pdftotext kullanılır
Test
Sahte bir UYAP sunucusuna karşı 678 testTestler gerçek portala bağlanmaz
Geliştirme
Tasarım ve ürün kararları bendeKodlama yapay zekâ destekli araçlarla (Claude Code); Eylül 2026'dan beri kendi dosyalarımın arşivini bununla tutuyorum

Kaynak kod

Kaynak kod GitHub'da açık ve GNU Affero Genel Kamu Lisansı sürüm 3 (AGPL-3.0) ile lisanslı. Kodu kullanabilir, değiştirebilir ve dağıtabilirsiniz; değiştirdiğiniz bir sürümü dağıtır ya da ağ üzerinden başkalarına hizmet olarak sunarsanız, değiştirdiğiniz kaynak kodu da aynı lisansla açmanız gerekir. Depoda, gerçek portala bağlanmadan uygulamayı uydurma dosyalarla denemeye yarayan bir tanıtım ortamı da var.

github.com/afsozer/tensip

Bu sayfa 8 Ekim 2026 itibarıyla 1.1.0 sürümünü anlatıyor.

Av. Alpaslan Fatih Sözer hakkında