-
-
Notifications
You must be signed in to change notification settings - Fork 0
Privacy Networking and Security
The selected audio file is decoded and transcribed on the user's computer. The transcription path does not upload the recording to a transcription service.
“Local transcription” does not mean A2M never uses the network. Depending on state and settings, it can request:
| Request | When |
|---|---|
| Piano Engine bundle | When no valid local model is available and the user allows the download |
| CUDA or DirectML runtime pack | When the selected GPU provider lacks a valid pack and the user allows the download |
| NVIDIA cuDNN archive | During offered CUDA dependency setup if the user allows the download |
| Update manifest | Automatically when enabled, or manually |
| Setup executable | When the user chooses a supported in-app update |
| Project/download page | When the user opens the official link or an update requires manual handling |
Model, runtime, cuDNN, and update downloads have configured size limits and SHA-256 checks. Archives are extracted with path and total-size protections. Runtime packs and model bundles also receive structural and functional validation.
These checks help detect truncation, corruption, unexpected bytes, and malformed packages. An expected hash compiled into A2M is not a digital signature and does not independently establish publisher identity.
Update manifests must use HTTPS on the configured hosts. Installer links are limited to an explicit HTTPS host allowlist. Model and runtime URLs are fixed in the application configuration rather than accepted from arbitrary user input.
- It does not make a compromised computer safe.
- It does not independently authenticate the semantic correctness of a model.
- It does not prevent another program on the computer from reading accessible files.
- It does not claim that every optional third-party codec backend has identical security behavior.
Source: http_service.py, archive_service.py, model_service.py, runtime_pack_service.py, cuda_dependency_service.py, and self_updater.py.