blankout 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- blankout-0.2.0.dist-info/METADATA +60 -0
- blankout-0.2.0.dist-info/RECORD +33 -0
- blankout-0.2.0.dist-info/WHEEL +5 -0
- blankout-0.2.0.dist-info/entry_points.txt +3 -0
- blankout-0.2.0.dist-info/licenses/LICENSE.md +660 -0
- blankout-0.2.0.dist-info/top_level.txt +1 -0
- redactpdf/__init__.py +0 -0
- redactpdf/_frontend/assets/__vite-browser-external-BIHI7g3E.js +1 -0
- redactpdf/_frontend/assets/index-C7uSoPHv.js +14 -0
- redactpdf/_frontend/assets/index-CHMh9z-w.css +1 -0
- redactpdf/_frontend/assets/pdf-Cd0sIcnW.js +12 -0
- redactpdf/_frontend/assets/pdf.worker.min-GB3t0DcA.mjs +21 -0
- redactpdf/_frontend/index.html +14 -0
- redactpdf/_frontend/logo.png +0 -0
- redactpdf/_tessdata/PROVENANCE.md +40 -0
- redactpdf/_tessdata/SHA256SUMS +2 -0
- redactpdf/_tessdata/eng.traineddata +0 -0
- redactpdf/_tessdata/fra.traineddata +0 -0
- redactpdf/audit.py +476 -0
- redactpdf/folding.py +49 -0
- redactpdf/heartbeat.py +77 -0
- redactpdf/launch.py +175 -0
- redactpdf/main.py +813 -0
- redactpdf/multiline_regex_engine.py +751 -0
- redactpdf/ocr.py +501 -0
- redactpdf/opaque.py +560 -0
- redactpdf/paths.py +103 -0
- redactpdf/pipeline.py +938 -0
- redactpdf/presets.py +238 -0
- redactpdf/redaction.py +183 -0
- redactpdf/regex_guard.py +117 -0
- redactpdf/sanitize.py +313 -0
- redactpdf/search.py +166 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: blankout
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Local PDF redaction that blocks the export when the audit still finds targeted content
|
|
5
|
+
Author: theodubus
|
|
6
|
+
License-Expression: AGPL-3.0-only
|
|
7
|
+
Project-URL: Homepage, https://github.com/theodubus/RedactPDF
|
|
8
|
+
Project-URL: Source, https://github.com/theodubus/RedactPDF
|
|
9
|
+
Project-URL: Issues, https://github.com/theodubus/RedactPDF/issues
|
|
10
|
+
Project-URL: Security, https://github.com/theodubus/RedactPDF/blob/main/docs/SECURITY.md
|
|
11
|
+
Keywords: pdf,redaction,privacy,gdpr,pii,local-first
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Web Environment
|
|
14
|
+
Classifier: Intended Audience :: Legal Industry
|
|
15
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Topic :: Security
|
|
19
|
+
Classifier: Topic :: Text Processing :: General
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE.md
|
|
23
|
+
Requires-Dist: fastapi==0.128.0
|
|
24
|
+
Requires-Dist: uvicorn==0.40.0
|
|
25
|
+
Requires-Dist: pymupdf==1.26.7
|
|
26
|
+
Requires-Dist: python-multipart==0.0.22
|
|
27
|
+
Requires-Dist: phonenumbers==9.0.22
|
|
28
|
+
Requires-Dist: regex==2026.9.3
|
|
29
|
+
Requires-Dist: pypdf==6.6.2
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: pytest==9.0.2; extra == "dev"
|
|
32
|
+
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
33
|
+
Requires-Dist: ruff==0.14.14; extra == "dev"
|
|
34
|
+
Requires-Dist: mypy==2.3.1; extra == "dev"
|
|
35
|
+
Requires-Dist: types-regex==2026.9.3.20260903; extra == "dev"
|
|
36
|
+
Requires-Dist: reportlab==4.4.9; extra == "dev"
|
|
37
|
+
Requires-Dist: hypothesis==6.167.1; extra == "dev"
|
|
38
|
+
Provides-Extra: packaging
|
|
39
|
+
Requires-Dist: pyinstaller==6.22.2; extra == "packaging"
|
|
40
|
+
Provides-Extra: wheel
|
|
41
|
+
Requires-Dist: build==1.3.0; extra == "wheel"
|
|
42
|
+
Dynamic: license-file
|
|
43
|
+
|
|
44
|
+
# RedactPDF
|
|
45
|
+
|
|
46
|
+
Local PDF redaction. Every export is audited against the rules that produced
|
|
47
|
+
it; if targeted content survives in the output, the export is **blocked** and
|
|
48
|
+
you get a structured report instead of a file.
|
|
49
|
+
|
|
50
|
+
Runs entirely on your machine — no upload, no network calls, no telemetry.
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
pipx install blankout
|
|
54
|
+
redactpdf
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The app opens in your browser and stops a few seconds after you close the tab.
|
|
58
|
+
|
|
59
|
+
Source, standalone binaries and the security model:
|
|
60
|
+
<https://github.com/theodubus/RedactPDF>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
blankout-0.2.0.dist-info/licenses/LICENSE.md,sha256=ADUqsZhl4juwq34PRTMiBqumpm11s_PMli_dZQjWPqQ,34260
|
|
2
|
+
redactpdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
redactpdf/audit.py,sha256=7Zk43rpDP-5XKGbsQ8dr2Ynoi_-BDSUPtPAB_1wbQ_s,16202
|
|
4
|
+
redactpdf/folding.py,sha256=1UChqB7OropHAuKm9pCEs5XB6zTqz01ca8K0hOsYCdI,2321
|
|
5
|
+
redactpdf/heartbeat.py,sha256=URVRwDqK-hr0oUEYdkD7KUxI2ZD0rWhj6GXW33rfpfE,2304
|
|
6
|
+
redactpdf/launch.py,sha256=Kd7o5f_IcWtxN24YnWyI1JRIbgHBR90aQ1ShfYDlWB0,5870
|
|
7
|
+
redactpdf/main.py,sha256=V17JwTG0YrqjInIUiONuAdwWUDfD4H__WdkwdCtShPo,35041
|
|
8
|
+
redactpdf/multiline_regex_engine.py,sha256=DWlXCuMcSNWVRJL6fhDL_o51yUP2hX4S9HLHQzMFLg4,25290
|
|
9
|
+
redactpdf/ocr.py,sha256=o2ubuRPXwLqROJ-ATVqosBOXduD1oXb7wDpYB5ocNlo,20270
|
|
10
|
+
redactpdf/opaque.py,sha256=PuJReUsgpOxCmyME0Wnw8wNZ1qd7F9HPyQby_aTHdpA,23487
|
|
11
|
+
redactpdf/paths.py,sha256=yvTEn8o7dsoVIW6zFzDpVYwJq9YTTD2QUyL5FlnfB5w,4233
|
|
12
|
+
redactpdf/pipeline.py,sha256=pQxo22fQvUDa2rpURmiwKG4BbNbxzRT9PiY7Fpq6Dno,36765
|
|
13
|
+
redactpdf/presets.py,sha256=hwxDPgVjUIPeeqOMpLKEpx5O__PtPqWaPtKmoe-VHNk,7539
|
|
14
|
+
redactpdf/redaction.py,sha256=YNvx8SFlWqUbXS_lppAXTkuSjvFX_jlsk_Yh2iwIDJk,6440
|
|
15
|
+
redactpdf/regex_guard.py,sha256=arIzjiwN4jeY2PjbTWamK4VP8qlu3lrT2SuEpqyvJME,4403
|
|
16
|
+
redactpdf/sanitize.py,sha256=pcQTxDoxz26p2ifHyjfzmQjMhKLOnOqpAy_gNCiJKkE,12516
|
|
17
|
+
redactpdf/search.py,sha256=RaKl9mQB93jezsGxmyDJ8AbuYmlrbLkPaKzrMLdNOHM,5544
|
|
18
|
+
redactpdf/_frontend/index.html,sha256=ZdT3PCFBy9aao0_XHOXdKaQk8Eg1pRVAHCQ8CtxrYMs,452
|
|
19
|
+
redactpdf/_frontend/logo.png,sha256=xdIpvaXYx2LNqyGnydv3KQ-t_RBTnbhjWYcn1lFu1Lc,523291
|
|
20
|
+
redactpdf/_frontend/assets/__vite-browser-external-BIHI7g3E.js,sha256=glB7C7msSv-usXxAlo2DDL1tFKL_oE2JlPrxp45Y4bU,33
|
|
21
|
+
redactpdf/_frontend/assets/index-C7uSoPHv.js,sha256=v1ynEtWbnEG4vMah3OdRiybEh22De5cMjjJs2adTgBg,452406
|
|
22
|
+
redactpdf/_frontend/assets/index-CHMh9z-w.css,sha256=n6myEhz3mpyTlG5xOlPt-fnIThemJyE8ZHz6Zs4dsgc,9868
|
|
23
|
+
redactpdf/_frontend/assets/pdf-Cd0sIcnW.js,sha256=5rOZweCELFOxB1GPkstSiAAJv-s7gPD5N2-aoFU4N7s,321104
|
|
24
|
+
redactpdf/_frontend/assets/pdf.worker.min-GB3t0DcA.mjs,sha256=iAbWo7FV_KaetLWQYp92B5T-PiHoLfECo5di1g7tU-E,1369805
|
|
25
|
+
redactpdf/_tessdata/PROVENANCE.md,sha256=nIIqYTQ8NLsg5LE50CJYbHLUpzxcoEW1tCvefkoBffA,1588
|
|
26
|
+
redactpdf/_tessdata/SHA256SUMS,sha256=wt_bmDxpgUlCkug9ZhSnEHzUFGN2eKNdmFQXx951e6w,164
|
|
27
|
+
redactpdf/_tessdata/eng.traineddata,sha256=fUMivSp3SXJIeWg_w5EstULxmQbIO8waUhMlVkJxcLI,4113088
|
|
28
|
+
redactpdf/_tessdata/fra.traineddata,sha256=ztA3Vi6MgMExIt7OKN1HfTma-AkRooeRpmpjrB40Rco,1130365
|
|
29
|
+
blankout-0.2.0.dist-info/METADATA,sha256=coY4dHVa-XzheqUm8GGqDLUWVDV5JfQMeoKQKdc232Y,2248
|
|
30
|
+
blankout-0.2.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
31
|
+
blankout-0.2.0.dist-info/entry_points.txt,sha256=EFYSDsDWNydQ6spquPE1hqNS5h-BmCrWXoATglgWCzA,83
|
|
32
|
+
blankout-0.2.0.dist-info/top_level.txt,sha256=a-uCXO98rxep_bMyiGC-q1XvDmTnzUuIFbsJyXz8KfQ,10
|
|
33
|
+
blankout-0.2.0.dist-info/RECORD,,
|