feat(cron): purge de retention audit_log + throttle (mlt 13.4/13.5) #25
No reviewers
Labels
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AcadeNice/corentin_wakdo#25
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/cron-retention-purge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding MEDIUM (audit 2026-06-16)
AUDIT_LOG_RETENTION_DAYS,THROTTLE_PURGE_AFTER_HOURS(etORDER_RETENTION_DAYS) etaient documentees dans.env.examplecomme "purges executees par le service cron" mais : aucun script, aucun job cron actif, vars non injectees au conteneurwakdo-cron. Faux-semblant de conformite RGPD.Correctif
purge-audit-log.sh:DELETE FROM audit_logau-dela deAUDIT_LOG_RETENTION_DAYS(defaut 365). Unique exception documentee a l'append-only deaudit_log(RG-T14) : purge de retention planifiee.purge-throttle.sh:DELETEsurlogin_throttle+pin_throttledes lignes sans verrou actif plus vieilles queTHROTTLE_PURGE_AFTER_HOURS(defaut 24), predicat exact demlt.md 13.5.crontab: jobs actives (15 4 audit, 45 4 throttle).docker-compose.yml: injection des 2 vars (avec defaut${VAR:-...}) au conteneur cron + commentaire aligne sur le user en moindre privilege.Hors scope (assume)
La purge de
customer_order(ORDER_RETENTION_DAYS) reste differee : le domaine commande n'existe pas encore, et le RGPD sur les commandes implique une anonymisation (pas un simple DELETE) a definir avec le domaine.Verification
login_throttle: ligne stale sans verrou purgee, ligne a verrou actif conservee (1 purgee).Le conteneur
wakdo-crondoit etre reconstruit pour embarquer les scripts (docker compose build wakdo-cron). Pas de label auto-merge.