export const metadata = {
  title: 'Politique de confidentialité — NoteToQuote',
  description: 'Comment NoteToQuote collecte, utilise et protège vos données personnelles (RGPD).',
};

export default function Confidentialite() {
  return (
    <div style={{ maxWidth: 680, margin: '0 auto', padding: '48px 24px 80px' }}>
      <h1 style={{ fontSize: 28, fontWeight: 700, color: '#0f0f0f', marginBottom: 8 }}>Politique de confidentialité</h1>
      <p style={{ color: '#6b7280', fontSize: 13, marginBottom: 40 }}>
        Conformément au Règlement Général sur la Protection des Données (RGPD — UE 2016/679)
      </p>

      <Section title="1. Responsable du traitement">
        <p style={body}>
          <strong>Mathieu Lautram (ML Solutions)</strong>, Entrepreneur individuel,
          SIRET <strong>753 560 705 00026</strong>,
          dont le siège est au 4 Allée des Cornouillers, 95670 Marly-la-Ville.
          Contact DPO : contact@notetoquote.com
        </p>
      </Section>

      <Section title="2. Données collectées">
        <table style={tableStyle}>
          <thead>
            <tr>
              <Th>Donnée</Th>
              <Th>Finalité</Th>
              <Th>Base légale</Th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <Td>Adresse email</Td>
              <Td>Création de compte, envoi de la clé de licence, communications transactionnelles</Td>
              <Td>Exécution du contrat</Td>
            </tr>
            <tr>
              <Td>Clé de licence (hachée SHA-256)</Td>
              <Td>Authentification, contrôle quota</Td>
              <Td>Exécution du contrat</Td>
            </tr>
            <tr>
              <Td>Domaine Dolibarr</Td>
              <Td>Liaison de la licence à un Dolibarr unique (sécurité)</Td>
              <Td>Intérêt légitime</Td>
            </tr>
            <tr>
              <Td>Notes de chantier (texte libre)</Td>
              <Td>Génération du devis via IA — traitées en mémoire, non persistées</Td>
              <Td>Exécution du contrat</Td>
            </tr>
            <tr>
              <Td>Données de paiement</Td>
              <Td>Facturation — collectées et stockées exclusivement par Stripe</Td>
              <Td>Exécution du contrat</Td>
            </tr>
            <tr>
              <Td>Adresse IP</Td>
              <Td>Prévention de la fraude, rate limiting</Td>
              <Td>Intérêt légitime</Td>
            </tr>
            <tr>
              <Td>Compteur d'utilisation (quota)</Td>
              <Td>Gestion du quota mensuel par plan</Td>
              <Td>Exécution du contrat</Td>
            </tr>
          </tbody>
        </table>
      </Section>

      <Section title="3. Durée de conservation">
        <p style={body}>
          Les données de compte sont conservées pendant la durée de l'abonnement, puis 3 ans
          à compter de la résiliation pour répondre aux obligations légales (facturation).
          Les notes de chantier ne sont pas stockées — elles transitent uniquement en mémoire
          lors de la génération.
        </p>
      </Section>

      <Section title="4. Sous-traitants">
        <table style={tableStyle}>
          <thead>
            <tr>
              <Th>Sous-traitant</Th>
              <Th>Rôle</Th>
              <Th>Localisation</Th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <Td>Supabase Inc.</Td>
              <Td>Base de données (licences, quotas)</Td>
              <Td>AWS eu-west-3 (Paris)</Td>
            </tr>
            <tr>
              <Td>Stripe Inc.</Td>
              <Td>Paiement et facturation</Td>
              <Td>UE / États-Unis (DPA signé)</Td>
            </tr>
            <tr>
              <Td>Anthropic PBC</Td>
              <Td>Modèle IA pour la génération de devis</Td>
              <Td>États-Unis (accord de traitement des données)</Td>
            </tr>
            <tr>
              <Td>Resend Inc.</Td>
              <Td>Envoi d'emails transactionnels</Td>
              <Td>États-Unis</Td>
            </tr>
            <tr>
              <Td>OVH SAS</Td>
              <Td>Hébergement serveur</Td>
              <Td>France</Td>
            </tr>
          </tbody>
        </table>
      </Section>

      <Section title="5. Vos droits (RGPD)">
        <p style={body}>
          Vous disposez des droits suivants sur vos données personnelles :
        </p>
        <ul style={{ ...body, paddingLeft: 20, marginTop: 12 }}>
          <li style={{ marginBottom: 6 }}><strong>Accès</strong> — obtenir une copie des données vous concernant</li>
          <li style={{ marginBottom: 6 }}><strong>Rectification</strong> — corriger des données inexactes</li>
          <li style={{ marginBottom: 6 }}><strong>Effacement</strong> — demander la suppression de vos données (sous réserve des obligations légales)</li>
          <li style={{ marginBottom: 6 }}><strong>Opposition</strong> — vous opposer à certains traitements</li>
          <li style={{ marginBottom: 6 }}><strong>Portabilité</strong> — recevoir vos données dans un format structuré</li>
          <li><strong>Limitation</strong> — demander la suspension d'un traitement</li>
        </ul>
        <p style={{ ...body, marginTop: 12 }}>
          Pour exercer ces droits, contactez-nous à contact@notetoquote.com. Nous répondons
          sous 30 jours. Vous pouvez également introduire une réclamation auprès de la{' '}
          <a href="https://www.cnil.fr" style={{ color: '#7c3aed' }}>CNIL</a>.
        </p>
      </Section>

      <Section title="6. Cookies">
        <p style={body}>
          Ce site n'utilise pas de cookies tiers à des fins publicitaires ou de tracking.
          Un cookie de session peut être utilisé uniquement pour le fonctionnement technique
          du site.
        </p>
      </Section>

      <Section title="7. Sécurité">
        <p style={body}>
          Les clés de licence sont stockées sous forme hachée (SHA-256) — il est impossible
          de retrouver une clé à partir de son hash. Les communications sont chiffrées via
          HTTPS/TLS. Les accès à la base de données sont restreints via des clés d'API à
          portée limitée.
        </p>
      </Section>

      <div style={{ marginTop: 48, paddingTop: 24, borderTop: '1px solid #f0eef8' }}>
        <p style={{ fontSize: 12, color: '#9ca3af' }}>Dernière mise à jour : mai 2026</p>
      </div>
    </div>
  );
}

const body: React.CSSProperties = {
  color: '#374151',
  fontSize: 14,
  lineHeight: 1.7,
  margin: 0,
};

const tableStyle: React.CSSProperties = {
  width: '100%',
  borderCollapse: 'collapse',
  fontSize: 13,
  marginTop: 12,
};

function Th({ children }: { children: React.ReactNode }) {
  return (
    <th style={{ textAlign: 'left', padding: '8px 12px', background: '#f9fafb', borderBottom: '1px solid #e5e7eb', color: '#374151', fontWeight: 600 }}>
      {children}
    </th>
  );
}

function Td({ children }: { children: React.ReactNode }) {
  return (
    <td style={{ padding: '8px 12px', borderBottom: '1px solid #f3f4f6', color: '#374151', verticalAlign: 'top' }}>
      {children}
    </td>
  );
}

function Section({ title, children }: { title: string; children: React.ReactNode }) {
  return (
    <div style={{ marginBottom: 36 }}>
      <h2 style={{ fontSize: 15, fontWeight: 600, color: '#0f0f0f', marginBottom: 12, paddingBottom: 8, borderBottom: '1px solid #f0eef8' }}>
        {title}
      </h2>
      {children}
    </div>
  );
}
