firmus.sh

Confidentialité

Dernière mise à jour : 20 août 2026.

Ce que couvre cette page

Cette politique couvre firmus.sh (ce site), console.firmus.sh (la console) et api.firmus.sh (l'API) — les trois surfaces qu'une donnée personnelle peut atteindre. Les mentions légales nomment qui les publie ; cette page nomme ce qu'elles font des données, et pour combien de temps.

Se connecter à la console

Un compte, c'est une adresse e-mail, une empreinte bcrypt du mot de passe, un nom facultatif, et un champ de confirmation de l'adresse que rien n'écrit encore — la vérification d'e-mail n'existe pas, délibérément, à ce stade.

Se connecter crée un enregistrement de session côté serveur plutôt qu'un simple cookie : un identifiant, signé et transporté dans un cookie httponly, envoyé uniquement en HTTPS en production, et envoyé uniquement lors d'une navigation de même site. L'enregistrement porte aussi l'adresse IP et l'agent utilisateur du navigateur au moment de la connexion.

Une session authentifie pendant trente jours au plus à partir de sa création — une fenêtre fixe, qui ne se renouvelle pas avec l'activité. L'enregistrement, adresse IP et agent utilisateur compris, est supprimé à son expiration : un passage nocturne retire chaque session au-delà de la sienne, de sorte que trente jours est la durée de conservation de l'enregistrement et pas seulement celle de sa validité. Vous déconnecter le supprime plus tôt, et supprimer votre compte supprime toutes ses sessions.

Clés d'API

Créer une clé d'API ne conserve pas le jeton qui vous est remis. Il est affiché une seule fois, à la création, et rien ne permet de le récupérer ensuite. Ce qui est conservé à la place, c'est une empreinte salée de ce jeton, plus un préfixe et ses quatre derniers caractères — assez pour afficher la clé dans une liste, pas assez pour la reconstituer.

Révoquer une clé ne supprime pas son enregistrement. Il est marqué révoqué et conservé, de sorte qu'une clé qui a servi reste identifiable plus tard, par son préfixe et ses quatre derniers caractères, sans que le jeton lui-même n'ait jamais été récupérable.

Usage

Deux compteurs tenus sur notre serveur d'API enregistrent qu'un appel a eu lieu : un pour le mois, un pour le jour, chacun associé à la seule organisation — pas à une clé, pas à une adresse, pas à une requête. Chaque appel incrémente chacun d'une unité, et chaque compteur est supprimé 40 jours après le dernier appel qu'il a compté. Rien n'est envoyé à Stripe. Un palier payant est un forfait mensuel fixe et aucun appel n'est facturé, sur aucun palier : il n'y a donc pas d'usage à facturer, ni de grand livre d'usage où que ce soit. Ces deux compteurs servent à l'allocation mensuelle du palier gratuit et à l'écran d'usage de la console, qui montre un total mensuel et une courbe journalière. Il n'existe aucune table de requêtes individuelles de ce côté-ci, donc rien de plus fin que ces deux chiffres n'existe à montrer.

Le flux en direct

Pendant que la console est ouverte, un flux du trafic de l'organisation peut être regardé arriver en temps réel. Rien n'en est conservé : il est diffusé sans liste d'abonnés à mémoriser, et rouvrir la console démarre un flux vide plutôt que de rejouer quoi que ce soit. Chaque évènement y porte un horodatage, la méthode, le chemin appelé, le statut de la réponse, la latence, et les quatre derniers caractères de la clé qui a fait l'appel. Le chemin est celui qui a été demandé, chaîne de requête comprise : une recherche sur une entreprise apparaît donc dans le flux comme cette entreprise, et une recherche apparaît comme le terme cherché. Une seule chose en est retirée : une clé d'API envoyée en paramètre de requête, remplacée avant que l'évènement ne soit diffusé. Le flux est lisible par tous les membres de l'organisation dont la clé a fait l'appel, et par personne d'autre.

La clé de démonstration publique

Le champ de recherche de ce site et les panneaux « essayer » de la documentation partagent une seule clé d'API, plafonnée à 100 appels par jour pour chaque adresse appelante. Ce plafond est suivi par un compteur associé à l'organisation de la clé de démonstration et à votre adresse appelante ensemble, pas à l'adresse seule ; le compteur porte l'adresse elle-même, non hachée, et expire à la fin de la journée (UTC) où il a été créé. C'est le seul usage qu'une adresse reçoit sur cette voie. Une clé à vous, une fois créée, ne partage rien avec le trafic de personne d'autre.

Cette clé appartenant à une organisation, une recherche faite ici ou dans la documentation parvient au flux en direct de cette organisation — celui décrit plus haut — sous la forme du terme saisi, tant que quelqu'un garde ce flux ouvert. Votre adresse appelante ne fait pas partie de l'évènement, et rien n'en est conservé : il est diffusé puis disparaît.

Journaux

Chaque requête est journalisée — la journalisation standard de Rails, marquée d'un identifiant de requête, écrite sur la sortie standard. La ligne porte la méthode HTTP, le chemin, et l'adresse IP appelante. Deux choses en sont retirées avant l'écriture : une clé d'API, qu'elle arrive en en-tête ou dans la chaîne de requête, et le terme de recherche envoyé à l'endpoint d'autocomplétion. Ni l'un ni l'autre n'atteint le journal sous une forme lisible.

Rien ne configure de durée de conservation pour ces journaux nulle part dans le dépôt : traitez-les comme des enregistrements opérationnels transitoires plutôt que comme une archive à la durée de vie connue.

Paiement

Stripe est le prestataire de paiement, et le seul endroit où un nom, une adresse de facturation ou un numéro de TVA collecté au paiement est conservé — Stripe Checkout et le portail client Stripe les collectent directement, et ce côté-ci n'en garde rien. Ce qui est conservé localement, c'est un identifiant pour le client et l'abonnement Stripe, le palier, et la date de fin de la période de facturation en cours. Un client Stripe n'est créé que lorsqu'il en faut un — la première visite à Checkout ou au portail client — donc une organisation qui n'a fait ni l'une ni l'autre n'a aucun client Stripe.

Ce site

firmus.sh ne pose aucun cookie qui lui soit propre, et rien dessus ne suit un visiteur d'une session à l'autre ou d'une visite à l'autre. Il n'écrit rien du tout dans le stockage du navigateur — ni cookie, ni entrée localStorage, pas même une préférence d'affichage, qu'il conservait auparavant et ne conserve plus. Fermez l'onglet et le site n'a rien laissé derrière lui. Cette absence est aussi pourquoi il n'y a pas de bannière de consentement aux cookies sur ce site : le consentement n'a de sens que pour quelque chose qui en a besoin, et rien ici n'en a besoin.

Les données d'entreprises elles-mêmes

Chaque enregistrement que ce site ou l'API renvoie provient d'un registre national d'entreprises, publié en données ouvertes — pour la France, le Sirene de l'INSEE, distribué via data.gouv.fr sous Licence Ouverte 2.0, dont la seule obligation est la paternité. La source, la couverture et la fraîcheur d'un enregistrement sont documentées en détail sur Sources & couverture (en anglais).

Un enregistrement publié sous forme réduite — pas de nom, pas d'adresse, partially_disclosed à true — n'est ni une erreur ni une suppression de ce côté-ci ; c'est la diffusion partielle propre au registre, et son fonctionnement ainsi que ce qu'elle vous apprend malgré tout sont documentés à part sur Masked records (en anglais). Une correction sur ce que dit un enregistrement revient au registre qui le publie, pas ici — à l'INSEE, pas à Firmus.

Vos droits, et à qui les adresser

Sur vos propres données de compte, le droit français et européen vous donne le droit d'y accéder, de les corriger, de les faire effacer et d'en emporter une copie ailleurs. Firmus n'est pas encore immatriculée (voir la bannière ci-dessus et les mentions légales), ce qui signifie que l'entité qui recevrait ce type de demande n'existe pas encore non plus — cette page portera une adresse à qui écrire le jour où elle existera. En attendant, la CNIL, l'autorité française de protection des données (cnil.fr), peut être contactée directement au sujet de tout ce qui figure sur cette page.