La sécurité en bref

Qui a validé, à quel taux, quel jour : conservé, que quelqu'un le demande ou non.

Validations, statuts de paiement, taux de change et changements de rôle sont enregistrés par le serveur au moment où ils ont lieu, pas reconstitués depuis un groupe de discussion six semaines plus tard.

Journal d'audit
Winter Beats
  • Dépense validée · €980,00
    A. Silva · il y a 2 min · au-delà du seuil
  • Rôle d'un membre modifié · M. Lopes → Comptabilité
    A. Silva · il y a 14 min
  • Dépense soumise · $500 → €462,18 @ 0,9244
    J. Costa · il y a 1 h
  • Ligne de budget modifiée · Production +€2 000
    A. Silva · hier
Pilier 01 // Piste d'audit

Piste d'audit par défaut

Chaque modification financière porte le nom de son auteur et le moment où elle a eu lieu. Créer l'événement, valider une dépense, déplacer une ligne de budget : tout arrive dans l'historique propre à l'événement.


  • Auteur et horodatage sur chaque modification
  • Écrit par l'API, pas par le client
Pilier 02 // Accès

Accès par rôle

Un régisseur qui dépose des justificatifs et une comptable qui marque des factures payées n'ont pas besoin des mêmes droits. Quatre rôles, et chaque point d'accès vérifie celui de l'appelant avant d'agir.


  • Quatre rôles, vérifiés côté serveur
  • Claim d'organisation dans le jeton
Pilier 03 // Historique

Taux de change historiques conservés

Un fournisseur facturé en dollars conserve le montant en dollars et le taux du jour de la saisie. Un rapport sorti des mois plus tard montre ce que le spectacle a coûté, pas ce qu'il coûterait au taux du jour.


  • Taux de change enregistré à la saisie
  • Traitement de TVA figé par ligne
Pilier 04 // Clarté

Clarté opérationnelle

Budget, dépenses, recettes et validations reposent sur les mêmes enregistrements : la marge que vous lisez dans un rapport vient de lignes sur lesquelles vous pouvez cliquer.


  • Budget, dépenses et recettes ensemble
  • Exports depuis les mêmes enregistrements
Comment une requête est contrôlée

Quatre barrières pour chaque écriture.

Ce sont les couches qu'une requête traverse avant de pouvoir modifier un chiffre. Elles sont identiques dans chaque environnement.

Barrière 01Firebase Auth

Session authentifiée

Firebase Auth établit qui fait la demande. La connexion accepte l'e-mail et le SSO Google.


  • E-mail et SSO Google
  • Session établie avant tout le reste
Barrière 02Émis par le serveur

Claim d'organisation dans le jeton

Un claim orgId émis côté serveur limite chaque lecture aux données de cette organisation. Tous les enregistrements sont sous /orgs/{orgId}.


  • Claim orgId dans le jeton
  • Tous les enregistrements sous /orgs/{orgId}
Barrière 03Par point d'accès

Vérification des droits côté serveur

Chaque point d'accès vérifie le rôle de l'appelant avant d'agir. Masquer un bouton n'est pas un contrôle ; la vérification sur le serveur, si.


  • requireRole() avant d'agir
  • Un bouton masqué n'est pas un contrôle
Barrière 04Imposé par les règles

Les écritures passent par l'API

Les règles de sécurité refusent les écritures du client : les instantanés de TVA et de taux de change ne peuvent pas être falsifiés depuis le navigateur.


  • Écritures du client refusées
  • Instantanés infalsifiables
Un exemple concret

Quatre lignes tirées de l'historique d'un événement.

Chaque ligne ici est écrite par le serveur. Le client ne peut créer ni entrée d'audit ni instantané de taux.

Ce que l'enregistrement conserve
Winter Beats · registre de l'événement
  • Dépense validée · €980,00
    A. Silva · au-delà du seuil · enregistré avec auteur et horodatage
  • Taux de TVA figé · TVA 23 % enregistrée sur la ligne
    Renommer le taux du catalogue plus tard ne changera pas cette ligne
  • Taux de change enregistré à la saisie · $500 → €462,18 @ 0,9244
    Stocké sur l'enregistrement, jamais recalculé au moment du rapport
  • Rôle modifié · M. Lopes → Comptabilité
    Claim réémis côté serveur ; effectif au prochain rafraîchissement du jeton
Due diligence

Ce que nous pouvons mettre par écrit.

La version honnête d'une page sécurité : ce qui est en place aujourd'hui, et où vous pouvez le vérifier vous-même. Quand quelque chose n'est pas en place, nous le disons clairement.

DomaineOù nous en sommesComment vérifier
Hébergement des donnéesFirebase (Google Cloud), europe-west1, Belgique. Exclusivement dans l'UE par défaut.Indiqué dans notre politique de confidentialité, avec la liste des sous-traitants.
RGPDLes demandes d'accès, de rectification, d'effacement et de portabilité sont prises en charge.Politique de confidentialité ; écrivez-nous pour exercer un droit.
Données de carteCashbox ne stocke jamais de données de carte. Stripe traite les données de paiement dans son propre environnement conforme PCI.Stripe figure dans la liste des sous-traitants.
Isolation des organisationsCloisonnement par organisation imposé par les règles de sécurité Firestore sur un claim émis par le serveur.Les règles sont couvertes par une suite de tests automatisés dans le dépôt.
Piste d'auditLes modifications financières sont enregistrées avec auteur et horodatage, écrites côté serveur.Visible dans le produit, dans l'historique de chaque événement.
Accord de traitement des donnéesDisponible sur demande ; accord sur mesure avec l'offre Enterprise.Contactez-nous et nous vous enverrons l'accord en vigueur.
Certification formelleCashbox n'est actuellement certifié ni SOC 2 ni ISO 27001. Nous ne prétendrons pas le contraire.Interrogez-nous directement sur nos projets et le calendrier.
Bonnes pratiques

Comment les équipes événementielles le configurent.

Accès et droits

Seuls les propriétaires accèdent à la facturation. Propriétaires et direction peuvent inviter. Donnez au reste de l'équipe de production le rôle de responsable d'événement, et à votre comptable le rôle comptabilité.

Contrôle des validations

Fixez le seuil au montant que vous voulez voir avant qu'il soit dépensé. Tout ce qui est inférieur ou égal est validé à la soumission ; au-delà, la dépense attend un valideur.

Justificatifs rattachés aux enregistrements

Joignez la facture à la dépense au moment de la saisir. Elle reste sur l'enregistrement, derrière le même contrôle d'organisation que le reste : la clôture n'est pas une fouille dans les boîtes mail.

Contrôle à la clôture

Exportez depuis les mêmes enregistrements que ceux passés par les validations. Votre comptable reçoit les chiffres de l'événement avec l'historique derrière, pas un tableur ressaisi à la main.

Besoin de l'accord de traitement des données, ou d'un examen plus poussé ?

Demandez-nous l'accord de traitement des données en vigueur, la liste des sous-traitants, ou une présentation de la configuration des rôles et des validations.