Muzica ta, rețeaua ta, datele tale.
Serento este o aplicație care lucrează întâi local: navighează prin serverele tale de muzică UPnP și redă către rendererele din rețeaua ta. Nu ținem servere care să te privească ascultând, nu vindem date și nu avem sistem de conturi. Această pagină listează fiecare octet care pleacă de pe dispozitivul tău - și unde ajunge.
01 Cine suntem
Serento este publicat de Dusty Enterprise SRL, înregistrată în București, România. În sensul legislației europene privind protecția datelor (GDPR), Dusty Enterprise SRL este operatorul de date pentru orice informație pe care Serento o prelucrează despre tine. Ne poți scrie la contact@serento.app pentru orice întrebare sau cerere legată de confidențialitate - vezi Secțiunea 11 pentru drepturile tale legale.
02 Ce este Serento - și ce nu este
Serento este un punct de control UPnP / OpenHome. Rulează pe iPhone-ul sau iPad-ul tău, îți găsește serverele de muzică și rendererele din rețeaua locală, le cere catalogul și îi spune rendererului ce să redea. Biții audio circulă direct de la serverul tău (sau de la postul de radio pe care l-ai pornit) către renderer - nu trec niciodată prin Serento și nici prin vreo infrastructură pe care o operăm noi.
- Fără conturi. Nu există ecran de înregistrare, adresă de e-mail, parolă sau „login with Apple / Google”. Serento nu are o bază de date de utilizatori pentru că nu există utilizatori în sensul acela - există doar oameni care rulează aplicația pe propriile dispozitive iOS.
- Fără catalog centralizat. Nu avem o copie a bibliotecii tale. Nu îți indexăm muzica. Nu îți recomandăm piese. Browse și Search citesc în timp real din propriile tale servere UPnP.
- Fără SDK-uri terțe de urmărire. Nu includem SDK-uri de analiză (fără Firebase, fără Google Analytics, fără Mixpanel, fără Amplitude, fără PostHog). Nu includem SDK-uri de atribuire (fără AppsFlyer, fără Branch, fără Adjust). Nu includem SDK-uri de publicitate sau de rețele sociale. Colectăm însă propria noastră telemetrie, strict anonimă - vezi Secțiunea 02a de mai jos.
- Fără urmărirea ta. Sistemul nostru de telemetrie nu înregistrează niciodată adresa ta IP, conținutul bibliotecii tale (fără nume de piese, albume sau artiști, fără căi de fișiere), istoricul tău de redare sau căutările tale. Primește doar numărători și procente anonime, care nu pot fi legate de nicio identitate.
02a Telemetrie anonimă (ce colectăm, de fapt)
Ca să înțelegem ce dispozitive și ce versiuni de sistem sunt în uz, cu ce renderere le împerechează oamenii și - mai presus de toate - cât de complete sunt metadatele muzicale ale oamenilor în general (ca să decidem dacă merită să construim unelte mai bune de metadate), aplicația ne trimite un mic raport. El nu conține date cu caracter personal și nu dezvăluie niciodată cine ești sau ce conține biblioteca ta. Este o condiție a folosirii Serento, declarată aici și în Termeni; nu există o opțiune de dezactivare per utilizator. Mai exact:
- Un identificator anonim de instalare. Un identificator aleatoriu pe care aplicația îl generează la prima pornire. NU este Apple ID-ul tău, nu este un identificator hardware și nu derivă din nimic legat de tine. O reinstalare produce unul complet nou. Ne spune doar că două rapoarte au venit de la aceeași instalare.
- O cheie unidirecțională „de gospodărie”, ca să grupăm dispozitivele tale. Ca să vedem că o persoană folosește, să zicem, un iPhone și un Mac (în loc să le numărăm ca doi străini), aplicația derivă un hash unidirecțional al identificatorului contului tău iCloud și trimite doar hash-ul acela. Nu primim niciodată contul tău iCloud, Apple ID-ul, numele sau adresa ta de e-mail, iar hash-ul nu poate fi întors înapoi la ele. Este o cheie pseudonimă: distinge consecvent o persoană (anonimă) de alta, ca să îi putem grupa dispozitivele, nimic mai mult. Dacă preferi să nu fii grupat, identificatorul de instalare este oricum anonim; cheia de gospodărie adaugă doar gruparea între dispozitive.
- Date generale despre dispozitiv și utilizare. Platforma (iPhone / iPad / Mac), identificatorul de model al dispozitivului, numele și versiunea sistemului, versiunea și build-ul aplicației, memoria totală și disponibilă, regiunea ta din 2 litere (din setările regionale ale dispozitivului - niciodată din IP, pe care nu îl stocăm niciodată) și cât timp a fost folosită aplicația (durate de sesiune, în secunde).
- Rendererele și capabilitățile lor. Pentru playerele de rețea pe care le folosești: producătorul și modelul, plus dacă suportă doar DLNA, OpenHome și controlul software al volumului. Capabilități hardware - niciodată un nume pe care l-ai dat tu unui dispozitiv.
- Alcătuirea bibliotecii - doar numărători. Câte piese, albume și artiști țin serverele tale, câte fișiere sunt DSD față de PCM, împărțirea pe format (FLAC, ALAC, DSD, MP3, …) și pe rezoluție și - partea care ne interesează cel mai mult - ce procent din piesele tale au fiecare câmp de etichetă completat (titlu, artist, album, gen, an, …). Numărători și procente, niciodată numele sau conținutul muzicii tale.
Nu reconstruim, și nici nu putem reconstrui, biblioteca sau identitatea ta din asta. Nu o vindem niciodată. Ștergem rapoartele brute după 13 luni.
03 Ce rămâne pe dispozitivul tău
Următoarele sunt create și păstrate local, pe iPhone-ul sau iPad-ul tău. Nimic din ele nu părăsește dispozitivul, cu excepția a ce este menționat explicit în Secțiunea 04 (sincronizarea iCloud) sau în Secțiunea 06 (jurnalele de diagnostic pe care alegi să le trimiți):
- Cache-ul bibliotecii. Când conectezi un server UPnP (MinimServer, Plex, Twonky, Asset, JRiver etc.), aducem numele de albume, artiști și piese, duratele, codecurile, ratele de eșantionare, căile fișierelor și coperțile. Acestea se scriu într-un depozit SwiftData care stă în sandbox-ul aplicației. Sunt citite doar de Serento, pe dispozitiv, doar cât timp aplicația rulează.
- Preferințele aplicației. Tema, metoda implicită de adăugare în coadă, comutatorul de redare fără pauze, întârzierea pentru rețea silențioasă, comutatorul barei alfabetice, comutatorul controlului de volum, configurația de grupare a versiunilor de album, ultimul renderer / server / bibliotecă / filă selectate. Stocate în iOS UserDefaults.
- Cache-ul de descoperire. Serverele și rendererele UPnP pe care Serento le-a văzut în rețeaua ta locală - adrese IP, nume prietenoase, UDN-uri, servicii suportate. Folosit ca să le afișăm în selector fără să rulăm o baleiere SSDP completă la fiecare pornire. Se șterge dacă dezinstalezi aplicația.
- Căutări recente. Ultimele câteva căutări pe care le-ai tastat în fila Search. Folosite pentru secțiunea „Recent”. Se șterg cu butonul Clear din Search.
- Token-urile de autentificare Plex. Dacă te autentifici cu un cont Plex, API-ul Plex întoarce un token de acces. Serento îl păstrează în iOS Keychain (protejat de codul de acces al dispozitivului / Face ID / Touch ID). Token-urile sunt citite doar de Serento; nu sunt trimise niciodată către Dusty Enterprise SRL.
- Fișierul de jurnal de diagnostic. Un jurnal rulant cu descoperirea UPnP, tranzițiile de redare, răspunsurile rendererului și condițiile de eroare. Stocat în sandbox-ul aplicației. Nu este transmis niciodată decât dacă TU apeși „Send Logs to Developer” în Settings (vezi Secțiunea 06).
04 Ce se sincronizează între dispozitivele tale prin Apple iCloud
Serento folosește CloudKit de la Apple ca să țină sincronizat un set mic de date de organizare personală între dispozitivele iOS autentificate cu același Apple ID. Datele stau în containerul TĂU privat iCloud - documentația Apple garantează că nici măcar angajații Apple nu îl pot citi; nici Dusty Enterprise SRL nu are acces la el dinspre server (îl scriem și îl citim doar de pe dispozitiv, niciodată dintr-un backend). Ce se sincronizează:
- Favorite. Piesele, albumele, artiștii și posturile de radio pe care le-ai marcat ca favorite.
- Liste de redare. Numele și lista de piese pentru listele pe care le creezi în Serento.
- Etichete & semne de carte. Etichetele pe care le creezi și elementele pe care le-ai etichetat; semnele de carte pe care le salvezi.
- Lista Listen Later. Elementele pe care le adaugi în Listen Later.
- Posturi de radio proprii. Posturile pe care le adaugi (nume + URL de flux + indiciu de codec).
- Notele pentru albume & piese. Cele 1–5 stele pe care le acorzi.
- Starea probei / abonamentului. O înregistrare anti-abuz care ne spune dacă Apple ID-ul tău și-a folosit deja proba gratuită de 14 zile. Stocată în containerul tău privat CloudKit; verificată local, la pornire.
05 Traficul de rețea pe care îl generează Serento
Fiecare conexiune pe care Serento o face de pe dispozitivul tău. Nimic altceva.
- Rețeaua ta locală - descoperire UPnP. Sondări multicast SSDP (UDP 1900) ca să găsim servere și renderere UPnP. GDM de la Plex (UDP unicast) ca să găsim servere Plex Media Server. Bonjour mDNS pentru Plex, în rețelele care îl publică. Totul rămâne în rețeaua ta locală.
- Rețeaua ta locală - control. Cereri HTTP / SOAP către serverele tale UPnP (ContentDirectory) și către renderere (AVTransport, OpenHome Playlist / Product / Volume / Info, RenderingControl). Folosite pentru navigarea prin bibliotecă și pentru comanda redării.
- Rețeaua ta locală - fluxul audio. Când apeși Play, Serento îi spune rendererului URL-ul fluxului pentru piesa aleasă. Rendererul aduce sunetul direct de la serverul tău. Biții nu trec prin Serento și nici prin vreo infrastructură pe care o operăm noi.
- Apple iCloud / CloudKit. Trafic de sincronizare pentru datele din Secțiunea 04. Ajunge la serverele Apple, sub Apple ID-ul tău - politica de confidențialitate Apple guvernează această porțiune de drum.
- Apple App Store / StoreKit. Pentru validarea abonamentului, restaurarea achizițiilor și verificarea drepturilor de probă / achiziție pe viață. Gestionat de framework-ul StoreKit din iOS; se aplică politica de confidențialitate Apple.
- plex.tv (doar pentru utilizatorii Plex). Dacă te autentifici cu Plex, Serento vorbește cu plex.tv ca să te autentifice și ca să afle ce servere Plex îți sunt accesibile. Pentru porțiunea aceea se aplică politica de confidențialitate Plex Inc. Dacă nu folosești Plex, nu există trafic către plex.tv.
- Fluxuri de radio pe internet. Când redai un post, dispozitivul tău aduce sunetul direct de la URL-ul difuzorului. Noi nu avem nicio vizibilitate asupra a ce asculți. Difuzorul îți vede IP-ul.
- serento.app. Verificări de actualizări față de site-ul nostru, plus trimiterea telemetriei anonime descrise în Secțiunea 02a (doar numărători și procente; la noi nu se stochează niciun IP).
- Resend (doar când apeși „Send Logs”). Când apeși explicit „Send Logs to Developer” în Settings, fișierul de jurnal de diagnostic este livrat la contact@serento.app prin API-ul de e-mail tranzacțional Resend. Vezi Secțiunea 06.
06 Jurnale de diagnostic (alegi tu când)
Jurnalul de diagnostic ne ajută să reproducem probleme de redare, eșecuri de descoperire și ciudățenii ale rendererelor, pe care altfel nu le putem vedea. Este OPT-IN prin acțiune: nimic nu pleacă de pe dispozitivul tău dacă nu apeși butonul „Send Logs to Developer” din Settings.
- Ce conține jurnalul. Marcaje de timp și înregistrări structurate despre: rezultatele descoperirii UPnP (nume de servere / renderere, IP-uri, UDN-uri, servicii suportate), evenimente de redare (piesă pornită, pusă pe pauză, avansată, eșuată), răspunsuri SOAP de la rendererul tău (coduri de stare HTTP, coduri de eroare SOAP), schimbări de volum, progresul sincronizării bibliotecii, versiunea și build-ul aplicației, versiunea iOS, modelul dispozitivului, clasa de memorie, setările regionale.
- Ce NU conține jurnalul. Excludem în mod deliberat: Apple ID-ul tău, adresa ta de e-mail, numele tău real, locația ta, contactele tale, conținutul tău audio, token-ul tău Plex (mascat), parolele tale, orice din alte aplicații.
- Unde ajunge. Jurnalul este împachetat într-un e-mail și trimis prin serviciul de e-mail tranzacțional Resend la contact@serento.app. Resend (resend.com) prelucrează e-mailul în numele nostru, ca persoană împuternicită, conform art. 28 din GDPR.
- Cât timp îl păstrăm. Jurnalele rămân în căsuța noastră pe durata cazului de asistență (de obicei zile, ocazional săptămâni, dacă lucrăm la o eroare dificilă de renderer), apoi sunt șterse. Nu le arhivăm pe termen lung.
- Limitare de frecvență. Există o scurtă pauză obligatorie între trimiteri, ca să nu se poată întâmpla ca același dispozitiv să ne inunde din greșeală căsuța.
07 Rapoarte de eroare
Dacă Serento se închide neașteptat, stiva de eroare este gestionată în întregime de sistemul încorporat al Apple. Nu includem niciun SDK terț de raportare a erorilor. Dacă, în iOS Settings, ai activat Settings → Privacy & Security → Analytics & Improvements → Share with App Developers, primim o stivă de apeluri anonimizată prin App Store Connect - fără date cu caracter personal atașate. Dacă ai dezactivat opțiunea, nu primim nimic.
08 Servicii terțe de care depindem
Acestea sunt singurele părți terțe implicate în livrarea Serento. Fiecare are propria politică de confidențialitate, pe care merită să o citești dacă îți pasă ce fac cu partea lor din fluxul de date:
- Apple Inc. Distribuția prin App Store, sincronizarea iCloud / CloudKit, facturarea StoreKit, raportarea erorilor. apple.com/legal/privacy
- Plex Inc. Relevant doar dacă ai servere Plex și te autentifici cu un cont Plex. plex.tv/about/privacy-legal/privacy-policy
- Resend. Serviciul de livrare a e-mailurilor pentru jurnalele de diagnostic pe care alegi să le trimiți. resend.com/legal/privacy-policy
- Producătorul serverului tău UPnP. Orice rulezi în rețeaua ta (MinimServer, Plex, Asset UPnP, Twonky, JRiver Media Center, Kodi UPnP etc.) este guvernat de propria licență și de propriii termeni de confidențialitate. Serento nu vede ce fac ei.
- Difuzorii de radio pe internet. Când redai un post, te conectezi direct la serverele lui. Difuzorul îți vede IP-ul și este guvernat de propriii termeni.
09 Ce NU avem
Pentru simetrie cu lista de mai sus - și pentru că absențele contează la fel de mult ca prezențele:
- Fără bază de date de utilizatori. Nu avem nicio evidență a cine rulează Serento. Nu îți putem spune un număr de „utilizatori activi”, pentru că nu avem numărul acela.
- Fără jurnale de adrese IP. Nu rulăm niciun backend care să îți înregistreze adresa IP. Apple îți vede traficul când acesta atinge iCloud sau App Store, dar aceea este relația Apple cu tine, nu a noastră.
- Fără istoric de ascultare. Ce redai, când redai și cât de des - nimic din toate astea nu ajunge la noi. Datele există doar pe dispozitivul tău și (pentru elementele de organizare din Secțiunea 04) în containerul tău privat iCloud.
- Fără acces la conținut. Nu vedem titluri de albume, artiști sau alte metadate din biblioteca ta. Serverele tale le trimit direct pe dispozitivul tău.
- Fără date de localizare. Nu cerem și nu folosim locația dispozitivului tău.
- Fără contacte, calendare, fotografii sau microfon. Serento nu cere acces la niciuna dintre ele. Verifică iOS Settings → Serento pentru lista completă de permisiuni.
10 Copii
Serento nu se adresează copiilor sub 13 ani și nu prelucrăm cu bună știință date cu caracter personal ale minorilor sub 13 ani. Dacă bănuiești că un copil ne-a furnizat cumva date cu caracter personal, scrie la contact@serento.app și le vom șterge.
11 Drepturile tale conform GDPR
Pentru că Dusty Enterprise SRL este stabilită în Uniunea Europeană, Regulamentul general privind protecția datelor (Regulamentul 2016/679) se aplică oricăror date cu caracter personal pe care le prelucrăm despre tine. Drepturile tale legale includ:
- Dreptul de acces (art. 15). Ne poți cere ce date cu caracter personal deținem despre tine și poți obține o copie.
- Dreptul la rectificare (art. 16). Ne poți cere să corectăm date cu caracter personal inexacte.
- Dreptul la ștergere (art. 17). Ne poți cere să îți ștergem datele cu caracter personal - de regulă un jurnal de diagnostic pe care l-ai trimis anterior, pentru că practic acela e singurul loc în care am putea ține ceva.
- Dreptul la restricționare (art. 18). Ne poți cere să limităm prelucrarea datelor tale în cazuri specifice.
- Dreptul la portabilitatea datelor (art. 20). Îți poți primi datele într-un format structurat, citibil automat.
- Dreptul la opoziție (art. 21). Te poți opune prelucrării întemeiate pe interesul legitim.
- Dreptul de a depune o plângere. Poți reclama la autoritatea națională de supraveghere - în România, ANSPDCP (dataprotection.ro). Poți reclama și la autoritatea din țara ta de reședință.
12 Păstrarea datelor
Pentru că deținem atât de puțin, păstrarea este scurtă:
- Datele de pe dispozitiv. Trăiesc cât timp aplicația e instalată. Dezinstalarea aplicației le șterge (vezi Secțiunea 03).
- Datele sincronizate prin iCloud. Trăiesc cât timp Apple ID-ul tău le deține. Se aplică regulile standard Apple de păstrare iCloud. Le poți șterge eliminând elemente din aplicație sau ieșind din iCloud.
- Jurnalele de diagnostic pe care le-ai trimis. Păstrate în căsuța noastră pe durata cazului de asistență, apoi șterse (de obicei zile, ocazional săptămâni).
- Evidențele de abonament / facturare. Deținute de Apple, conform politicilor Apple; Dusty Enterprise SRL primește doar un sumar anonimizat al plăților.
13 Transferuri internaționale
Dusty Enterprise SRL operează din România (UE). Părțile terțe listate în Secțiunea 08 prelucrează unele date în afara UE (Apple folosește infrastructură globală; Plex are sediul în California; Resend operează din Statele Unite). Fiecare dintre acești furnizori implementează Clauzele contractuale standard sau un mecanism echivalent pentru transferurile din UE către țări terțe, așa cum cere GDPR. Dacă vrei detaliile pentru oricare dintre ei, scrie-ne.
14 Securitate
Datele locale de pe dispozitivul tău sunt protejate de izolarea în sandbox a iOS și (pentru elementele din Keychain - în special token-ul tău Plex) de codul de acces al dispozitivului și de autentificarea biometrică. Datele CloudKit sunt criptate în tranzit de Apple și stocate în containerul tău privat. Jurnalele de diagnostic călătoresc prin HTTPS către Resend. Nu operăm alte servere care să îți țină datele cu caracter personal, deci suprafața de atac dincolo de dispozitivul tău și de Apple iCloud este, practic, căsuța Resend de la contact@serento.app.
15 Modificări ale acestei politici
Când textul legal se schimbă semnificativ, actualizăm data intrării în vigoare din capul acestei pagini și, când modificarea afectează ce date colectăm sau unde ajung, afișăm o notificare în aplicație. Ultima revizuire este întotdeauna versiunea pe care o vezi în Settings → About Serento → Privacy Policy.
16 Contact
Pentru orice întrebare, cerere, plângere sau exercitare a drepturilor: contact@serento.app. Răspundem în 30 de zile, așa cum cere GDPR, de obicei mult mai repede.