223 lines
9.1 KiB
TypeScript
223 lines
9.1 KiB
TypeScript
import Head from 'next/head'
|
|
import Link from 'next/link'
|
|
import { PageHeader } from '@/components/PageHeader'
|
|
|
|
function PrivacySection({ title, children }: { title: string; children: React.ReactNode }) {
|
|
return (
|
|
<section>
|
|
<h2 className="text-2xl font-semibold text-cyber-accent mb-3">{title}</h2>
|
|
{children}
|
|
</section>
|
|
)
|
|
}
|
|
|
|
function IntroductionSection() {
|
|
return (
|
|
<PrivacySection title="1. Introduction">
|
|
<p className="text-cyber-accent">
|
|
La présente politique de confidentialité décrit la manière dont zapwall.fr collecte, utilise et protège
|
|
les données personnelles des utilisateurs, conformément au Règlement Général sur la Protection des Données (RGPD).
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function CollectedDataSection() {
|
|
return (
|
|
<PrivacySection title="2. Données collectées">
|
|
<p className="text-cyber-accent mb-2">
|
|
La plateforme zapwall.fr, basée sur le protocole décentralisé Nostr, collecte minimalement :
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Les clés publiques Nostr (npub) - identifiants pseudonymes</li>
|
|
<li>Les contenus publiés par les utilisateurs (présentations d'auteurs)</li>
|
|
<li>Les données de profil Nostr (nom, photo, description) si fournies par l'utilisateur</li>
|
|
<li>Les données de transaction via le protocole Lightning Network (montants, hash de transaction)</li>
|
|
</ul>
|
|
<p className="text-cyber-accent mt-2 mb-2">
|
|
Aucune donnée d'identification personnelle (nom réel, adresse, email) n'est collectée, sauf si l'utilisateur
|
|
choisit de les inclure dans son profil Nostr.
|
|
</p>
|
|
<p className="text-cyber-accent mt-2 mb-2">
|
|
<strong className="text-neon-cyan">Fonctionnement technique :</strong>
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Les articles avant validation du paiement sont des notes privées entre l'auteur et le compte de la plateforme, opérées par Nostr</li>
|
|
<li>Les paiements sont opérés et visibles comme les zaps sur le réseau Nostr</li>
|
|
<li>Les rewards (récompenses) sont opérés et récupérés sur Bitcoin</li>
|
|
<li>Les avis sont des notes récupérées de Nostr</li>
|
|
</ul>
|
|
<p className="text-cyber-accent mt-2">
|
|
La plateforme suit les transactions car elle est systématiquement partie prenante, mais n'a pas besoin de sauvegarder toutes les informations.
|
|
Les npub (clés publiques Nostr) sont sauvegardées avec les transactions pour la traçabilité.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function ProcessingPurposeSection() {
|
|
return (
|
|
<PrivacySection title="3. Finalité du traitement">
|
|
<p className="text-cyber-accent mb-2">Les données sont utilisées pour :</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Permettre la publication et la consultation d'articles</li>
|
|
<li>Faciliter les transactions via le protocole Lightning Network</li>
|
|
<li>Gérer les profils utilisateurs et les présentations d'auteurs</li>
|
|
<li>Assurer le fonctionnement technique de la plateforme</li>
|
|
</ul>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function LegalBasisSection() {
|
|
return (
|
|
<PrivacySection title="4. Base légale du traitement">
|
|
<p className="text-cyber-accent">
|
|
Le traitement des données est basé sur l'exécution du contrat de service (utilisation de la plateforme) et
|
|
le consentement de l'utilisateur pour les données de profil.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function DataRetentionSection() {
|
|
return (
|
|
<PrivacySection title="5. Conservation des données">
|
|
<p className="text-cyber-accent mb-2">
|
|
Les données sont stockées de manière décentralisée via le protocole Nostr. Les contenus publiés restent
|
|
accessibles tant que l'utilisateur ne les supprime pas.
|
|
</p>
|
|
<p className="text-cyber-accent">
|
|
Les npub (clés publiques Nostr) sont sauvegardées avec les transactions pour la traçabilité.
|
|
Les autres données de transaction ne sont pas systématiquement sauvegardées par la plateforme,
|
|
car elles sont déjà disponibles sur le réseau décentralisé Nostr et Lightning Network.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function DataSharingSection() {
|
|
return (
|
|
<PrivacySection title="6. Partage des données">
|
|
<p className="text-cyber-accent">
|
|
Les données sont partagées via le réseau décentralisé Nostr. Les contenus publics sont accessibles à tous
|
|
les utilisateurs du réseau. Les transactions sont effectuées via le protocole Lightning Network, sans
|
|
intervention de la plateforme.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function DataSecuritySection() {
|
|
return (
|
|
<PrivacySection title="7. Sécurité des données">
|
|
<p className="text-cyber-accent mb-2">
|
|
La sécurité des données repose sur :
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Le protocole cryptographique Nostr (signatures cryptographiques)</li>
|
|
<li>La décentralisation (pas de serveur central unique)</li>
|
|
<li>La responsabilité de l'utilisateur concernant la protection de ses clés privées</li>
|
|
</ul>
|
|
<p className="text-cyber-accent mt-2">
|
|
L'utilisateur est seul responsable de la sécurité de ses clés privées Nostr.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function UserRightsSection() {
|
|
return (
|
|
<PrivacySection title="8. Droits des utilisateurs">
|
|
<p className="text-cyber-accent mb-2">
|
|
Conformément au RGPD, les utilisateurs disposent des droits suivants :
|
|
</p>
|
|
<ul className="list-disc list-inside text-cyber-accent space-y-1 ml-4">
|
|
<li>Droit d'accès aux données les concernant</li>
|
|
<li>Droit de rectification</li>
|
|
<li>Droit à l'effacement (suppression des contenus publiés)</li>
|
|
<li>Droit à la portabilité des données</li>
|
|
<li>Droit d'opposition au traitement</li>
|
|
</ul>
|
|
<p className="text-cyber-accent mt-2">
|
|
Pour exercer ces droits, l'utilisateur peut supprimer ses contenus directement sur la plateforme ou
|
|
contacter l'équipe via le protocole Nostr.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function CookiesSection() {
|
|
return (
|
|
<PrivacySection title="9. Cookies">
|
|
<p className="text-cyber-accent">
|
|
Le site utilise uniquement des cookies techniques nécessaires au fonctionnement de la plateforme.
|
|
Aucun cookie de suivi ou de publicité n'est utilisé.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function ModificationsSection() {
|
|
return (
|
|
<PrivacySection title="10. Modifications">
|
|
<p className="text-cyber-accent">
|
|
La présente politique de confidentialité peut être modifiée à tout moment. Les utilisateurs seront
|
|
informés des modifications importantes.
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
function ContactSection() {
|
|
return (
|
|
<PrivacySection title="11. Contact">
|
|
<p className="text-cyber-accent mb-2">
|
|
Pour toute question concernant la protection des données, les utilisateurs peuvent contacter l'équipe
|
|
via le protocole Nostr.
|
|
</p>
|
|
<p className="text-cyber-accent">
|
|
<strong className="text-neon-cyan">Identité de la plateforme :</strong><br />
|
|
npub : <code className="text-cyber-accent/80 font-mono text-sm">npub18s03s39fa80ce2n3cmm0zme3jqehc82h6ld9sxq03uejqm3d05gsae0fuu</code><br />
|
|
Adresse Bitcoin : <code className="text-cyber-accent/80 font-mono text-sm">bc1qerauk5yhqytl6z93ckvwkylup8s0256uenzg9y</code>
|
|
</p>
|
|
</PrivacySection>
|
|
)
|
|
}
|
|
|
|
export default function PrivacyPage() {
|
|
return (
|
|
<>
|
|
<Head>
|
|
<title>Politique de confidentialité - zapwall.fr</title>
|
|
<meta name="description" content="Politique de confidentialité de zapwall.fr" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
</Head>
|
|
<main className="min-h-screen bg-cyber-darker">
|
|
<PageHeader />
|
|
<div className="max-w-4xl mx-auto px-4 py-8">
|
|
<div className="bg-cyber-dark border border-neon-cyan/30 rounded-lg shadow-glow-cyan p-8 space-y-6">
|
|
<h1 className="text-3xl font-bold text-neon-cyan mb-6">Politique de confidentialité</h1>
|
|
<IntroductionSection />
|
|
<CollectedDataSection />
|
|
<ProcessingPurposeSection />
|
|
<LegalBasisSection />
|
|
<DataRetentionSection />
|
|
<DataSharingSection />
|
|
<DataSecuritySection />
|
|
<UserRightsSection />
|
|
<CookiesSection />
|
|
<ModificationsSection />
|
|
<ContactSection />
|
|
<div className="mt-8 pt-6 border-t border-neon-cyan/30">
|
|
<Link href="/" className="text-neon-cyan hover:text-neon-green underline">
|
|
← Retour à l'accueil
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</>
|
|
)
|
|
}
|