Tensionix ENDERU
GitHub28 репозиториевDaily Tech3 подписчикаaudion.devвитрина продуктовRSSлента выпусков
← Все заметкиProjects

Security Policy

Scope

Audion Office OCR AI is a local portable desktop/workspace tool. It is not designed to be exposed as a public network service.

The GUI must bind only to loopback (127.0.0.1) and remain a local desktop control surface over the existing CLI/Python services.

Runtime Model

The project has three user-facing launch paths:

  • English CLI/FZF backend: launcher_project.cmd
  • Russian CLI/FZF backend: launcher_project_ru.cmd
  • local GUI shell: launcher_gui.cmd

Both operate on local workspace folders and invoke Python scripts inside system_core/.

Secrets

API keys are stored locally in text files:

  • config/api_key_openai.txt
  • config/api_key_gemini.txt
  • optional extra files under config/keys/openai/
  • optional extra files under config/keys/gemini/

These files must not be committed to version control, attached to public issues, pasted into logs, or included in release archives.

The GUI may show key-file names and status, but must not display the key value.

Data Handling

Local extraction and office builds process files on the machine.

DEV Markdown PDF rendering is a separate local pipeline. It uses Playwright Chromium from the portable runtime and does not upload Markdown documents to external services.

AI OCR modes send rendered PDF pages or images to the selected provider:

  • OpenAI
  • Gemini

Google Cloud Vision OCR is not part of the current data flow and the project does not require separate Google Cloud billing or Cloud Vision service-account credentials.

Python OCR Workbench local review runs locally when using PyMuPDF and Tesseract/pytesseract.

Workbench OpenAI/Gemini resolver modes send selected suspicious crop images to the chosen provider. These crops are still document data and must be treated as data leaving the machine.

Model-list refresh calls the selected provider's model-list endpoint with the selected local key. It does not upload documents, but it still contacts the provider over the network.

Use AI OCR or resolver modes only when policy allows sending document images or crop images to that provider.

Reports And Outputs

User-facing deliverables belong in output/.

Machine-readable reports and review artifacts belong in report/, including:

  • result.json
  • latest_result.json
  • mirror.json
  • manual_review.xlsx
  • review_items.json
  • resolver_candidates.json
  • safe_autofix_candidates.json
  • Workbench crop previews under report/sources/

Do not place private machine reports in public release notes, issues, screenshots, or examples.

Git Exclusions

The following folders contain generated, user-specific, secret, or runtime data and should stay out of Git:

  • runtime/
  • wheelhouse/
  • output/
  • logs/
  • release/
  • report/
  • workspace/
  • data/
  • ._runtime/
  • install/download/
  • system_core/powershell/

External Dependencies

Important dependency families:

  • document builders: python-docx, openpyxl, python-pptx
  • PDF/image tooling: PyMuPDF, Pillow
  • DEV Markdown PDF rendering: playwright and portable Chromium under runtime/.playwright/
  • local OCR bridge: pytesseract
  • optional external OCR engine: portable Tesseract OCR under runtime/tesseract/
  • provider SDKs for OpenAI and Gemini
  • GUI dependencies for NiceGUI/pywebview

pytesseract does not install tesseract.exe; Tesseract is not part of the core bundle. The project prefers runtime/tesseract/tesseract.exe, then AUDION_TESSERACT_EXE, then a system PATH fallback. If none is available, Workbench reports limited local OCR and queues review artifacts instead of failing silently.

Reporting

Report security issues privately to the maintainer.

Do not open public issues containing:

  • API keys
  • private documents
  • OCR images or crop previews
  • logs with secrets
  • proprietary file samples
  • generated reports from confidential files
Правлено 28.08.2026