tous les systèmes opérationnels
01 / DOCUMENT
[ plan de continuité · v1.0 · 2026-04-22 ]

Si nous fermons,
voici le manuel.

Chaque service de QR vend du « à vie ». Presque aucun ne définit ce qui se passe si l'entreprise disparaît. Nous le faisons. Douze mois de préavis. Code source publié au mois six. Exports par compte livrés au mois neuf ; dans la même fenêtre, les codes marqués en opt-in sont publiés dans un dump public pour qu'un tiers puisse remettre le resolver en service sur son propre domaine à partir de la version open-source. Fermeture définitive au mois douze. heldqr.io en tant que tel n'est pas transmis à un successeur — les codes qui doivent survivre devraient utiliser un domaine personnalisé pour que le QR imprimé pointe vers un domaine que le client possède.

Cette page est la version publique de cet engagement. La spécification d'ingénierie qui la sous-tend se trouve dans docs/03-continuity-plan.md de notre dépôt — mise à jour en parallèle avec cette page. En cas de divergence, le dépôt l'emporte.


02 / PROMISE

L'engagement, en termes simples.

Si Heldqr cesse son exploitation en continu — pour quelque raison que ce soit : fermeture, insolvabilité, rachat qui modifie les conditions, incapacité du fondateur à poursuivre — voici ce qui se produit, dans l'ordre. C'est le contrat. Tout ce qui se trouve à partir du §3 est l'ingénierie qui rend chacune de ces étapes exécutable sans héroïsme.

mois 0 Douze mois de préavis par e-mail et via une bannière sur chaque page du tableau de bord. Les nouvelles inscriptions s'arrêtent le jour même.
mois 1–5 Le service tourne normalement. Les redirections sont honorées. Les renouvellements annuels s'arrêtent ; les abonnés mensuels peuvent se désengager.
mois 6 Code source du resolver publié dans un dépôt GitHub public sous MIT ou Apache 2.0.
mois 7–8 Négociations de transition. Tout opérateur tiers crédible qui souhaite reprendre l'hébergement fait l'objet d'une évaluation sérieuse.
mois 9 Exports par compte livrés à chaque client. Dans la même fenêtre, les codes marqués en opt-in sont publiés dans un dump public — shortcode, target_url, created_at — miroité sur GitHub Releases, IPFS, Archive.org et BitTorrent.
mois 10–11 Fermeture progressive. Le resolver bascule vers un mode statique moins coûteux si le coût d'exploitation devient un problème.
mois 12 Le service hébergé prend fin. heldqr.io en tant que tel n'est pas transmis à un successeur. Les codes survivent via le domaine personnalisé du client (configuré à l'avance) ou, pour les codes en opt-in, via un tiers qui remet le resolver en service sur son propre domaine à partir de la source et du dump publiés.

03 / PUBLISHED

Ce qui est publié, et ce qui ne l'est pas.

Un engagement pris dès le premier jour, qui devient du code et des données aux mois six et neuf. Le dépôt placeholder existe dès aujourd'hui pour que chacun puisse vérifier que nous avons planifié cela avant d'en avoir eu besoin.

Le resolver — et seulement le resolver. Une surface délibérément réduite : router, controller, le schéma Ecto des codes, un cache ETS en read-through, la configuration runtime, et un Dockerfile qui démarre l'ensemble en une seule commande à partir du dump opt-in publié.

code source router, ResolverController, schéma codes, cache ETS, runtime.exs, Dockerfile. MIT ou Apache 2.0.
dump public opt-in Codes dont le propriétaire a accepté l'opt-in à la création. shortcode, target_url, created_at. CSV + JSON-lines avec SHA-256 correspondants.
jamais publié e-mails clients, adresses IP, événements de scan, données de facturation, étiquettes — et target_urls de tout code dont le propriétaire n'a pas opté pour l'opt-in. Les destinations de redirection des clients sont privées par défaut. Nous ne publions pas ce qu'un propriétaire n'a pas consenti à publier.
redondance GitHub, IPFS (≥2 pins), Archive.org, BitTorrent. La disparition de l'un d'entre eux n'est pas un problème.

04 / PRIVACY

La vie privée est structurelle, pas décorative.

Le plan de continuité contraint dès le départ ce que nous pouvons collecter. Nous ne pouvons pas publier un dump de base de données qui contient des e-mails de clients, des adresses IP ou des journaux de scans détaillés — nous concevons donc le produit pour que ces éléments soit n'existent pas, soit soient trivialement séparables de la table de redirection. Les target_urls sont les données du client : nous les collectons parce que la redirection en a besoin, mais nous ne les publions jamais sans un consentement par code.

Ce n'est pas une conformité GDPR vue comme une case à cocher. C'est la contrainte d'ingénierie qui rend exécutables le dump public opt-in du mois neuf et les exports par compte sans revue juridique.

adresses IP jamais stockées. La géolocalisation a lieu en mémoire au moment du scan ; seul le code pays atterrit en base de données.
cookies sur le resolver aucun. Les analytics de scan sont sans cookies — signaux grossiers uniquement.
données de compte e-mails, facturation, activité de connexion. Tables séparées de la table de redirection ; la requête du dump public ne touche que les codes.
target_urls données appartenant au client. Incluses dans l'export par compte propre au client. Retirées du dump public sauf si le propriétaire a opté pour l'opt-in à la création.
étiquettes métadonnées internes au client. Disponibles via le tableau de bord ; ne font partie d'aucun des deux canaux d'export de continuité — la forme de l'export est shortcode, target_url, created_at.

05 / LIMITS

Ce que cela ne promet pas.

Des engagements honnêtes exigent des limites honnêtes. Trop promettre sur la continuité irait à l'encontre du but recherché. Ces limites figurent dans les Conditions d'utilisation, énoncées clairement, pour que les clients sachent exactement ce qu'ils achètent.

non promis un service hébergé indéfini. Nous promettons douze mois de préavis, pas un hébergement perpétuel.
non promis une reprise par un successeur en particulier. Nous nous engageons à publier le code source du resolver et le sous-ensemble opt-in des codes. Les exports par compte vont directement aux clients. Nous ne pouvons garantir que quelqu'un reprenne le service hébergé.
non promis le transfert du domaine. Nous ne nous engageons pas à transférer le domaine heldqr.io à un successeur. Si vos codes doivent survivre à Heldqr, configurez un domaine personnalisé (formule Pro et au-delà) pour que le QR pointe vers votre domaine, pas le nôtre. Les codes imprimés sur un shortcode heldqr.io nu cessent de rediriger au mois douze.
non promis la conservation des données au-delà de la fermeture progressive. Après le mois douze, la base de données clients est supprimée. Seul le sous-ensemble opt-in des redirections persiste publiquement.
non promis le remboursement des cycles de facturation d'abonnement. Un abonnement Pro ou Business annulé pendant la fermeture progressive arrête la facturation au cycle suivant ; nous ne remboursons pas le mois partiel dans lequel vous avez annulé. Le préavis lui-même court que vous continuiez à payer ou non.

06 / SIGNED
>

Un plan de continuité que personne ne teste est une œuvre de fiction.
Ces revues trimestrielles sont ce qui distingue ceci du marketing.

— Heldqr · 2026-04-22