CognxSafeTrack commited on
Commit
fb2b5c3
·
1 Parent(s): 8f86281

feat: add /privacy route for Meta app publication requirement

Browse files
Files changed (1) hide show
  1. apps/api/src/index.ts +81 -0
apps/api/src/index.ts CHANGED
@@ -78,6 +78,87 @@ server.get('/health', async () => {
78
  return { status: 'ok', timestamp: new Date().toISOString() };
79
  });
80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  // ── Start Server ───────────────────────────────────────────────────────────────
82
  const start = async () => {
83
  try {
 
78
  return { status: 'ok', timestamp: new Date().toISOString() };
79
  });
80
 
81
+ // ── Privacy Policy (required by Meta for app publication) ──────────────────────
82
+ server.get('/privacy', async (_req, reply) => {
83
+ const html = `<!DOCTYPE html>
84
+ <html lang="fr">
85
+ <head>
86
+ <meta charset="UTF-8" />
87
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
88
+ <title>Politique de Confidentialité — SafeTrack.edu</title>
89
+ <style>
90
+ body { font-family: system-ui, sans-serif; max-width: 760px; margin: 40px auto; padding: 0 20px; color: #1e293b; line-height: 1.7; }
91
+ h1 { font-size: 2rem; margin-bottom: 4px; }
92
+ h2 { font-size: 1.2rem; margin-top: 2rem; color: #0f172a; }
93
+ p, li { color: #334155; }
94
+ a { color: #059669; }
95
+ .updated { color: #94a3b8; font-size: 0.9rem; }
96
+ </style>
97
+ </head>
98
+ <body>
99
+ <h1>Politique de Confidentialité</h1>
100
+ <p class="updated">Dernière mise à jour : 21 février 2026</p>
101
+
102
+ <h2>1. Qui sommes-nous ?</h2>
103
+ <p>SafeTrack.edu est une plateforme d'éducation entrepreneuriale accessible via WhatsApp, opérée par SafeTrack. Contact : <a href="mailto:contact@sedaptech.com">contact@sedaptech.com</a></p>
104
+
105
+ <h2>2. Données collectées</h2>
106
+ <p>Lors de votre inscription et utilisation du service, nous collectons :</p>
107
+ <ul>
108
+ <li>Votre numéro de téléphone WhatsApp</li>
109
+ <li>La langue choisie (Français ou Wolof)</li>
110
+ <li>Votre secteur d'activité / projet professionnel (fourni volontairement)</li>
111
+ <li>Vos réponses aux exercices et contenus pédagogiques</li>
112
+ <li>Les métadonnées de vos messages (horodatage, type de message)</li>
113
+ </ul>
114
+
115
+ <h2>3. Utilisation des données</h2>
116
+ <p>Vos données sont utilisées pour :</p>
117
+ <ul>
118
+ <li>Vous envoyer des leçons quotidiennes personnalisées via WhatsApp</li>
119
+ <li>Personnaliser le contenu pédagogique à votre secteur d'activité</li>
120
+ <li>Générer des documents AI (One-Pager PDF, Pitch Deck) basés sur votre parcours</li>
121
+ <li>Améliorer la qualité de nos formations</li>
122
+ <li>Traiter vos paiements pour les formations premium</li>
123
+ </ul>
124
+
125
+ <h2>4. Partage des données</h2>
126
+ <p>Nous ne vendons jamais vos données. Elles peuvent être partagées uniquement avec :</p>
127
+ <ul>
128
+ <li><strong>Meta / WhatsApp</strong> — pour l'acheminement des messages</li>
129
+ <li><strong>OpenAI</strong> — pour la génération et personnalisation du contenu pédagogique</li>
130
+ <li><strong>Stripe</strong> — pour le traitement sécurisé des paiements</li>
131
+ <li><strong>Cloudflare</strong> — pour le stockage des documents générés</li>
132
+ </ul>
133
+
134
+ <h2>5. Conservation des données</h2>
135
+ <p>Vos données sont conservées pendant toute la durée de votre inscription active. Vous pouvez demander la suppression de vos données à tout moment en envoyant un e-mail à <a href="mailto:contact@sedaptech.com">contact@sedaptech.com</a>.</p>
136
+
137
+ <h2>6. Vos droits</h2>
138
+ <p>Conformément au RGPD et aux lois applicables, vous disposez du droit de :</p>
139
+ <ul>
140
+ <li>Accéder à vos données personnelles</li>
141
+ <li>Corriger les données inexactes</li>
142
+ <li>Demander la suppression de vos données</li>
143
+ <li>Vous opposer au traitement de vos données</li>
144
+ </ul>
145
+ <p>Pour exercer ces droits, contactez-nous à : <a href="mailto:contact@sedaptech.com">contact@sedaptech.com</a></p>
146
+
147
+ <h2>7. Sécurité</h2>
148
+ <p>Vos données sont protégées par chiffrement (TLS en transit, AES au repos). L'accès aux données est strictement limité aux systèmes nécessaires au fonctionnement du service.</p>
149
+
150
+ <h2>8. Modifications</h2>
151
+ <p>Cette politique peut être mise à jour. En cas de modification majeure, vous serez informé via WhatsApp.</p>
152
+
153
+ <h2>9. Contact</h2>
154
+ <p>Pour toute question relative à cette politique : <a href="mailto:contact@sedaptech.com">contact@sedaptech.com</a></p>
155
+ </body>
156
+ </html>`;
157
+ return reply.code(200).type('text/html').send(html);
158
+ });
159
+
160
+
161
+
162
  // ── Start Server ───────────────────────────────────────────────────────────────
163
  const start = async () => {
164
  try {