Alertes & signalement confidentiel
frontend/src/views/public/Alerte.vue + backend/src/controllers/alerte.controller.js.
Vérifié le 2026-08-12.
Ce que c'est
Canal de signalement confidentiel générique — "signaler une fraude ou poser une question urgente", pas uniquement de la fraude. Le formulaire n'exige aucune identification réelle : le frontend envoie systématiquement first_name: 'Anonyme', last_name: ' ', email: 'anonyme@utb.tg', même si le backend accepterait des champs d'identité arbitraires.
GET /api/alertes et GET /api/alertes/:id n'ont aucun middleware verifyToken, contrairement à PUT/PATCH/DELETE qui en ont un. N'importe qui peut donc lister l'intégralité des signalements confidentiels (email, nom, sujet, message complet) sans être connecté. Une protection Turnstile existe sur une branche distante non fusionnée à ce jour, mais elle ne couvre que la création (POST), pas la lecture. Voir Bugs & failles actives connues.
Workflow
Soumission publique (POST /, sans authentification, cohérent avec l'usage anonyme) → apparition côté backoffice → changement de statut (PATCH /:id/statut) et suppression (DELETE /:id) réservés aux utilisateurs authentifiés.