Aller au contenu

Licences, signature et confidentialité

Politique de signature du code

Un seul artefact est signé — l'installateur pour Windows nyshporka-<версія>-setup.exe de la page des versions publiées. La wheel et le sdist sur PyPI ne sont pas signés avec Authenticode : leur intégrité est garantie par l'index lui-même et par Trusted Publishing via OIDC, sans jetons de longue durée.

Ce qui est signé et par qui. Le fichier est construit exclusivement dans GitHub Actions (.github/workflows/release.yml, job windows-setup), à partir d'un tag v*, après les contrôles de qualité et la vérification des données privées. La chaîne ne comporte aucune construction manuelle sur la machine de qui que ce soit. Le projet est mené par une seule personne, si bien que les rôles d'Author, de Reviewer et d'Approver se confondent ; chaque signature est confirmée séparément, à la main.

Comment vérifier vous-même :

(Get-AuthenticodeSignature .\nyshporka-setup.exe).Status   # Valid

À côté de l'installateur, la version publiée contient un .sha256 — il permet de vérifier le fichier téléchargé indépendamment de la signature.

Free code signing provided by SignPath.io, certificate by SignPath Foundation

⚠ À ce jour, la demande a été déposée, et les versions ne sont pas encore signées. D'ici là, Windows affiche « Windows a protégé votre ordinateur » — c'est attendu pour un programme encore peu téléchargé. La signature fera disparaître la mention « Éditeur inconnu », mais l'avertissement lui-même ne disparaîtra que lorsque la réputation se sera constituée : Microsoft a supprimé la confiance immédiate accordée aux certificats, y compris EV.

Confidentialité

Nyshporka est une application locale : pas de télémétrie, pas de comptes, la recherche n'est envoyée nulle part, et l'application ne va sur le réseau que lorsqu'on le lui demande par une commande. La liste complète des destinations et des raisons — PRIVACY.md.

Licence

AGPL-3.0-or-later.

Le copyleft n'est pas ici une affaire d'humeur, mais une exigence de l'arbre des dépendances : Unidecode — dépendance centrale (normalisation des noms, utils/text.py) — est sous GPL-2.0-or-later. L'AGPL-3.0 est compatible avec elle et plus stricte, et l'application fonctionne via le navigateur, c'est-à-dire précisément le cas que couvre l'AGPL.

⚠ Le paquet strhub contient le sous-module models/abinet sous une licence non commerciale de l'USTC. Nyshporka n'en utilise que PARSeq (Apache-2.0).

Les poids des modèles — à part, sous CC BY-SA 4.0. Ils ne sont pas dans le paquet, ils arrivent par une version publiée séparée, et l'AGPL ne définit pas de « code source correspondant » pour des poids binaires — elle ne protégerait donc rien, mais rebuterait ceux qui veulent les utiliser honnêtement. Les conditions sont les mêmes dans l'esprit : libre, y compris commercialement, avec attribution, et les poids affinés restent ouverts.