Add public privacy policy page at /privacy for Play Console.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
227dee4a53
commit
24e56b2343
2 changed files with 233 additions and 0 deletions
|
|
@ -1483,3 +1483,57 @@ tr.row-selected {
|
||||||
padding: 1rem 1rem calc(1rem + var(--safe-bottom));
|
padding: 1rem 1rem calc(1rem + var(--safe-bottom));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* —— Public legal pages (privacy, etc.) —— */
|
||||||
|
.legal-page {
|
||||||
|
min-height: 100dvh;
|
||||||
|
padding: 2rem 1rem 3rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.legal-card {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 44rem;
|
||||||
|
background: rgba(12, 16, 24, 0.92);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
border-radius: 16px;
|
||||||
|
padding: 1.75rem 1.5rem 2rem;
|
||||||
|
}
|
||||||
|
.legal-card h1 {
|
||||||
|
margin: 0.25rem 0 0.5rem;
|
||||||
|
font-size: 1.75rem;
|
||||||
|
letter-spacing: -0.02em;
|
||||||
|
}
|
||||||
|
.legal-card h2 {
|
||||||
|
margin: 1.75rem 0 0.6rem;
|
||||||
|
font-size: 1.05rem;
|
||||||
|
color: #e4e4e7;
|
||||||
|
}
|
||||||
|
.legal-card p,
|
||||||
|
.legal-card li {
|
||||||
|
color: #a1a1aa;
|
||||||
|
line-height: 1.65;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
}
|
||||||
|
.legal-card ul {
|
||||||
|
margin: 0.5rem 0 0.75rem;
|
||||||
|
padding-left: 1.25rem;
|
||||||
|
}
|
||||||
|
.legal-card a {
|
||||||
|
color: #93c5fd;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-underline-offset: 2px;
|
||||||
|
}
|
||||||
|
.legal-meta {
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
}
|
||||||
|
.legal-footer {
|
||||||
|
margin-top: 2rem;
|
||||||
|
padding-top: 1rem;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.06);
|
||||||
|
}
|
||||||
|
@media (min-width: 720px) {
|
||||||
|
.legal-card {
|
||||||
|
padding: 2.25rem 2.5rem 2.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
179
apps/admin-ui/src/app/privacy/page.tsx
Normal file
179
apps/admin-ui/src/app/privacy/page.tsx
Normal file
|
|
@ -0,0 +1,179 @@
|
||||||
|
import type { Metadata } from "next";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Privacybeleid",
|
||||||
|
description:
|
||||||
|
"Privacybeleid van Vonas Media Cluster — de privé Android TV-app en bijbehorende diensten.",
|
||||||
|
robots: { index: true, follow: true },
|
||||||
|
};
|
||||||
|
|
||||||
|
const UPDATED = "4 september 2026";
|
||||||
|
|
||||||
|
export default function PrivacyPage() {
|
||||||
|
return (
|
||||||
|
<main className="legal-page">
|
||||||
|
<article className="legal-card">
|
||||||
|
<p className="page-kicker">Vonas Media Cluster</p>
|
||||||
|
<h1>Privacybeleid</h1>
|
||||||
|
<p className="muted legal-meta">Laatst bijgewerkt: {UPDATED}</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Dit privacybeleid beschrijft hoe <strong>Vonas Media Cluster</strong> (“wij”, “de
|
||||||
|
dienst”) persoonsgegevens verwerkt bij gebruik van de Android-/Android TV-app en de
|
||||||
|
bijbehorende servers (waaronder accountkoppeling en streaming).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
De dienst is een <strong>privé mediaplatform</strong> voor uitgenodigde gebruikers. De
|
||||||
|
app is niet bedoeld als openbare consumentenapp voor het grote publiek.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>1. Verwerkingsverantwoordelijke</h2>
|
||||||
|
<p>
|
||||||
|
Verwerkingsverantwoordelijke is de exploitant van Vonas Media Cluster. Voor vragen over
|
||||||
|
privacy kun je contact opnemen via:{" "}
|
||||||
|
<a href="mailto:privacy@vonas.nl">privacy@vonas.nl</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>2. Welke gegevens we verwerken</h2>
|
||||||
|
<p>Afhankelijk van je gebruik kunnen we de volgende gegevens verwerken:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<strong>Accountgegevens</strong> — e-mailadres, naam (indien opgegeven), wachtwoord
|
||||||
|
(opgeslagen als veilige hash, niet in leesbare vorm).
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Apparaatgegevens</strong> — apparaatnaam, koppelcode/sessie bij het koppelen
|
||||||
|
van een TV of telefoon, en technische identifiers die nodig zijn om je sessie te
|
||||||
|
beveiligen.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Kijkgedrag / voortgang</strong> — welke titel je speelt, afspeelpositie en
|
||||||
|
“verder kijken”, zodat je op een ander apparaat kunt doorgaan.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Technische logs</strong> — tijdelijke stream-/verbindingsinformatie
|
||||||
|
(bijvoorbeeld dat een sessie actief is, bandbreedte/telemetrie op clusterniveau) voor
|
||||||
|
beheer, stabiliteit en misbruikdetectie.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Google Play-gerelateerd</strong> — als je toegang tot de app via Google Play
|
||||||
|
Closed Testing krijgt, kan het e-mailadres van je Google-account worden gebruikt om je
|
||||||
|
toegang tot de testgroep te beheren. Dat staat los van inloggen in de app zelf.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>IPTV (indien ingeschakeld voor jouw account)</strong> — voorkeuren of
|
||||||
|
toegangsvlaggen die de beheerder voor jou configureert; live-streamverkeer loopt via
|
||||||
|
de geconfigureerde bronnen.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
We vragen <strong>geen</strong> toegang tot je contacten, foto’s, microfoon of locatie
|
||||||
|
voor de kernfunctie van de app (mediabibliotheek en afspelen).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>3. Doeleinden</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Accounts aanmaken, inloggen en apparaten koppelen</li>
|
||||||
|
<li>Mediacatalogus tonen en video/audio streamen naar jouw apparaat</li>
|
||||||
|
<li>Voortgang en “verder kijken” synchroniseren</li>
|
||||||
|
<li>Toegang beheren (uitnodigen/intrekken), beveiliging en misbruik tegengaan</li>
|
||||||
|
<li>Technische werking, logging en ondersteuning van de dienst</li>
|
||||||
|
<li>
|
||||||
|
Voldoen aan verplichtingen van platforms zoals Google Play (bijv. testtoegang)
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>4. Rechtsgrond</h2>
|
||||||
|
<p>
|
||||||
|
We verwerken gegevens op basis van <strong>uitvoering van de overeenkomst</strong>{" "}
|
||||||
|
(toegang tot de privé-dienst die je gebruikt) en, waar nodig,{" "}
|
||||||
|
<strong>gerechtvaardigd belang</strong> (beveiliging, stabiliteit, fraude-/misbruikpreventie).
|
||||||
|
Waar toestemming vereist is, vragen we die expliciet.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>5. Delen met derden</h2>
|
||||||
|
<p>We verkopen je gegevens niet. Gegevens kunnen worden gedeeld met:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<strong>Hosting- en infrastructuurpartners</strong> die servers, netwerk of opslag
|
||||||
|
leveren die nodig zijn om de dienst te draaien
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Google</strong> — als je de app via Google Play installeert of deelneemt aan
|
||||||
|
Closed Testing (volgens het privacybeleid van Google)
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Metadata-/ondertitelbronnen</strong> (bijv. film-/serie-info of ondertitels)
|
||||||
|
die alleen technische verzoeken doen die nodig zijn voor de catalogus of afspeelfunctie;
|
||||||
|
dit betreft doorgaans geen marketingprofielen van jou
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Streams van jouw mediabestanden worden vanuit je geautoriseerde nodes geleverd; we
|
||||||
|
gebruiken die content niet om je aan derden te verkopen.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>6. Bewaartermijn</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Account- en apparaatgegevens: zolang je account actief is</li>
|
||||||
|
<li>Kijkvoortgang: zolang nuttig voor “verder kijken”, of tot verwijdering/account-einde</li>
|
||||||
|
<li>Technische logs: beperkt, voor beheer en beveiliging</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Na beëindiging van je account of op verzoek verwijderen we of anonimiseren we
|
||||||
|
persoonsgegevens, tenzij we die langer moeten bewaren (wettelijke verplichting of
|
||||||
|
geschil).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>7. Beveiliging</h2>
|
||||||
|
<p>
|
||||||
|
We gebruiken passende technische en organisatorische maatregelen, waaronder versleutelde
|
||||||
|
verbindingen (HTTPS), gehashte wachtwoorden, sessiebeheer en toegangscontrole per account.
|
||||||
|
Geen enkel systeem is 100% veilig; meld vermoedelijk misbruik zo snel mogelijk.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>8. Jouw rechten</h2>
|
||||||
|
<p>Voor zover de AVG van toepassing is, kun je verzoeken om:</p>
|
||||||
|
<ul>
|
||||||
|
<li>inzage, correctie of verwijdering van je gegevens</li>
|
||||||
|
<li>beperking van of bezwaar tegen bepaalde verwerking</li>
|
||||||
|
<li>overdraagbaarheid van gegevens die je ons hebt verstrekt</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Stuur je verzoek naar <a href="mailto:privacy@vonas.nl">privacy@vonas.nl</a>. We
|
||||||
|
kunnen om identificatie vragen. Ook kun je een klacht indienen bij de Autoriteit
|
||||||
|
Persoonsgegevens (<a href="https://www.autoriteitpersoonsgegevens.nl" rel="noreferrer" target="_blank">autoriteitpersoonsgegevens.nl</a>).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>9. Kinderen</h2>
|
||||||
|
<p>
|
||||||
|
De dienst is niet gericht op kinderen jonger dan 16 jaar. Accounts worden beheerd door
|
||||||
|
de accountbeheerder; gebruik door minderjarigen gebeurt onder verantwoordelijkheid van
|
||||||
|
die beheerder/ouder.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>10. Wijzigingen</h2>
|
||||||
|
<p>
|
||||||
|
We kunnen dit beleid bijwerken. De datum bovenaan geeft de laatste wijziging aan. Bij
|
||||||
|
ingrijpende wijzigingen informeren we via de app, e-mail of de dienst zelf, waar dat
|
||||||
|
redelijk is.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>11. Contact</h2>
|
||||||
|
<p>
|
||||||
|
Vonas Media Cluster
|
||||||
|
<br />
|
||||||
|
E-mail: <a href="mailto:privacy@vonas.nl">privacy@vonas.nl</a>
|
||||||
|
<br />
|
||||||
|
Privacybeleid-URL:{" "}
|
||||||
|
<a href="https://admin.vonas.nl/privacy">https://admin.vonas.nl/privacy</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p className="legal-footer muted">
|
||||||
|
<Link href="/">Terug</Link>
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
);
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue