Chiffrer les champs sensibles de la base de données
Si on héberge Ardoise sur un PaaS, on sera content de ne pas leaker toutes nos données de paie.
Une solution serait de chiffrer entièrement la base de données. Le problème est qu'on ne peut pas faire d'opérations relationnelles (indexation, jointures, etc) sur des champs chiffrés.
Une meilleure approche semble être de chiffrer uniquement les champs sensibles. À vue de nez, j'imagine que ça voudrait dire de chiffrer :
- Le nom / prénom des associés
- Le montant de chaque CA mensuel
- Les données chiffrées de la paie d'un mois
On ne pourra pas faire de jointures (ou de tri) en SQL sur ces champs, faudra passer par l'applicatif – mais je pense qu'on peut faire aller. Et y'aura toujours des métadonnées accessibles (nombre de paies enregistrées, nombre de membres), mais ça restreindra quand même bien l'information.
Si on part là dessus, je pense utiliser la gem attr_encrypted, qui a l'air de faire ce boulot assez bien.
Vous en pensez quoi ?