• PDF दस्तावेज़ों में अनुचित redaction को अपने-आप खोजने वाली Python लाइब्रेरी, जो ऐसे मामलों की पहचान करती है जहाँ टेक्स्ट को सिर्फ काले बॉक्स से ढका गया हो
  • Free Law Project ने लाखों PDF इकट्ठा करते समय सामने आई बार-बार की समस्या को हल करने के लिए इसे विकसित किया
  • इसे command line या Python code से चलाया जा सकता है, और परिणाम JSON या Python object के रूप में लौटते हैं
  • अंदरूनी तौर पर PyMuPDF का उपयोग करके PDF के rectangle, text और color की जानकारी का विश्लेषण किया जाता है ताकि यह तय किया जा सके कि redaction वास्तव में टेक्स्ट छिपा रहा है या नहीं
  • कानूनी दस्तावेज़ों या सार्वजनिक सामग्री में निजी जानकारी के खुलासे को रोकने के लिए यह एक काफ़ी उपयोगी automated verification tool है

अवलोकन

  • x-ray PDF फ़ाइलों में गलत redaction का पता लगाने वाली Python लाइब्रेरी है
    • उपयोगकर्ता PDF path देता है, तो यह उन हिस्सों को खोजती है जहाँ redaction सही तरह से नहीं हुआ
    • परिणाम page-wise JSON के रूप में निकलते हैं, जिनमें coordinates (bbox) और उस क्षेत्र का text (text) शामिल होता है

विकास पृष्ठभूमि

  • Free Law Project ने लाखों PDF इकट्ठा करते समय गलत तरीके से redaction किए गए दस्तावेज़ बड़ी संख्या में पाए
    • कुछ उपयोगकर्ता टेक्स्ट हटाने के बजाय उसे काले rectangle या highlight से ढकने का तरीका इस्तेमाल करते थे
    • ऐसे मामलों में rectangle के नीचे का टेक्स्ट select करने पर मूल सामग्री वैसे की वैसे दिखाई देती है
  • इस समस्या की आवृत्ति समझने के लिए x-ray टूल बनाया गया

उपयोग का तरीका

  • इंस्टॉल
    • pip install x-ray या uv add x-ray कमांड से इंस्टॉल किया जा सकता है
  • Command line पर चलाना
    • xray path/to/file.pdf के रूप में चलाने पर JSON परिणाम मिलता है
    • URL देने पर remote PDF डाउनलोड करके उसकी जाँच की जाती है
    • कई URL एक साथ जाँचने के लिए xargs -n 1 xray < urls.txt का उपयोग करें
  • Python code में उपयोग
    • xray.inspect("file.pdf") कॉल करने पर परिणाम Python object के रूप में मिलता है
    • input string हो तो local file, https:// से शुरू हो तो URL, और bytes हो तो memory में मौजूद PDF माना जाता है
    • फ़ाइल path को bytes type में देने पर यह काम नहीं करता

काम करने का तरीका

  • अंदरूनी तौर पर PyMuPDF की मदद से PDF का विश्लेषण किया जाता है
    1. PDF में rectangle खोजे जाते हैं
    2. उसी स्थान पर मौजूद letters खोजे जाते हैं
    3. rectangle को image के रूप में render किया जाता है
    4. अगर rectangle एक ही रंग से भरा हो, तो उसे गलत redaction माना जाता है
  • PDF की संरचना जटिल होने के कारण पूरी तरह सटीक detection मुश्किल है, लेकिन इसमें लगातार सुधार किया जा रहा है
  • प्रोजेक्ट donation और sponsorship से संचालित होता है

योगदान और रिलीज़

  • GitHub के issues list में unsupported cases या improvement requests देखे जा सकते हैं
  • पहली बार योगदान देने से पहले Contributor License Agreement (CLA) पर हस्ताक्षर करना ज़रूरी है
  • रिलीज़ प्रक्रिया GitHub Actions के ज़रिए automated है, और manual release के लिए poetry publish --build कमांड उपयोग होती है

लाइसेंस

  • यह BSD लाइसेंस के तहत उपलब्ध है, इसलिए इसे दूसरे प्रोजेक्ट्स में स्वतंत्र रूप से integrate किया जा सकता है
  • Pull Request और feature suggestions का स्वागत है, और GitHub web interface से सीधे संपादन भी किया जा सकता है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.