Files
RadioPlayerWeb/privacy.html
2026-04-29 07:39:29 +02:00

353 lines
10 KiB
HTML

<!DOCTYPE html>
<html lang="sl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pravilnik o zasebnosti | RadioPlayer</title>
<meta name="description" content="Pravilnik o zasebnosti za spletno aplikacijo RadioPlayer.">
<meta name="theme-color" content="#111318">
<link rel="manifest" href="manifest.json">
<link rel="icon" type="image/png" sizes="192x192" href="assets/radioplayer-logo-192.png">
<link rel="icon" type="image/png" sizes="512x512" href="assets/radioplayer-logo-512.png">
<link rel="apple-touch-icon" href="assets/radioplayer-logo-192.png">
<style>
:root {
color-scheme: dark;
--page-bg: #111318;
--panel: rgba(16, 20, 27, 0.82);
--panel-strong: rgba(12, 15, 20, 0.94);
--border: rgba(255, 255, 255, 0.12);
--text-main: #f7f8fb;
--text-muted: rgba(247, 248, 251, 0.72);
--accent: #4dd7c8;
--accent-2: #ffb45c;
--accent-3: #8fb3ff;
--shadow: 0 28px 72px rgba(0, 0, 0, 0.35);
}
* {
box-sizing: border-box;
}
html {
min-height: 100%;
background: var(--page-bg);
font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
body {
margin: 0;
min-height: 100vh;
color: var(--text-main);
background:
radial-gradient(circle at 18% 8%, rgba(77, 215, 200, 0.24), transparent 34%),
radial-gradient(circle at 86% 82%, rgba(255, 180, 92, 0.2), transparent 32%),
linear-gradient(180deg, #111318 0%, #101218 58%, #111821 100%);
}
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background-image:
linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
background-size: 42px 42px;
mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent 82%);
opacity: 0.5;
}
a {
color: inherit;
}
.page-shell {
position: relative;
z-index: 1;
width: min(960px, calc(100% - 32px));
margin: 0 auto;
padding: 28px 0 64px;
}
.topbar {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
margin-bottom: 20px;
}
.brand {
display: inline-flex;
align-items: center;
gap: 12px;
text-decoration: none;
}
.brand img {
width: 44px;
height: 44px;
border-radius: 14px;
box-shadow: 0 12px 28px rgba(77, 215, 200, 0.18);
}
.brand-title {
display: block;
font-size: 1.02rem;
font-weight: 800;
color: var(--text-main);
}
.brand-subtitle {
display: block;
color: var(--text-muted);
font-size: 0.82rem;
font-weight: 700;
}
.back-link {
padding: 0.7rem 1rem;
border: 1px solid var(--border);
border-radius: 999px;
background: rgba(255, 255, 255, 0.06);
color: var(--text-main);
text-decoration: none;
font-size: 0.92rem;
font-weight: 700;
}
.back-link:hover,
.back-link:focus-visible {
border-color: rgba(77, 215, 200, 0.45);
background: rgba(255, 255, 255, 0.1);
}
.privacy-card {
padding: clamp(24px, 4vw, 42px);
border: 1px solid var(--border);
border-radius: 28px;
background:
linear-gradient(145deg, rgba(77, 215, 200, 0.08), transparent 42%),
linear-gradient(315deg, rgba(255, 180, 92, 0.08), transparent 36%),
linear-gradient(180deg, rgba(16, 20, 27, 0.8), rgba(255, 255, 255, 0.035));
box-shadow: var(--shadow);
backdrop-filter: blur(22px) saturate(130%);
}
.eyebrow {
margin: 0 0 10px;
color: var(--accent);
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
h1 {
margin: 0;
font-size: clamp(2rem, 5vw, 3.25rem);
line-height: 0.98;
}
.lead {
max-width: 64ch;
margin: 18px 0 0;
color: var(--text-muted);
font-size: 1rem;
line-height: 1.7;
}
.meta {
display: inline-flex;
margin-top: 18px;
padding: 0.45rem 0.8rem;
border-radius: 999px;
background: rgba(143, 179, 255, 0.12);
color: var(--text-main);
font-size: 0.82rem;
font-weight: 700;
}
.sections {
display: grid;
gap: 16px;
margin-top: 28px;
}
section {
padding: 18px 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 20px;
background: rgba(255, 255, 255, 0.045);
}
h2 {
margin: 0 0 10px;
font-size: 1.05rem;
}
p,
li {
color: var(--text-muted);
line-height: 1.7;
}
p:last-child,
ul:last-child {
margin-bottom: 0;
}
ul {
margin: 0;
padding-left: 1.2rem;
}
strong {
color: var(--text-main);
}
.note {
margin-top: 22px;
color: var(--text-muted);
font-size: 0.9rem;
}
@media (max-width: 720px) {
.page-shell {
width: min(100% - 20px, 960px);
padding-top: 16px;
}
.topbar {
flex-direction: column;
align-items: stretch;
}
.back-link {
text-align: center;
}
.privacy-card {
border-radius: 22px;
}
section {
padding: 16px;
border-radius: 18px;
}
}
</style>
</head>
<body>
<div class="page-shell">
<div class="topbar">
<a class="brand" href="./">
<img src="assets/radioplayer-logo-192.png" alt="RadioPlayer">
<span>
<span class="brand-title">RadioPlayer</span>
<span class="brand-subtitle">Spletni predvajalnik radijskih postaj</span>
</span>
</a>
<a class="back-link" href="./">Nazaj v aplikacijo</a>
</div>
<main class="privacy-card">
<p class="eyebrow">Pravilnik</p>
<h1>Pravilnik o zasebnosti</h1>
<p class="lead">
Ta stran pojasnjuje, katere podatke uporablja spletna aplikacija RadioPlayer, zakaj jih uporablja in
kje se ti podatki hranijo. Besedilo velja za uporabo spletne aplikacije in njene PWA namestitve.
</p>
<div class="meta">Velja od: 28. 4. 2026</div>
<div class="sections">
<section>
<h2>Kateri podatki nastanejo pri uporabi</h2>
<p>
RadioPlayer ne zahteva registracije ali ustvarjanja uporabniškega računa. Aplikacija pa lahko v vašem
brskalniku lokalno shrani nastavitve in sezname, ki jih ustvarite sami, da si jih ob naslednjem obisku
zapomni.
</p>
<ul>
<li>glasnost predvajanja, zadnjo izbrano postajo in zadnji izbran filter države,</li>
<li>seznam priljubljenih postaj in lokalno statistiko predvajanja za prikaz nedavno poslušanih postaj,</li>
<li>postaje, ki jih dodate ročno v urejevalniku,</li>
<li>nastavitev načina oddajanja zvoka pri Google Cast povezavi.</li>
</ul>
</section>
<section>
<h2>Kje se podatki hranijo</h2>
<p>
Zgoraj navedeni podatki se hranijo lokalno v vašem brskalniku oziroma v podatkih spletnega mesta na vaši
napravi. RadioPlayer teh nastavitev ne pošilja na lasten strežnik in jih brez vašega dejanja ne deli z
drugimi uporabniki.
</p>
<p>
Aplikacija uporablja tudi predpomnjenje datotek aplikacije za hitrejši zagon in delovanje brez ponovnega
prenosa vseh statičnih datotek. To predpomnjenje lahko kadarkoli izbrišete v nastavitvah brskalnika.
</p>
</section>
<section>
<h2>Zunanji ponudniki in prenosi</h2>
<p>
Ko zaženete radijski tok, se vaš brskalnik poveže neposredno s strežnikom radijske postaje ali drugega
ponudnika toka. Ti zunanji ponudniki praviloma prejmejo tehnične podatke, ki so potrebni za prenos, na
primer IP naslov, podatke o brskalniku in čas zahteve.
</p>
<p>
Če uporabite funkcijo Google Cast, se za vzpostavitev in upravljanje oddajanja uporabi Google Cast Web
Sender SDK. Pri tem lahko Google oziroma naprava za predvajanje obdelujeta podatke, potrebne za sejo
oddajanja in usmerjanje medijev.
</p>
</section>
<section>
<h2>Piškotki in analitika</h2>
<p>
Trenutna različica aplikacije ne uporablja analitičnih skript za profiliranje uporabnikov in ne nastavlja
lastnih piškotkov za oglaševanje. Aplikacija za shranjevanje nastavitev uporablja lokalno hrambo brskalnika,
ne klasičnih piškotkov.
</p>
</section>
<section>
<h2>Dnevniki gostovanja</h2>
<p>
Gostovanje spletne strani lahko zaradi varnosti, stabilnosti ali odpravljanja napak samodejno vodi osnovne
tehnične dnevnike dostopa. Obseg teh dnevnikov je odvisen od ponudnika gostovanja in ni del nastavitev,
ki jih upravlja uporabniški vmesnik RadioPlayer.
</p>
</section>
<section>
<h2>Kako izbrišete lokalne podatke</h2>
<p>
Če želite odstraniti shranjene priljubljene postaje, uporabniške postaje ali druge nastavitve, izbrišite
podatke tega spletnega mesta v svojem brskalniku. S tem se izbrišejo lokalne nastavitve in predpomnjene
datoteke aplikacije na tej napravi.
</p>
</section>
<section>
<h2>Posodobitve pravilnika</h2>
<p>
Pravilnik se lahko posodobi, če se spremeni delovanje aplikacije, način gostovanja ali vključeni zunanji
ponudniki. Na tej strani bo vedno objavljena veljavna različica besedila.
</p>
</section>
</div>
<p class="note">
Če aplikacija v prihodnje doda prijavo, obrazce ali dodatne zunanje storitve, je treba ta pravilnik ustrezno
dopolniti.
</p>
</main>
</div>
</body>
</html>