
स्क्रीनशॉट में क्रेडेंशियल्स खोजें, उन्हें अपने सीक्रेट मैनेजर में सहेजें, और उन्हें छवि से अपरिवर्तनीय रूप से रिडैक्ट करें — स्थानीय, ऑफ़लाइन, OCR-आधारित।
स्क्रीनशॉट में क्रेडेंशियल्स खोजें, उन्हें एक सीक्रेट मैनेजर में निकालें, और उन्हें छवियों से अपरिवर्तनीय रूप से संपादित करें — ताकि सीक्रेट आपके नोट्स, स्क्रीनशॉट और ~/Desktop में सड़ न जाएं।
स्थानीय। ऑफ़लाइन। शांत। डिफ़ॉल्ट रूप से कोई नेटवर्क, कोई टेलीमेट्री नहीं।
screenscrub दो मौजूदा टूल श्रेणियों को जोड़ता है: GUI रिडैक्टर (Xnapper, Shhshot, macshot) PII को हाथ से धुंधला करते हैं लेकिन एक पते या पते से एक सीक्रेट को नहीं बता सकते या कैप्चर नहीं कर सकते कि वे क्या छिपाते हैं; सीक्रेट स्कैनर (gitleaks, TruffleHog) वास्तविक क्रेडेंशियल्स ढूंढते हैं लेकिन केवल टेक्स्ट में, कभी PNG में नहीं। screenscrub gitleaks-ग्रेड डिटेक्शन — साथ ही एक रेड-टीम पैक और एंट्रॉपी विश्लेषण — को पिक्सेल पर, हेडलेसली लाता है: यह प्रत्येक सीक्रेट को आपके मैनेजर में कैप्चर करता है, छवि को अपरिवर्तनीय रूप से संपादित करता है, और परिणाम को फिर से OCR करता है यह साबित करने के लिए कि सीक्रेट चला गया है।
एक सुरक्षा जाल, गारंटी नहीं — screenscrub कभी दावा नहीं करता कि कोई छवि "गारंटीशुदा साफ" है; OCR और डिटेक्शन दोनों चीज़ों को मिस कर सकते हैं, इसलिए हमेशा परिणामों पर नज़र रखें। इस पर भरोसा करने से पहले यह पढ़ें।
screenscrub scan ~/Screenshots # ड्राई रन: डिटेक्ट + रिपोर्ट, कोई लेखन नहीं
screenscrub clean ~/Screenshots --out ~/clean \ # निकालें, संपादित करें, सत्यापित करें, क्वारंटाइन
--sink file://./secrets.age --yes
screenscrub verify ~/clean # साबित करें कि फ़ोल्डर साफ है (यदि नहीं तो बाहर निकलें ≠0)
screenscrub clean --keep-originals ./tmp
Cleaning 7 image(s) in ./tmp (7 worker(s))…
[1/7] tmp/ssh.jpg — 6 region(s) → tmp/ssh.redacted.jpg ✓ सत्यापित
[2/7] tmp/key.jpg — 13 region(s) → tmp/key.redacted.jpg ✓ सत्यापित
[3/7] tmp/test2.jpg — 12 region(s) → tmp/test2.redacted.jpg ✓ सत्यापित
[4/7] tmp/test5.jpg — 13 region(s) → tmp/test5.redacted.jpg ✓ सत्यापित
[5/7] tmp/test3.jpg — error: verification failed: 4 secret region(s) still detectable in tmp/test3.redacted.jpg; original preserved
[6/7] tmp/test4.jpg — error: verification failed: 9 secret region(s) still detectable in tmp/test4.redacted.jpg; original preserved
[7/7] tmp/test6.jpg — error: verification failed: 7 secret region(s) still detectable in tmp/test6.redacted.jpg; original preserved
7/7 फ़ाइल(एँ) चिह्नित, 382 क्षेत्र कुल, 3 फ़ाइल(एँ) त्रुटियुक्त/असत्यापित।
प्रकार से:
high-entropy 343
keyword-secret 15
db-connection-uri 10
github-pat 6
unix-crypt-hash 6
aws-access-key 1
stripe-key 1
मैन्युअल ध्यान देने की आवश्यकता (3):
tmp/test3.jpg — error: verification failed: 4 secret region(s) still detectable in tmp/test3.redacted.jpg; original preserved
tmp/test4.jpg — error: verification failed: 9 secret region(s) still detectable in tmp/test4.redacted.jpg; original preserved
tmp/test6.jpg — error: verification failed: 7 secret region(s) still detectable in tmp/test6.redacted.jpg; original preserved
| पहले — सीक्रेट मान दिखाई दे रहे हैं | बाद में clean — अपरिवर्तनीय रूप से संपादित |
![]() |
वही स्क्रीनशॉट clean से पहले और बाद में: प्रत्येक सीक्रेट मान को पिक्सेल में डिकोड किया जाता है, बॉक्स किया जाता है, और एक नई छवि (अपरिवर्तनीय) में फिर से एनकोड किया जाता है — लेबल और संरचना पढ़ने योग्य रहती है।
PATH पर tesseract OCR बाइनरी की आवश्यकता है:
brew install tesseractwinget install UB-Mannheim.TesseractOCR (या UB Mannheim इंस्टॉलर)apt-get install tesseract-ocrफिर बनाएँ:
go build -o screenscrub ./cmd/screenscrub
macOS (arm64/amd64) और Windows (amd64) के लिए क्रॉस-कम्पाइल करता है — यह cgo का उपयोग करने के बजाय tesseract को शेल आउट करता है। केवल macOS पर परीक्षण किया गया।
scan <dir|file> — ड्राई रनपता लगाएँ और रिपोर्ट करें; कुछ न लिखें।
screenscrub scan ~/Screenshots --ignore 'node_modules/**' --ignore '*.thumb.png'
screenscrub scan shot.png --json # मशीन-पठनीय रिपोर्ट
screenscrub scan ~/Screenshots --preview ~/review # आँखों से देखें कि clean क्या संपादित करेगा
--preview <dir> प्रत्येक चिह्नित छवि की एक गैर-विनाशकारी प्रतिलिपि लिखता है जिसमें हर पता लगाए गए क्षेत्र को रेखांकित किया जाता है (भरा नहीं जाता), ताकि आप प्रतिबद्ध होने से पहले पुष्टि कर सकें कि clean क्या संपादित करेगा। ⚠️ इन प्रतियों में अभी भी सीक्रेट होते हैं — निर्देशिका 0700 अनुमतियों के साथ बनाई जाती है और साझा नहीं की जानी चाहिए।
रिपोर्ट एक सारांश के साथ समाप्त होती है: प्रति-प्रकार का विवरण और एक स्पष्ट "मैन्युअल ध्यान देने की आवश्यकता" सूची — वे फ़ाइलें जो त्रुटियुक्त हैं, सत्यापन में विफल रहीं, या जिन्होंने स्क्रीनशॉट होने पर कोई OCR टेक्स्ट उत्पन्न नहीं किया (एक मौन OCR मिस एक साफ छवि के समान पढ़ता है, इसलिए इसे भरोसे के बजाय सामने लाया जाता है)।
scan --fail-on-findings कुछ भी पता चलने पर शून्य-गैर बाहर निकलता है — एक प्री-कमिट/CI गेट।
clean <dir|file> — निकालें, संपादित करें, क्वारंटाइनSCREENSCRUB_PASSPHRASE=… screenscrub clean ~/Screenshots \
--out ~/Screenshots/clean \
--sink file://./secrets.age \
--yes
प्रत्येक छवि के लिए जिसमें निष्कर्ष हैं, clean:
<name>.redacted.png को --out में (या स्रोत के पास) लिखता है,<out>/quarantine/ में स्थानांतरित करता है जो age के साथ एन्क्रिप्ट किया जाता है।सीक्रेट उस सिंक में जाते हैं जो आप --sink को पास करते हैं: age फ़ाइल (डिफ़ॉल्ट), 1Password (op://), KeePassXC (keepassxc://), macOS Keychain (keychain://), या HashiCorp Vault (vault://) — या हार्डवेयर-समर्थित age प्राप्तकर्ता (YubiKey, Touch ID)। सीक्रेट सिंक देखें।
फ़्लैग:
--exclude-kind और --min-confidence एक शोरगुल वाले कॉर्पस के लिए स्थानीय (कोई नेटवर्क नहीं) परिशुद्धता नॉब हैं — --llm के ऑफ़लाइन समकक्ष। वे शांत रिपोर्ट के लिए रिकॉल का व्यापार करते हैं, इसलिए उन्हें जानबूझकर उपयोग करें। ये दोनों scan/verify पर भी काम करते हैं और --config (exclude_kinds, min_confidence) में सेट किए जा सकते हैं।
पासफ़्रेज़ समाधान क्रम: --passphrase, फिर कॉन्फिग फ़ाइल, फिर SCREENSCRUB_PASSPHRASE। कमांड लाइन पर --passphrase से बचें — argv अन्य प्रक्रियाओं को दिखाई देता है।
verify <dir|file> — साबित करें कि एक फ़ोल्डर साफ हैप्रत्येक छवि को फिर से OCR करता है, फिर से डिटेक्शन चलाता है, और यदि कोई सीक्रेट क्षेत्र अभी भी पाया जाता है तो शून्य-गैर बाहर निकलता है — इसे क्लाइंट को स्क्रीनशॉट भेजने से पहले एक डिलिवरेबल/CI गेट के रूप में उपयोग करें। (यह साबित करता है कि OCR सीक्रेट नहीं पढ़ सकता, यह नहीं कि कोई मानव कभी नहीं कर सका।)
screenscrub verify ~/deliverable/screenshots
echo $? # 0 = साफ, गैर-शून्य = एक सीक्रेट अभी भी पता लगाने योग्य है
clean इसी जांच को प्रत्येक संपादित प्रतिलिपि पर स्वचालित रूप से चलाता है और उस मूल को क्वारंटाइन या श्रेड नहीं करेगा जिसकी संपादित प्रतिलिपि विफल होती है; --no-verify इसे छोड़ देता है (अनुशंसित नहीं)।
open <store> — सीक्रेट या क्वारंटाइन किए गए मूल को पुनर्प्राप्त करेंअपना डेटा वापस पाएँ: open age सिंक (संग्रहीत सीक्रेट रिकॉर्ड) या एक क्वारंटाइन किए गए मूल को --out में डिक्रिप्ट करता है, कभी stdout नहीं। स्टोर डिक्रिप्ट करना देखें।
--llm — LLM के साथ हानिरहित ओवर-फ़्लैग्स को हटाएंgitleaks-ग्रेड नियम OCR टेक्स्ट पर (OCR शोर के साथ) अनिवार्य रूप से ओवर-फ़्लैग करते हैं: रिकॉल-पक्षपाती डिटेक्टर हानिरहित उच्च-एंट्रॉपी स्ट्रिंग्स को सामने लाता है जिन्हें एक ऑपरेटर रखना चाहता है — होस्टनाम, GUID, git SHA, NTLM हैश जो स्वयं समझौते का प्रमाण हैं। --llm प्रत्येक उम्मीदवार को Claude (Opus 4.8) के पास चलाता है, वास्तविक सीक्रेट रखता है और हानिरहित पहचानकर्ताओं को हटाता है; LLM-पुष्टि क्षेत्र लाल भरे जाते हैं।
ANTHROPIC_API_KEY=… screenscrub clean ~/Screenshots --out ~/clean --llm --yes
यह उद्देश्यपूर्ण रूप से स्थानीय-और-शांत को तोड़ता है: यह उम्मीदवार स्ट्रिंग्स (पता लगाए गए सीक्रेट) को Anthropic API पर भेजता है, इसलिए यह केवल ऑप्ट-इन है, एक चेतावनी प्रिंट करता है, और API कुंजी की आवश्यकता होती है। यह विफल-बंद होता है: कोई भी API/नेटवर्क त्रुटि सभी निष्कर्षों को रखती है (सब कुछ संपादित करती है) बजाय इसके कि एक वास्तविक सीक्रेट को छोड़ने का जोखिम उठाए। यह प्रति चिह्नित छवि एक API कॉल करता है (अधिकतम 4 समवर्ती --jobs की परवाह किए बिना) — बड़ी निर्देशिकाओं पर दर सीमा और लागत का ध्यान रखें।
--watchscreenscrub clean ~/Screenshots --watch --sink file://./secrets.age --yes
पहले से मौजूद सभी चीज़ों को प्रोसेस करता है, फिर नई/संशोधित छवियों पर नज़र रखता है और प्रत्येक को दिखाई देने पर स्क्रब करता है। लूप से बचने के लिए *.redacted.png आउटपुट को अनदेखा किया जाता है।
OCR टोकन पर, screenscrub संयोजित करता है:
AKIA…, GitHub ghp_…, GitLab, Slack, Stripe, OpenAI, GCP API कुंजियाँ, JWT, और PEM हेडर। (कॉपी किया गया, आयात नहीं, छोटे और पूरी तरह से ऑफ़लाइन रहने के लिए।)postgres://u:p@…), HTTP Basic/Bearer auth हेडर, NetNTLMv2 और NTLM (pwdump) हैश, /etc/shadow क्रिप्ट हैश, PuTTY और OpenSSH निजी कुंजियाँ, SendGrid/npm टोकन।password, token=, secret, api_key, …) जो आसन्न मान को फ़्लैग करते हैं भले ही वह किसी पैटर्न से मेल न खाता हो और कम एंट्रॉपी हो।BEGIN/END मार्करों पर ध्यान केंद्रित करता है और प्रति-शब्द मिलान पर भरोसा करने के बजाय पूरे संलग्न क्षेत्र को उदारतापूर्वक संपादित करता है।प्रत्येक हिट उन टोकन के पिक्सेल बॉक्स पर मैप करता है जो इसे बनाते हैं (दो पंक्ति पुनर्निर्माण — स्पेस्ड और टाइट — OCR द्वारा व्हाइटस्पेस पर विभाजित किए गए सीक्रेट को पुनर्प्राप्त करते हैं), और भरने से पहले बॉक्स को पैड किया जाता है।
एक सिंक एक विधि है: Store(Secret) error। शिप किए गए एडेप्टर:
file:// — age-एन्क्रिप्टेड स्थानीय फ़ाइल (डिफ़ॉल्ट)। कोई बाहरी निर्भरता नहीं; एक age scrypt पासफ़्रेज़ (या age प्राप्तकर्ताओं के लिए — नीचे हार्डवेयर-समर्थित एन्क्रिप्शन देखें) के लिए एन्क्रिप्टेड रिकॉर्ड्स की एक JSON सरणी।op:// — 1Password CLI। op item create को मान stdin पर (कभी argv में नहीं) चलाता है।keepassxc://./vault.kdbx — KeePassXC। लोकप्रिय क्रॉस-प्लेटफ़ॉर्म स्थानीय KeePass मैनेजर। keepassxc-cli add चलाता है; डेटाबेस पासवर्ड और सीक्रेट दोनों stdin पर पास किए जाते हैं (कभी argv में नहीं)। डेटाबेस पासवर्ड हल किया गया पासफ़्रेज़ है (--config/SCREENSCRUB_PASSPHRASE)।keychain://screenscrub — macOS Keychain। security add-generic-password चलाता है। चेतावनी: security टूल केवल कमांड-लाइन तर्क के रूप में सीक्रेट स्वीकार करता है, इसलिए यह चलने के दौरान समान-उपयोगकर्ता ps को संक्षिप्त रूप से दिखाई देता है (macOS argv को अन्य उपयोगकर्ताओं से छुपाता है)। सख्त स्वच्छता के लिए 1Password, KeePassXC, या नीचे दिए गए Secure Enclave प्राप्तकर्ता को प्राथमिकता दें।अपना स्वयं का जोड़ने के लिए, sink.SecretSink (internal/sink) को लागू करें और इसे sink.FromURI में वायर करें। यही पूरा अनुबंध है।
डिफ़ॉल्ट age फ़ाइल सिंक और क्वारंटाइन पासफ़्रेज़ के बजाय age प्राप्तकर्ताओं को एन्क्रिप्ट कर सकते हैं, जिसमें age प्लगइन्स के माध्यम से हार्डवेयर-समर्थित शामिल हैं:
# YubiKey (PIV) — age-plugin-yubikey इंस्टॉल करें, फिर:
screenscrub clean ~/Screenshots --out ~/clean \
--sink file://./secrets.age \
--recipient age1yubikey1q... --yes
# Apple Secure Enclave / Touch ID — age-plugin-se इंस्टॉल करें, फिर:
screenscrub clean ~/Screenshots --out ~/clean \
--recipient age1se1q... --yes
# सादा age कीपेयर, या कई प्राप्तकर्ता / एक प्राप्तकर्ता फ़ाइल:
screenscrub clean ~/Screenshots --recipient age1abc... --recipients-file team.age.pub --yes
प्राप्तकर्ता मोड में किसी पासफ़्रेज़ की आवश्यकता नहीं है; सिंक और एन्क्रिप्टेड क्वारंटाइन दोनों प्राप्तकर्ताओं के पास जाते हैं। हार्डवेयर टोकन के साथ पुनर्प्राप्त करें: age -d -i <identity> secrets.age (डिक्रिप्शन YubiKey टच / Touch ID के लिए संकेत देता है)। किसी प्लगइन प्राप्तकर्ता को एन्क्रिप्ट करने के लिए age-plugin-<name> बाइनरी की आवश्यकता है; डिक्रिप्शन को अतिरिक्त रूप से डिवाइस की आवश्यकता है।
openसिंक और क्वारंटाइन आपके एक पासफ़्रेज़ (HKDF) से अलग कुंजियाँ प्राप्त करते हैं, इसलिए एक स्टोर को क्रैक करना दूसरे को नहीं खोल सकता। क्योंकि डिस्क पर कुंजियाँ व्युत्पन्न होती हैं, उन्हें कच्चे age के बजाय screenscrub के साथ डिक्रिप्ट करें:
screenscrub open ./secrets.age --out secrets.json # सीक्रेट रिकॉर्ड
screenscrub open ~/clean/quarantine/shot.png.ab12cd34.age --out shot.png # एक मूल
open प्रत्येक व्युत्पन्न कुंजी को स्वचालित रूप से आज़माता है और सादा पाठ --out (कभी stdout नहीं) पर लिखता है। प्राप्तकर्ता-मोड स्टोर के लिए, एक age कुंजी फ़ाइल पास करें: screenscrub open secrets.<id>.age --identity key.txt --out secrets.json (YubiKey/Touch ID के लिए सीधे age -d -i का उपयोग करें, जो हार्डवेयर प्लगइन चलाता है)। प्राप्तकर्ता मोड प्रति सीक्रेट एक फ़ाइल लिखता है (secrets.<hash>-<rand>.age) ताकि बार-बार चलाने से कभी एक-दूसरे को अधिलेखित न करें।
go test ./... # यूनिट परीक्षण tesseract के बिना चलते हैं; OCR/पुनः-OCR परीक्षण यदि अनुपस्थित हैं तो छोड़ दिए जाते हैं
शीर्षक गारंटी एक एंड-टू-एंड परीक्षण द्वारा कवर की गई है: एक AWS कुंजी के साथ एक स्क्रीनशॉट रेंडर करें, वास्तविक OCR → डिटेक्ट → रिडैक्ट पाइपलाइन चलाएं, आउटपुट को फिर से OCR करें, और पुष्टि करें कि सीक्रेट चला गया है (internal/redact)।
screenscrub सोचना बंद करने का लाइसेंस नहीं है।
password: पंक्तियाँ) जानता है; एक सीक्रेट जिसे यह नहीं पहचानता, वह गुज़र जाएगा।यह रिकॉल पर प्रिसिजन से अधिक ट्यून किया गया है — यह जानबूझकर ओवर-फ़्लैग करता है, क्योंकि एक छवि में छोड़ा गया क्रेडेंशियल विनाशकारी मामला है और एक झूठी सकारात्मकता केवल आपको एक लाल रंग के धब्बे की कीमत देती है।
आप testdata/ फ़ोल्डर में एक यथार्थवादी उपयोग मामला देख सकते हैं, जो RExpository के स्क्रीनशॉट से लिया गया है:
https://jaimepolop.github.io/RExpository/
यह सही नहीं है, लेकिन काफी अच्छा है।
clean इसे फिर से OCR करता है और फिर से डिटेक्शन चलाता है; यदि कोई सीक्रेट अभी भी पता लगाने योग्य है तो यह मूल को क्वारंटाइन या नष्ट करने से इनकार करता है और फ़ाइल को फ़्लैग करता है। बड़े/उच्च-DPI टेक्स्ट पर एंटी-अलियास्ड किनारों को कवर करने के लिए संपादन बक्सों को ग्लिफ़ ऊंचाई के अनुपात में पैड किया जाता है।clean संपादित प्रतिलिपि लिखता है, इसे सत्यापित करता है, फिर असंपादित मूल को age-एन्क्रिप्टेड क्वारंटाइन में ले जाता है और इसे इसके मूल स्थान से हटा देता है — केवल प्रतिलिपि के साफ सत्यापित होने और निकाले गए सीक्रेट के सुरक्षित रूप से डिस्क पर होने के बाद। विनाशकारी कदमों के लिए --yes आवश्यक है।AK****…**LE) दिखाती है। केवल क्लियरटेक्स्ट प्रतिलिपि मेमोरी में तब तक रहती है जब तक वह आपके एन्क्रिप्टेड सिंक तक नहीं पहुंच जाती।--purge और सुरक्षित विलोपन की सीमाएंडिफ़ॉल्ट रूप से, मूल को क्वारंटाइन (एन्क्रिप्टेड) में रखा जाता है ताकि एक गलत संपादन पुनर्प्राप्त करने योग्य हो। --purge इसके बजाय मूल को श्रेड करता है: यादृच्छिक से अधिलेखित करें, शून्य से अधिलेखित करें, फिर अनलिंक करें।
सुरक्षित विलोपन अविश्वसनीय है। SSDs, कॉपी-ऑन-राइट फ़ाइलसिस्टम (APFS, Btrfs, ZFS), जर्नल किए गए फ़ाइलसिस्टम, और स्नैपशॉट/बैकअप वाले वॉल्यूम पर, ओवरराइट-देन-अनलिंक मूल बाइट्स के चले जाने की गारंटी नहीं देता — वियर लेवलिंग और स्नैपशॉट उन्हें बनाए रख सकते हैं। एकमात्र वास्तविक बचाव यह है कि पहले स्थान पर क्लियरटेक्स्ट को कभी स्थायी न करें। एन्क्रिप्टेड क्वारंटाइन को प्राथमिकता दें, और --purge को सर्वोत्तम-प्रयास मानें।
OCR इंटरफ़ेस के पीछे एक स्वाभाविक उच्च-सटीकता बैकएंड है — एक भविष्य के अतिरिक्त के लिए उम्मीदवार।वेंडर किए गए क्रेडेंशियल पैटर्न gitleaks (MIT) से व्युत्पन्न हैं।
![]() |
| फ़्लैग | अर्थ |
|---|
--out <dir> | जहाँ संपादित प्रतियाँ जाती हैं (डिफ़ॉल्ट: स्रोत के पास) |
--sink <uri> | file://./secrets.age · op://Vault · keepassxc://./v.kdbx · keychain://service · vault://KV |
--recipient <age1…> | किसी age प्राप्तकर्ता को एन्क्रिप्ट करें (दोहराने योग्य): X25519, YubiKey, या Touch ID |
--recipients-file <f> | age प्राप्तकर्ताओं की फ़ाइल, एक प्रति पंक्ति |
--passphrase | फ़ाइल सिंक / क्वारंटाइन के लिए पासफ़्रेज़ (env var या --config को प्राथमिकता दें) |
--watch | चालू रहें; नए स्क्रीनशॉट आने पर प्रक्रिया करें (fsnotify) |
--purge | क्वारंटाइन करने के बजाय मूल को श्रेड करें (नीचे चेतावनी देखें) |
--keep-originals | केवल संपादित प्रतियाँ लिखें; मूल को उनके स्थान पर छोड़ दें (कोई क्वारंटाइन, कोई पासफ़्रेज़, कोई --yes नहीं) — --purge के साथ परस्पर अनन्य |
--yes | विनाशकारी मूल हैंडलिंग की पुष्टि करें (आवश्यक) |
--config <file> | JSON कॉन्फिग; आपको पासफ़्रेज़ को argv से बाहर रखने देता है |
--no-verify | संपादित आउटपुट के पुनः-OCR सत्यापन को छोड़ें (अनुशंसित नहीं) |
-i, --interactive | प्रत्येक चिह्नित छवि खोलें और उसे छूने से पहले संपादित/छोड़ें की पुष्टि करें |
--llm | Claude का उपयोग करके हानिरहित ओवर-फ़्लैग्स को हटाएं; कैंडिडेट स्ट्रिंग्स को Anthropic API पर भेजता है |
--llm-api-key | --llm के लिए Anthropic API कुंजी (या ANTHROPIC_API_KEY) |
--jobs N | समानांतर में N छवियों को प्रक्रिया करें (डिफ़ॉल्ट: CPU संख्या) |
--manifest <file> | मूल→संपादित→क्षेत्रों का JSON मानचित्र लिखें |
--ocr-raw / --ocr-upscale N | डार्क-टर्मिनल प्रीप्रोसेसिंग अक्षम करें / OCR से पहले अपस्केल करें |
--exclude-kind <kind> | एक प्रकार के निष्कर्षों को दबाएं (दोहराने योग्य), जैसे high-entropy — ऑफ़लाइन परिशुद्धता नॉब |
--min-confidence <0..1> | इस आत्मविश्वास से नीचे के निष्कर्षों को छोड़ें — ऑफ़लाइन परिशुद्धता नॉब |
--json | रिपोर्ट को JSON के रूप में उत्सर्जित करें |
--ignore <glob> | ग्लोब को अनदेखा करें, दोहराने योग्य; ** किसी भी गहराई से मेल खाता है |
--lang | tesseract भाषा (डिफ़ॉल्ट eng) |
vault:// — HashiCorp Vault KV v2 — मौजूद है लेकिन विलंबित/कम सामान्य; पथ सीक्रेट को हैश करता है ताकि वह URL में कभी न दिखाई दे।