Files
RadioPlayerWeb/privacy.html

356 lines
11 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 RadioPlayer shrani samo v vašem brskalniku, zakaj jih uporablja in kako
jih lahko izbrišete. Besedilo velja za spletno uporabo aplikacije in za njeno PWA namestitev.
</p>
<div class="meta">Velja od: 29. 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. Za trajnejše shranjevanje nastavitev in postaj aplikacija uporablja brskalnikovo lokalno bazo
IndexedDB. Ob prvi uporabi nove različice lahko prenese tudi stare lokalne nastavitve iz prejšnje lokalne
hrambe, da se vaši podatki ohranijo. 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>
<p>
Na napravah Apple lahko aplikacija ponudi tudi AirPlay izbiro izhoda. V tem primeru se medijski tok
preusmeri na izbrano AirPlay napravo prek zmožnosti vašega brskalnika in operacijskega sistema, zato lahko
zunanja naprava ali Apple obdelujeta podatke, potrebne za vzpostavitev in upravljanje predvajanja.
</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
in IndexedDB, 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>
</main>
</div>
</body>
</html>