Informativa sulla privacy
Questa informativa descrive l'app mobile BikeOtter e il sito web bikeotter.app. È stata scritta leggendo cosa fa davvero il software — quali campi contiene un punto di tracciamento live, quale pulizia lo elimina e quando, quali host vengono contattati — e non partendo da un modello. Dove un limite è indicato con un numero, quel numero è quello presente nel codice.
Versione 1.10 · ultimo aggiornamento 9 ottobre 2026 · vale per l'app e per questo sito
La versione breve
- Non ci sono analytics né crash reporting. Niente Google Analytics, niente Firebase, niente Sentry, nessun SDK pubblicitario o di attribuzione — né nell'app né su questo sito. Qui niente ti conteggia.
- La maggior parte dell'app non richiede alcun account. La pianificazione dei percorsi, l'invio dei percorsi, lo scaricamento delle uscite, le regole e gli avvisi funzionano tutti senza accesso, e le tue impostazioni restano sul telefono. Un account esiste solo per il tracciamento live, le e-mail di notifica delle uscite, il collegamento a Strava, la sincronizzazione dei percorsi se la attivi (§3.2) e — se hai Plus e lo attivi — un backup delle tue impostazioni (§3.1).
- I file delle tue uscite e la tua voce restano sul telefono, e anche i tuoi percorsi, a meno che tu non attivi la sincronizzazione dei percorsi. Il riconoscimento vocale avviene sul dispositivo; per scelta non esiste alcun livello vocale in cloud. La sincronizzazione dei percorsi, e il salvataggio di un percorso nel pianificatore di percorsi di questo sito, conservano una copia dei tuoi percorsi nel tuo account (§3.2).
- Il tracciamento live è l'unica funzione che pubblica la tua posizione, a chiunque abbia il link, per la durata dell'uscita. Frequenza cardiaca, potenza e cadenza sono disattivate per impostazione predefinita. I tuoi punti di posizione e il record della sessione vengono eliminati insieme, 7 giorni dopo che l'uscita termina o scade.
- Due cose che l'app fa senza chiedere: all'avvio controlla se c'è una patch del codice, tramite Shorebird, e quel controllo non può essere disattivato. Non porta con sé alcuna identità fornita da noi — ma raggiunge comunque un server. Il §10.1 spiega esattamente cosa sappiamo e cosa no. E all'avvio chiede a RevenueCat, che gestisce per noi gli acquisti di Plus, se hai Plus (§10).
- Niente viene venduto, affittato o condiviso a fini pubblicitari. Mai.
1. Chi è il responsabile
Il titolare del trattamento qui descritto, ai sensi dell'Art. 4(7) GDPR, è:
OpenBikeControl UG (haftungsbeschränkt)Ulrichstraße 24
71636 Ludwigsburg, Germany
E-mail: support@bikeotter.app
I dati completi dell'azienda sono nella pagina delle note legali. Non c'è un responsabile della protezione dei dati richiesto per legge; per qualsiasi cosa su questa pagina scrivi all'indirizzo qui sopra.
2. Cosa non lascia mai il tuo telefono
Quanto segue è conservato nella memoria propria dell'app sul tuo dispositivo e non viene caricato da BikeOtter da nessuna parte. Lascia il telefono solo se sei tu a esportarlo o condividerlo.
- La tua libreria di percorsi, a meno che tu non attivi la sincronizzazione dei percorsi o salvi percorsi nel pianificatore di percorsi di questo sito. I percorsi sono file sul telefono: geometria più un indice. Condividere un percorso produce un link autonomo che porta il percorso al proprio interno; nessun percorso viene caricato su un server per essere condiviso.
- Le tue uscite. Le uscite scaricate dal ciclocomputer e quelle registrate dal telefono sono salvate come file FIT e GPX sul dispositivo. Lasciano il telefono solo quando le condividi o quando hai attivato il caricamento su Strava.
- Controllo vocale. Il riconoscimento vocale è configurato per funzionare sul dispositivo, e i comandi vengono interpretati prima da una grammatica offline e poi, se serve, da un modello sul dispositivo (Apple Foundation Models o Gemini Nano). Per scelta non esiste alcun livello vocale o linguistico in cloud — nessun audio e nessuna trascrizione viene inviata ad alcun server.
- Le tue impostazioni, regole, località salvate e la configurazione dell'inoltro delle notifiche — a meno che tu non abbia Plus e attivi il backup delle impostazioni. In quel caso una copia delle tue impostazioni e regole (mai delle tue località salvate) viene conservata sui nostri server perché tu possa ripristinarla su un altro telefono, finché non disattivi di nuovo il backup.
- Le notifiche inoltrate al ciclocomputer (solo Android). Se concedi l'accesso alle notifiche, l'app legge le notifiche del telefono per mostrarle sul ciclocomputer e le passa direttamente via Bluetooth. I loro contenuti non vengono memorizzati dall'app e non raggiungono mai un server.
- Tutto ciò che l'app fa con il ciclocomputer stesso — associazione, invio dei percorsi, scaricamento delle uscite, avvisi sullo schermo — avviene su un collegamento Bluetooth diretto tra il tuo telefono e il tuo dispositivo. In mezzo non c'è alcun cloud del produttore né alcun server BikeOtter.
3. Il tuo account
Un account è richiesto solo per il tracciamento live, le e-mail di notifica delle uscite, il collegamento a Strava, la sincronizzazione dei percorsi (compreso il salvataggio di un percorso su questo sito) e il backup delle impostazioni facoltativo per chi ha Plus. Tutto il resto funziona senza accesso.
Puoi accedere in uno di due modi: un magic link inviato al tuo indirizzo e-mail, oppure l'accesso con Strava. Non c'è password e non c'è profilo. Ciò che viene memorizzato è un record utente conservato dal nostro fornitore di backend (Supabase) contenente il tuo indirizzo e-mail e i timestamp di accesso, più — per l'accesso con Strava — l'id atleta e il nome visualizzato di Strava.
Il tuo indirizzo e-mail serve a identificarti, e la sua parte locale (il pezzo prima della
@) diventa il nome da ciclista mostrato a chi guarda un link live. Se il tuo
indirizzo è [email protected], chi guarda vede jane.doe. Tienilo a mente
quando scegli con quale indirizzo accedere.
Per eliminare il tuo account e tutto ciò che vi è collegato, scrivi a support@bikeotter.app dall'indirizzo con cui accedi. L'eliminazione dell'account è a cascata: le sessioni di tracciamento live e i loro punti di posizione, le uscite di gruppo, i messaggi che chi guardava ti ha inviato, i tuoi contatti salvati e i loro gruppi, i record di notifica, il collegamento a Strava, il tuo backup delle impostazioni e i tuoi percorsi sincronizzati se ne vanno con esso. Nell'app non c'è ancora un pulsante self-service — la pagina di eliminazione indica i passaggi, l'elenco completo di ciò che viene eliminato e ciò che viene conservato dopo.
La wishlist. Da utente connesso — sulla pagina della wishlist o nell'app — puoi proporre una funzione e votare quelle degli altri. Una proposta memorizza il titolo, la descrizione che fornisci e il tuo account come autore; un voto memorizza quale account ha votato cosa. Finché una proposta non viene accettata, la vediamo solo tu e noi. Se spunti «Potete contattarmi su questa idea», conserviamo questo consenso insieme alla proposta e, quando il tuo account non ha un indirizzo a cui possiamo scrivere (un accesso con Strava non ne ha), l'indirizzo che ci dai a questo scopo. Entrambi servono solo a chiedere di quella singola idea o a risponderle, e nessuno dei due viene mai mostrato pubblicamente. Possiamo anche risponderti nella tua conversazione di assistenza nell'app, che tu abbia spuntato la casella o no; come per ogni risposta dell'assistenza, un'e-mail che te lo segnala parte solo se abbiamo un tuo indirizzo reale. Una nota dello sviluppatore sotto una proposta è pubblica, come la proposta stessa. Eliminare l'account elimina i tuoi voti e cancella automaticamente il consenso e l'indirizzo di contatto; una proposta già presente nella lista resta lì, senza più alcun legame con te.
3.1 Backup delle impostazioni (Plus)
Disattivo per impostazione predefinita, e solo se lo attivi tu. Il backup delle impostazioni è una funzione di BikeOtter Plus. Non viene caricato nulla finché, dopo aver effettuato l'accesso, non lo attivi in Impostazioni → Backup delle impostazioni accettando ciò che memorizza. Da quel momento l'app conserva una copia delle tue impostazioni sul nostro backend — Supabase, lo stesso fornitore e la stessa regione West EU (Ireland) di tutto il resto del §10 — così, dopo aver effettuato l'accesso su un telefono nuovo o su un secondo telefono, puoi ripristinarle in un solo passaggio. Finché è attivo, la copia viene aggiornata automaticamente pochi secondi dopo che modifichi un'impostazione, e Esegui backup ora la aggiorna quando vuoi.
Cosa contiene la copia:
- le tue unità di misura e la tua velocità media in bici;
- il tuo peso corporeo e le tue bici e configurazione degli pneumatici, usati per il consiglio sulla pressione degli pneumatici;
- il tuo tipo di pelle, usato per il promemoria della crema solare;
- le tue regole di avviso — preimpostazioni e regole personalizzate, e quali sono attive;
- l'elenco delle app autorizzate a inoltrare notifiche al ciclocomputer — solo i nomi dei pacchetti, mai il contenuto di una notifica;
- le tue soglie delle zone di frequenza cardiaca e di potenza;
- il trattamento predefinito degli avvisi di svolta, l'ordinamento e il filtro della libreria dei percorsi, e la soglia di deviazione del ricalcolo vocale;
- le tue preferenze per gli avvisi vocali;
- gli interruttori della condivisione live («condividi velocità», «condividi frequenza cardiaca e potenza», consenti messaggi), e quelli per andare live automaticamente e per inviare gli altri ciclisti al ciclocomputer;
- le preferenze di caricamento automatico su Strava e di nota di caricamento — solo se sono attive, mai un token Strava;
- se il log diagnostico è attivo;
- il modello di telefono da cui proviene la copia (per esempio «Pixel 8»), la versione dell'app, quando hai dato il consenso e quando la copia è stata aggiornata l'ultima volta.
Cosa non contiene: i tuoi percorsi, le tue uscite, la tua posizione, le località salvate, gli allenamenti salvati, quali ciclocomputer o sensori hai associato, alcun token dell'account o di Strava, il contenuto di alcuna notifica, né il log diagnostico.
Una copia per account. Ogni backup sovrascrive il precedente; non c'è uno storico. Il database consente di leggerla solo al tuo account — non a chi guarda, non ad altri ciclisti.
Eliminarla. Disattivare il backup delle impostazioni elimina subito la copia dai nostri server — è così che revochi il consenso. Anche eliminare il tuo account la elimina. Altrimenti non scade automaticamente. Se il tuo abbonamento Plus termina, non vengono creati nuovi backup; la copia esistente resta finché non disattivi il backup o elimini il tuo account, e puoi comunque disattivarlo — eliminandola — anche senza Plus.
Perché il consenso. Il tipo di pelle e il peso corporeo possono essere letti come dati sulla tua salute, quindi il backup si basa sul tuo consenso esplicito (Art. 6(1)(a) e Art. 9(2)(a) GDPR, vedi §13). Attivarlo è quel consenso; disattivarlo lo revoca.
3.2 Sincronizzazione dei percorsi
Disattivata finché non la attivi. La sincronizzazione dei percorsi conserva una copia dei tuoi percorsi nel tuo account BikeOtter, così la stessa libreria compare nell'app e nel pianificatore di percorsi di questo sito (bikeotter.app/plan). Nell'app non viene caricato nulla finché tu, dopo aver effettuato l'accesso, non la attivi in Impostazioni → Sincronizzazione cloud. Sul sito un percorso viene memorizzato quando lo salvi dopo aver effettuato l'accesso, e una volta al momento dell'accesso: un percorso pianificato senza accesso e ancora sullo schermo viene allora salvato nel tuo account. Altrimenti un percorso che pianifichi resta nel tuo browser (vedi §8). La copia è conservata da Supabase, nella stessa regione West EU (Ireland) di tutto il resto del §10.
Cosa viene memorizzato per ogni percorso: il percorso così come lo memorizza l'app stessa, cioè la traccia con il suo profilo altimetrico, le indicazioni di svolta e le soste (POI) lungo il tragitto, il fondo stradale lungo la strada, le soste pianificate e il profilo di routing se è stato pianificato, eventuali intervalli e piano di frequenza cardiaca, il suo nome, se l'hai contrassegnato con una stella, la sua impostazione delle indicazioni di svolta, da dove proviene (per esempio pianificato, un'importazione GPX o Strava) e se è stato creato su un telefono o sul sito, e un'impronta del suo contenuto per riconoscere una nuova importazione dello stesso file. Accanto: un breve riepilogo (distanza, dislivello, numero di soste, punto di partenza e area della mappa che copre) per poter elencare la libreria senza caricare ogni percorso, un numero di revisione e marche temporali perché i tuoi dispositivi capiscano quale copia è più recente e, quando chiedi al sito di inviare un percorso al tuo ciclocomputer, un indicatore che dice al tuo telefono di caricarlo sul ciclocomputer alla prossima connessione tra i due. Per ogni account conserviamo inoltre una marca temporale: quando l'account ha sincronizzato l'ultima volta.
Cosa resta sul telefono: a quale ciclocomputer è stato inviato un percorso e il collegamento dell'app con la copia su quel dispositivo, le miniature della mappa nella tua libreria e quale percorso è attivo sul tuo ciclocomputer.
Plus e Free. Con Plus si sincronizza tutta la tua libreria. Senza Plus vengono conservati nel cloud fino a 10 percorsi: quelli che hai creato sul sito e quelli che scegli di tenere nel cloud dall'app. Se hai Plus o no viene verificato sul nostro server, a partire dall'id del tuo account. Se il tuo abbonamento Plus termina, non viene eliminato nulla: i percorsi già nel cloud restano, puoi ancora aprirli ed eliminarli, e oltre i 10 non se ne aggiungono altri.
Chi può vederli. Il database lascia leggere i tuoi percorsi nel cloud solo al tuo account; non chi guarda, non altri ciclisti. Ogni modifica passa da un'unica funzione server che prima verifica chi sei. Mentre l'app è aperta resta in ascolto delle modifiche ai tuoi percorsi, così un percorso che salvi sul sito compare subito sul telefono.
Per quanto tempo vengono conservati. Un percorso sincronizzato resta finché non lo elimini, oppure finché non sono passati 24 mesi senza alcuna sincronizzazione dal tuo account, dall'app o dal sito; allora vengono eliminati tutti i percorsi nel cloud dell'account, insieme alla marca temporale della sua ultima sincronizzazione. Eliminare un percorso ne rimuove subito il contenuto. Resta un segnaposto (il suo id, un numero di revisione, da dove proviene e quando è stato eliminato) per 180 giorni, perché anche gli altri tuoi dispositivi eliminino la loro copia invece di caricarla di nuovo. Disattivare la sincronizzazione interrompe la sincronizzazione, ma non elimina ciò che è già nel cloud. Per togliere un percorso dai nostri server, scegli Tieni solo su questo telefono sul percorso nell'app (resta sul tuo telefono), oppure eliminalo sul sito, il che lo elimina anche dal tuo telefono. Eliminare il tuo account elimina tutto (vedi la pagina di eliminazione).
4. Tracciamento live
Questa è l'unica funzione che pubblica dove ti trovi. È disattivata finché non la avvii tu, e termina quando termina l'uscita.
Cos'è un link condiviso
Avviare un'uscita live crea una sessione con un token di condivisione: 20 caratteri estratti da una sorgente casuale crittografica, che dà un link nella forma bikeotter.app/r/<token>. Chiunque abbia quel link può guardare, senza account e senza accesso. Il link è la credenziale, quindi trattalo come tale — passalo alle persone che vuoi davvero che guardino. A chi guarda viene mostrato solo quanto elencato qui sotto; non riceve mai il tuo indirizzo e-mail, l'id del tuo account né il token di un'altra sessione.
Il browser di chi guarda riceve un token di accesso di breve durata limitato a quella sola sessione e con un massimo di sei ore. Il database lo impone colonna per colonna: il proprietario della sessione e il suo token di condivisione non sono affatto leggibili da chi guarda.
L'app ti mostra in tempo reale quante persone stanno guardando. Non ti dice chi sono — nessuna identità di chi guarda viene raccolta.
Cosa contiene un punto live
I punti vengono inviati mentre pedali, limitati per tempo e distanza. Ognuno contiene:
| Campo | Inviato | Note |
|---|---|---|
| Latitudine, longitudine | Sempre | Lo scopo della funzione. |
| Altitudine, tempo trascorso, pendenza, stato dell'uscita | Sempre | L'altitudine è quanto ti trovi sopra il livello del mare — la terza coordinata di
una posizione che stai già condividendo, e la stessa lettura da cui viene calcolata
la pendenza accanto, quindi le due non vengono inviate separatamente. Lo stato
dell'uscita è active, paused, auto_paused o
not_started, così la pagina può mostrare IN PAUSA invece di un
badge LIVE che mente. Tutti e quattro vengono inviati indipendentemente dai
due interruttori qui sotto, di proposito. |
| Giro e posizione nel giro | Solo in una gara | Quanti giri hai completato e quanto sei avanti in quello in corso, misurato dalla linea di partenza/arrivo. Calcolati sul tuo telefono dalla posizione qui sopra, quindi non dicono nulla che la posizione non dica già. |
| Batteria scarica | Solo se scarica — nessun interruttore | Un indicatore, non una percentuale — questa pagina non scopre mai quanta batteria ti rimane, solo che è scarica. Viene inviato solo mentre la batteria del telefono è scarica e non è in carica, così chi guarda può distinguere un telefono che sta per spegnersi da un segnale perso. Mentre questo accade, l'app invia anche la tua posizione meno spesso. |
| Velocità, distanza percorsa, dislivello salito finora, distanza e salita rimanenti, ETA | Solo con «condividi velocità» attivo — attivo per impostazione predefinita | Disattivalo e nessuno di questi sei valori viene caricato. Il «dislivello salito finora» è il totale dei metri che hai scalato in questa uscita, un dato diverso dall'altitudine qui sopra: uno è un totale progressivo, l'altra è dove ti trovi in questo momento. |
| Frequenza cardiaca, potenza, cadenza | Solo con «condividi frequenza cardiaca e potenza» attivo — disattivo per impostazione predefinita | La frequenza cardiaca è un dato sanitario. Viene caricata solo se attivi questo interruttore, che parte disattivato. La cadenza — quanto velocemente pedali, in pedalate al minuto — è governata dallo stesso interruttore anche se l'interruttore non porta il suo nome: è una lettura di sensore dello stesso tipo, e dice sul tuo sforzo quanto la potenza. Nell'app, sotto l'interruttore, c'è scritto proprio questo. |
Cosa contiene la sessione stessa
Oltre ai punti: il tuo nome da ciclista (vedi §3), il nome del percorso, la linea del percorso pianificato, la sua distanza totale, le coordinate da cui il percorso parte, i due interruttori di condivisione qui sopra, se i messaggi sono abilitati, lo stato della sessione e i suoi timestamp, e — per un'uscita di gruppo — a quale gruppo appartiene.
Quando termina e quando viene eliminata
Una sessione scade al primo di questi eventi, e la scadenza viene verificata ogni minuto:
- l'orario di scadenza impostato quando l'hai avviata — sei ore per impostazione predefinita;
- 45 minuti dopo l'ultimo punto o keep-alive dall'app, così un'uscita dimenticata non resta «live» per tutta la sera;
- 60 minuti dopo la sua creazione, se non è mai arrivata alcuna posizione.
L'eliminazione segue poi automaticamente:
- Il record della sessione viene eliminato 7 giorni dopo che è terminata o scaduta, portando con sé tutto ciò che vi è ancora collegato.
- I tuoi punti di posizione vengono eliminati con esso — gli stessi 7 giorni, non un attimo di più. Prima venivano ripuliti dopo 24 ore, in anticipo sulla sessione; ora vengono conservati per l'intera vita della sessione stessa, così un'uscita la cui registrazione sul ciclocomputer è andata persa può ancora essere ricostruita dalla traccia live dentro l'app. Nient'altro della pulizia è cambiato, e il limite massimo di conservazione di un'uscita condivisa resta invariato a 7 giorni.
Le uscite di gruppo funzionano allo stesso modo una volta che l'uscita è partita: un link di gruppo è valido per 12 ore da quando parte, contiene al massimo 50 ciclisti (15 in una gara), e il record del gruppo viene eliminato 7 giorni dopo la sua fine. Un'uscita pianificata in anticipo è diversa: il link — con i nomi di chi ha già detto che verrà — resta aperto all'adesione fino a 30 giorni prima che qualcuno parta davvero; il conto alla rovescia di 12 ore parte solo quando il primo ciclista va in diretta. Terminare una condivisione dall'app ferma immediatamente il caricamento; le pulizie eliminano poi i dati memorizzati secondo il calendario qui sopra.
Un'uscita di gruppo può essere una gara. Il telefono di ogni corridore scrive allora anche i suoi tempi sul giro in un record a parte, insieme al nome della gara e al nome del ciclista mostrato nell'elenco. Questi tempi possono leggerli i corridori di quella gara e — solo finché l'uscita di gruppo esiste ancora — chiunque ne abbia il link. Vengono cancellati 90 giorni dopo l'ultima modifica, quindi più tardi dell'uscita di gruppo stessa, perché ogni corridore possa rivedere i risultati anche dopo.
Un'uscita di gruppo può anche essere creata da un'app partner, al momento Ride Alert, dove gli organizzatori pubblicano uscite di gruppo per i loro ciclisti. Il partner ci invia il titolo dell'uscita, l'orario di partenza, facoltativamente un percorso, facoltativamente il nome visualizzato dell'organizzatore (mostrato come «Guidato da …») e un link all'uscita sul proprio sito; un'uscita creata così può essere pianificata fino a 366 giorni prima. Il partner non riceve nulla sui ciclisti: gli inviamo solo quanti ciclisti si sono uniti e quanti sono in diretta. Per unirsi serve sempre l'app BikeOtter con un account BikeOtter, e nulla del tuo account arriva al partner. Il partner può anche incorporare nella propria pagina una mappa dell'uscita in sola visione; mostra il percorso e, mentre l'uscita è in corso, la posizione in diretta di ogni ciclista, segnata con le sue iniziali invece del nome. La mappa incorporata non riceve mai il nome di un ciclista: legge l'uscita con un accesso più ristretto del link del gruppo, che comprende le posizioni e il percorso ma nessun nome, e le iniziali vengono calcolate sul nostro server. Un'uscita creata da un partner viene conservata ed eliminata esattamente come qualsiasi altra uscita di gruppo (vedi sopra).
5. Messaggi da chi guarda
Se abiliti i messaggi, chi ha raggiunto il tuo link tramite una delle tue e-mail di notifica può inviarti brevi messaggi, che compaiono sul tuo ciclocomputer. Un osservatore qualsiasi che ha soltanto il link non può — l'invio richiede un token per contatto che solo il link ricevuto per e-mail contiene.
Un messaggio memorizza il suo testo, il contatto mittente e un timestamp. I mittenti sono limitati a tre messaggi all'ora. I messaggi sono collegati alla sessione e vengono eliminati con essa — quindi entro la stessa finestra di 7 giorni del §4. I messaggi sono memorizzati in forma leggibile sul server; non sono cifrati end-to-end.
6. E-mail di notifica delle uscite
Puoi salvare contatti in modo che l'avvio di un'uscita live invii loro il link per e-mail. Non viene inviato nulla a meno che tu non scelga un gruppo quando vai live; scegliendo «nessuno per questa uscita» non parte niente.
Cosa viene memorizzato per contatto: l'indirizzo e-mail (in minuscolo), un nome facoltativo, un token di annullamento dell'iscrizione, un token per i messaggi e — se applicabile — quando ha annullato l'iscrizione o quando la posta verso quell'indirizzo è stata respinta definitivamente. I contatti sono visibili solo a te; il database nega del tutto l'accesso anonimo a essi.
Cosa contiene e rivela l'e-mail: il tuo nome da ciclista, il nome e la distanza del
percorso, il link per guardare, quando il link scade, e un link di annullamento
dell'iscrizione. Viene inviata da [email protected] da un Cloudflare Worker
per nostro conto, e il suo Reply-To è impostato sul tuo indirizzo e-mail,
così che un destinatario possa risponderti direttamente — il che significa che i tuoi
destinatari possono vedere l'indirizzo con cui hai effettuato l'accesso.
L'e-mail di arrivo (facoltativa e disattivata finché non la chiedi): se attivi «Avvisali quando torni» per un gruppo di contatti, le persone a cui è stato inviato il link di quella uscita — solo quelle, e solo se l'e-mail con il link è davvero arrivata — ricevono un breve avviso quando l'uscita finisce: che hai finito, la distanza e il tempo in movimento che l'uscita ha pubblicato, l'ora in cui sei rientrato e lo stesso link per guardare. In un'uscita con un percorso caricato puoi anche ricevere un preavviso facoltativo circa quindici minuti prima dell'arrivo stimato. La distanza è inclusa solo se la condivisione «Velocità e distanza» era attiva per quell'uscita: i valori sono riletti da ciò che l'uscita ha davvero pubblicato, mai ricostruiti dal percorso che avevi pianificato. Una sessione che si limita a scadere o a chiudersi per inattività non invia nulla — una scadenza non è un arrivo. Nessuno dei due avvisi porta con sé il token per i messaggi, perché l'uscita è finita.
Limiti: al massimo una e-mail di ciascun tipo per contatto per uscita — il link, il preavviso facoltativo e l'avviso di arrivo (un contatto non può ricevere due volte lo stesso tipo per la stessa sessione), al massimo 50 membri in un gruppo, e al massimo 200 e-mail di notifica per ciclista nelle 24 ore mobili.
Annullare l'iscrizione: ogni e-mail contiene un link di annullamento nel piè di pagina e le intestazioni standard di annullamento con un clic, quindi funziona anche il pulsante «annulla iscrizione» del client di posta. L'annullamento non richiede alcun account e ferma ogni ulteriore notifica di uscita verso quell'indirizzo.
La tua responsabilità: quando aggiungi l'indirizzo e-mail di qualcun altro ci stai chiedendo di scrivere a una persona che non ha mai avuto a che fare con noi. Aggiungi solo persone che si aspettano di ricevere tue notizie. I contatti non hanno scadenza automatica — vengono conservati finché non elimini il contatto o il tuo account.
Inviti a una gara: quando prepari una gara puoi invitare dei contatti come corridori o
come spettatori. Ogni invito viene registrato — quale contatto, quale gara, corridore o
spettatore e quando è stato inviato — perché nessuno riceva la mail due volte; il record è
visibile solo a te e viene cancellato insieme all'uscita di gruppo della gara, 7 giorni
dopo la fine. L'invito parte da [email protected] a tuo nome, con il
Reply-To impostato sul tuo indirizzo e-mail. L'invito per un corridore
contiene il tuo nome, il nome della gara, l'orario di partenza, i giri e la lunghezza del
circuito, un'immagine del percorso su una mappa, il link alla gara e una breve descrizione di
cosa fa BikeOtter in gara; quello per uno spettatore contiene il tuo nome, il nome e l'orario
di partenza della gara e il link per seguirla. Entrambi portano lo stesso link di
disiscrizione di ogni altra mail. Per ogni gara si possono invitare al massimo 15
corridori e 30 spettatori, e gli inviti rientrano nelle stesse 200 e-mail ogni 24 ore
mobili.
7. Strava
Collegare Strava è facoltativo. L'autorizzazione avviene nel browser di sistema sulle pagine di Strava; BikeOtter non vede mai la tua password di Strava.
- Permessi richiesti:
read,read_all,activity:read_alleactivity:write— quanto basta per elencare e importare i tuoi percorsi e le tue attività e per caricare le uscite. - Dove vivono i token: i tuoi token di accesso e di aggiornamento di Strava sono memorizzati solo lato server, nel nostro backend, e sono leggibili soltanto dalla funzione server che li usa. Il telefono conserva solo un valore di breve durata tenuto in memoria durante l'handshake di accesso, mai scritto su disco.
- Cosa sale: il file dell'uscita stesso (un FIT compresso), più un nome e una descrizione facoltativi, quando carichi un'uscita.
- Cosa scende: i tuoi percorsi e le tue attività di Strava, le esportazioni GPX dei percorsi, e gli stream di posizione/altitudine/tempo di un'attività quando la importi come percorso. Le risposte vengono messe in cache legate al tuo account ed eliminate dopo 48 ore.
- Scollegare revoca il token presso Strava e rimuove il collegamento memorizzato. Finché non ti scolleghi, il record del collegamento persiste — non ha scadenza automatica.
Ciò che Strava fa poi con i tuoi dati è regolato dall'informativa sulla privacy di Strava. Strava è un'azienda statunitense e usarla comporta un trasferimento di dati negli Stati Uniti.
8. Meteo, POI, geocodifica, routing e mappe
Diverse funzioni devono interrogare un servizio esterno riguardo a un luogo. C'è una distinzione significativa nel modo in cui vengono interrogati:
- Tramite il nostro backend — previsioni meteo, ricerca di POI, geocodifica e tutto ciò che riguarda Strava. Il tuo telefono interroga la nostra funzione server. Per meteo, geocodifica e Strava la funzione server interroga poi il servizio esterno, che quindi vede le coordinate o i termini di ricerca, ma non il tuo indirizzo IP. La ricerca di POI non interroga alcun servizio esterno: risponde dalla nostra copia dei dati di OpenStreetMap (vedi sotto).
- Direttamente dal tuo telefono — il calcolo dei percorsi (BRouter) e le tessere della mappa (il server di tessere di OpenStreetMap). Quei servizi ricevono la richiesta dal tuo dispositivo, quindi vedono il tuo indirizzo IP insieme alle coordinate o all'area della mappa che stai guardando, e possono registrarlo secondo le loro politiche.
- Tramite il nostro proxy di routing, dal pianificatore di percorsi di questo sito
(bikeotter.app/plan). Un browser su questo sito non può
interrogare BRouter direttamente, quindi i punti che posizioni e il profilo che scegli
vanno al nostro proxy di routing su
map.bikeotter.app, un Cloudflare Worker, che interroga BRouter (brouter.de) e ti restituisce la risposta. BRouter vede quindi le coordinate e il profilo, ma non il tuo indirizzo IP. Il proxy conserva ogni risposta fino a 24 ore, indicizzata per punti e profilo, così lo stesso percorso non viene chiesto due volte; usa il tuo indirizzo IP solo per contare le richieste ai fini di un limite di frequenza, e non conserva alcuna traccia di chi ha chiesto. La ricerca dei luoghi e i nomi mostrati per le tue tappe passano dalla stessa funzione server di geocodifica dell'app, descritta sopra.
Pianificare su questo sito non richiede un account, e nulla di ciò che pianifichi raggiunge i nostri server finché non lo salvi. A parte le cache di breve durata descritte qui, che contengono luoghi e percorsi e non persone, nulla di ciò che pianifichi arriva nel nostro archivio. Il percorso che stai disegnando resta solo nel tuo browser (vedi §15) finché non lo esporti come file GPX, che viene salvato sul tuo dispositivo e non viene inviato da nessuna parte, oppure accedi e lo salvi, e allora si aggiunge ai tuoi percorsi come descritto al §3.2.
La tua posizione attuale, su questo sito, viene chiesta solo quando premi il pulsante della posizione sulla mappa del pianificatore di percorsi o "Aggiungi la mia posizione", e il tuo browser ti chiede prima il permesso. La posizione viene usata nel tuo browser per centrare la mappa; se la aggiungi, diventa una tappa come le altre, inviata per calcolare il percorso come descritto sopra. Non la conserviamo.
Le soste lungo il percorso, su questo sito, vengono cercate solo quando hai effettuato l'accesso, tramite la stessa funzione di ricerca POI dell'app, descritta sopra. La richiesta contiene la traccia del percorso, le categorie che hai scelto e l'id del tuo account. L'id dell'account permette alla funzione di verificare se hai Plus e di contare gli utilizzi gratuiti per account invece che per browser (vedi il paragrafo successivo).
Utilizzi gratuiti. La ricerca di POI, il meteo, la ricerca di luoghi e l'organizzazione di un'uscita di gruppo sono funzioni Plus che si possono provare qualche volta senza Plus. Per contare questi utilizzi, l'app invia un identificativo casuale che crea sul tuo telefono e conserva nella memoria sicura del telefono, insieme al tuo id cliente RevenueCat, così che il nostro server possa chiedere a RevenueCat se hai Plus (vedi §10). Il nostro server tiene un piccolo record per identificativo e per funzione: quanti utilizzi sono stati spesi e quando è cambiato l'ultima volta. L'identificativo non è collegato al tuo account, quindi il record non ha una scadenza automatica e non può essere ricondotto a te quando elimini il tuo account; non dice altro che quante volte un'installazione ha usato una funzione. Su questo sito, invece, il conteggio è tenuto con l'id del tuo account, e quel record viene eliminato insieme al tuo account.
Le risposte di meteo e geocodifica vengono messe in cache dal nostro lato, così le ricerche ripetute non re-interrogano: il meteo per 2 ore, la geocodifica per circa una settimana. Le cache sono indicizzate per luogo, non per ciclista.
Da dove vengono i POI. La ricerca di POI risponde da una tabella del nostro database (Supabase, vedi §10) con circa 10 milioni di punti di interesse, come acqua potabile, cibo, bagni e negozi di bici, presi da un estratto dell'intero database di OpenStreetMap. La aggiorniamo a mano di tanto in tanto da un estratto più recente, non con una cadenza fissa, quindi un luogo aggiunto di recente a OpenStreetMap potrebbe non esserci ancora. L'area di ricerca (un punto e un raggio, o la traccia di un percorso) e le categorie non vanno oltre il nostro server, e le risposte non vengono messe in cache.
9. Il log diagnostico
L'app tiene un log tecnico per rendere segnalabili i problemi Bluetooth e di assistenza.
- È attivo per impostazione predefinita. Un ciclista che incontra un problema ha così un log da allegare senza aver avuto la lungimiranza di attivare prima la registrazione. Disattivalo in qualsiasi momento in Impostazioni → Diagnostica.
- Password, token e chiavi API vengono rimossi prima che qualcosa venga scritto — un bearer token, una chiave API, un token di magic link o un codice OAuth che compare in qualsiasi punto del log diventa un contrassegno unidirezionale, non la credenziale stessa.
- Resta sul telefono finché non lo alleghi a una richiesta di assistenza. Due file a rotazione nella memoria propria dell'app; niente lascia il telefono prima di allora. Non c'è alcun passaggio di composizione di un'e-mail — una richiesta di assistenza viene inviata dall'interno dell'app stessa, come messaggio in una conversazione di assistenza in corso (vedi il punto successivo). Allegare lì il log lo carica in un bucket di archiviazione privato, e quella copia caricata viene eliminata dopo 180 giorni. Puoi cancellare la copia sul telefono, o disattivare il log, in qualsiasi momento in Impostazioni → Diagnostica.
- Una richiesta di assistenza è una conversazione, non un'e-mail una tantum. Qualunque cosa tu scriva — con o senza log allegato — viene memorizzata come parte di una conversazione di assistenza in corso legata al tuo account e al tuo indirizzo e-mail di accesso. È leggibile dal personale BikeOtter che risponde alle richieste di assistenza, e da nessun altro. La conversazione stessa viene conservata finché non elimini il tuo account, momento in cui viene eliminata con esso (vedi la pagina di eliminazione); un log caricato segue comunque il suo orologio di 180 giorni, indipendente dall'account.
- Uno screenshot che alleghi tu viene conservato allo stesso modo. L'editor dell'assistenza accetta un'immagine per messaggio, scelta da te nella libreria foto del telefono: non viene mai letta automaticamente né presa dalla galleria in background. Quello che hai scelto viene caricato in un bucket di archiviazione privato separato, è leggibile dalle persone di BikeOtter che rispondono alle richieste di assistenza e da nessun altro, e viene eliminato dopo 180 giorni, con lo stesso orologio di un log caricato. Uno screenshot mostra quello che era sullo schermo: guardalo prima di allegarlo; puoi toglierlo nell'editor finché non invii il messaggio.
- Il feedback lasciato senza account è davvero anonimo. La scorciatoia Lascia un feedback nella schermata iniziale non ti chiede di accedere. Ciò che viene memorizzato è quello che hai scritto, la versione dell'app e la piattaforma, un identificatore casuale generato sul tuo telefono che esiste solo per permetterci di limitare gli abusi, e — solo se scegli di inserirne uno — un indirizzo e-mail così che possiamo risponderti. Lascia vuoto quel campo e non abbiamo alcun modo di collegare il messaggio a te: né a un account, né a un nome, né a un dispositivo che potremmo identificare. È leggibile dal personale BikeOtter e da nessun altro.
- La conseguenza onesta di questo anonimato: se non hai lasciato un indirizzo, non possiamo riconoscere un messaggio di feedback come tuo, il che significa che non possiamo nemmeno eliminarlo su richiesta — non c'è nulla con cui confrontarti. Se vuoi avere questa possibilità, lascia un indirizzo oppure usa invece la conversazione di assistenza, che è legata al tuo account e se ne va quando se ne va l'account.
- Cosa contiene: versione e build dell'app, modello del telefono, versione del sistema operativo, lingua e fuso orario, più una traccia tecnica delle connessioni ai dispositivi e degli eventi dell'app. I token di condivisione live vengono troncati prima di essere scritti. Può contenere coordinate di posizione — almeno una funzione dei dispositivi registra latitudine e longitudine del ciclista — più coordinate dei percorsi, luoghi salvati e numeri di serie dei dispositivi. Questo non viene oscurato, quindi tratta un log diagnostico come dati che ti riguardano, e invialo solo a qualcuno di cui ti fidi.
10. Terze parti che usiamo
L'elenco completo dei servizi esterni contattati dall'app, dal backend e da questo sito. Non ce ne sono altri, e in particolare non c'è alcun servizio di analytics, attribuzione, pubblicità o crash reporting in nessuna parte del prodotto.
| Servizio | Usato per | Cosa riceve |
|---|---|---|
| Supabase | Database, accesso, funzioni server e il feed in tempo reale dietro il tracciamento live e la sincronizzazione dei percorsi | Tutto ciò descritto nei §3–§8 che viene effettivamente memorizzato, più i metadati di connessione che qualsiasi host vede. Ospitato nell'UE — il progetto gira nella regione West EU (Ireland) di Supabase, quindi questi dati sono conservati all'interno del SEE. |
| Cloudflare | Hosting di bikeotter.app e delle pagine di
visualizzazione; il Worker che invia le e-mail di notifica delle uscite; il server delle
mappe e il proxy di routing del pianificatore di percorsi di questo sito su
map.bikeotter.app | Le richieste a questo sito e all'endpoint di posta, indirizzo IP incluso, nell'ambito del servirle e proteggerle. Per il pianificatore di percorsi, anche i punti che posizioni e il profilo che scegli (vedi §8). I log delle richieste del Worker sono conservati secondo i valori predefiniti di Cloudflare. |
| Open-Meteo | Previsioni meteo | Coordinate e orari, inviati dal nostro server, non dal tuo telefono. |
Photon (photon.komoot.io) e Nominatim
(nominatim.openstreetmap.org) | Trasformare i nomi dei luoghi in coordinate e viceversa | Il termine di ricerca o le coordinate, inviati dal nostro server. |
BRouter (brouter.de) | Calcolare un percorso tra i tuoi punti intermedi | Le coordinate dei tuoi punti intermedi e il profilo scelto — inviati direttamente dal tuo telefono, quindi vede il tuo indirizzo IP. Dal pianificatore di percorsi di questo sito li invia invece il nostro proxy di routing, quindi lì BRouter non vede il tuo indirizzo IP. |
| Server di tessere di OpenStreetMap | Le immagini della mappa nell'app e sulla pagina di visualizzazione | Quali tessere della mappa stai guardando — richieste direttamente, quindi vede il tuo indirizzo IP. |
| Strava | Importazione facoltativa di percorsi/attività e caricamento delle uscite | Vedi §7. Stati Uniti. |
| RevenueCat (RevenueCat, Inc.) | Acquisti di Plus e verifica che tu abbia Plus | Dall'app, direttamente e a ogni avvio: il tuo id cliente RevenueCat (un id casuale finché non accedi, poi l'id del tuo account), gli acquisti e le ricevute dell'App Store o di Google Play, e i soliti dati dell'app e del dispositivo, come piattaforma e versioni del sistema operativo e dell'app. Richiesto direttamente, quindi vede il tuo indirizzo IP. Dal nostro server, quando una funzione deve sapere se hai Plus: quell'id cliente (da questo sito, l'id del tuo account). Conserviamo la risposta, sì o no, con l'ora della richiesta, e chiediamo di nuovo dopo 10 minuti. Stati Uniti. |
| Shorebird | Consegna over-the-air di correzioni al codice dell'app installata | Un controllo di aggiornamento all'avvio. Vedi §10.1 — non è facoltativo. |
| YouTube (Google Ireland Limited) | La riproduzione dei due video nella home page di questo sito — e solo quando premi play | Il tuo indirizzo IP, la pagina su cui hai premuto play e i consueti dati del browser — richiesto direttamente dal tuo browser a youtube-nocookie.com, quindi Google vede il tuo indirizzo IP. Vedi §15. |
Gli store delle app sono una cosa a parte: se installi BikeOtter dall'App Store di Apple o da Google Play, tra te e loro valgono le regole di quello store su account, acquisti e crash reporting, che sono fuori dal nostro controllo.
10.1 Shorebird, e perché contatta un server senza chiedere
BikeOtter viene rilasciato tramite Shorebird, che ci permette di consegnare una correzione al codice Dart dell'app over-the-air, tra una release dello store e l'altra. È il meccanismo dietro una patch che arriva senza un aggiornamento dello store.
La parte che dovresti sapere: l'app controlla se c'è una patch all'avvio, automaticamente, e non esiste un'impostazione per disattivarlo. La nostra configurazione non disabilita il controllo automatico, e l'app non offre alcuna possibilità di rinuncia — l'unico modo per fermarlo è non avviare l'app. Preferiamo dirlo chiaramente piuttosto che nasconderlo.
Non gestiamo i server di Shorebird e non possiamo osservare cosa invia il suo updater, perché l'updater è integrato nel runtime dell'app e non in codice che scriviamo noi. Ciò che un controllo del genere comporta necessariamente, però, non è questione di opinioni: per ricevere risposta deve identificare quale app sta chiedendo (il nostro id app di Shorebird, che non è segreto ed è lo stesso per ogni installazione) e quale versione e livello di patch è già installato, e — come ogni richiesta di rete — raggiunge i server di Shorebird dal tuo indirizzo IP. Presumi che Shorebird possa vedere almeno questo, e che possa registrarlo come qualsiasi host registra le richieste.
Due cose che non siamo riusciti ad accertare e su cui non tireremo a indovinare: il contenuto esatto di quella richiesta oltre a quanto sopra, e il paese in cui si trovano i suoi server. Se ti serve una delle due prima di installare, chiedicelo e otterremo la risposta di Shorebird per iscritto invece di speculare qui.
Cosa possiamo escludere: il controllo non è legato al tuo account, e BikeOtter funziona senza accesso, quindi la richiesta non porta con sé alcuna identità che le abbiamo dato noi. Una patch cambia il codice dell'app — mai i tuoi dati, le tue uscite o i tuoi percorsi.
11. Permessi del telefono
L'app chiede il minimo possibile, e ogni permesso serve esattamente a una cosa.
| Permesso | Perché |
|---|---|
| Bluetooth | Per trovare e comunicare con il tuo ciclocomputer e i tuoi sensori. Su Android il permesso di scansione è dichiarato come mai usato per ricavare la posizione. |
| Posizione | Posizione approssimativa su Android, «mentre usi l'app» su iOS: per cercare POI vicino a te e per avviare un ricalcolo del percorso da dove ti trovi. La posizione in background non viene richiesta su nessuna delle due piattaforme. Durante un'uscita la posizione che viene condivisa arriva dal ciclocomputer via Bluetooth. |
| Microfono e riconoscimento vocale | Comandi vocali. Il riconoscimento avviene sul dispositivo; l'audio non viene inviato da nessuna parte. |
| Notifiche | Per mostrare la notifica persistente dell'uscita e gli avvisi. |
| Accesso alle notifiche (solo Android) | Facoltativo. Permette all'app di leggere le notifiche in arrivo sul telefono per poterle mostrare sul tuo ciclocomputer. Lo concedi tu nelle impostazioni di sistema, e i loro contenuti non vengono mai memorizzati né caricati. |
| Avvio automatico / esenzione batteria (solo Android) | Perché un'uscita interrotta possa riprendere dopo un riavvio e non venga terminata a metà uscita. |
L'app non chiede foto, fotocamera, la rubrica del telefono, il calendario né alcun identificatore pubblicitario, e non usa il permesso di tracciamento di Apple perché non traccia.
12. Conservazione in sintesi
| Dati | Conservati per |
|---|---|
| Punti di posizione live | 7 giorni dopo che l'uscita termina o scade — eliminati con la loro sessione |
| Record della sessione live | 7 giorni dopo che termina o scade |
| Record dell'uscita di gruppo | 7 giorni dopo che termina o scade |
| Tempi sul giro di una gara | 90 giorni dopo l'ultima modifica — restano anche dopo che l'uscita di gruppo è stata cancellata |
| Inviti a una gara (chi hai invitato) | Cancellati con l'uscita di gruppo della gara — 7 giorni dopo che termina o scade |
| Messaggi da chi guarda | Eliminati con la loro sessione — quindi entro gli stessi 7 giorni |
| Cache del meteo | 2 ore |
| Cache della geocodifica | 8 giorni |
| Cache dei percorsi del proxy del pianificatore di percorsi del sito | Fino a 24 ore |
| Cache delle risposte di Strava | 48 ore |
| Contatti e i loro record di notifica | Finché non elimini il contatto o il tuo account — nessuna scadenza automatica |
| Collegamento a Strava | Finché non ti scolleghi o elimini il tuo account |
| Contatore degli utilizzi gratuiti (vedi §8) | Nell'app: tenuto con un identificativo sul tuo telefono, non con il tuo account, senza scadenza automatica. Su questo sito: finché non elimini il tuo account |
| Il nostro record che indica se hai Plus (da RevenueCat) | Verificato di nuovo dopo 10 minuti quando serve. Un record legato all'id del tuo account viene eliminato con il tuo account; uno legato all'id casuale usato prima dell'accesso non ha scadenza automatica |
| Percorsi sincronizzati (sincronizzazione dei percorsi, o salvati su questo sito) e quando hai sincronizzato l'ultima volta | Finché non li elimini o elimini il tuo account, oppure 24 mesi dopo la tua ultima sincronizzazione, a seconda di cosa avviene prima |
| Segnaposto lasciato da un percorso che hai eliminato dal cloud | 180 giorni, perché anche gli altri tuoi dispositivi eliminino la loro copia |
| Backup delle impostazioni (Plus, solo se l'hai attivato) | Finché non disattivi il backup — il che lo elimina subito — o elimini il tuo account; nessuna scadenza automatica |
| Record dell'account | Finché non ci chiedi di eliminarlo — vedi come eliminare il tuo account |
| Conversazione di assistenza (thread e messaggi) | Finché non elimini il tuo account — vedi come eliminare il tuo account |
| Indirizzo di contatto della wishlist (solo se hai acconsentito) | Finché non elimini il tuo account |
| Feedback anonimo (scorciatoia nella schermata iniziale) | Conservato finché non gli abbiamo dato seguito — nessuna scadenza automatica. Se non hai lasciato un indirizzo per la risposta non può essere riconosciuto come tuo, quindi non può essere eliminato su richiesta |
| Log diagnostico | Sul tuo telefono per impostazione predefinita, ruotato automaticamente, eliminabile da te in qualsiasi momento; se allegato a una richiesta di assistenza, la copia caricata viene conservata 180 giorni con il proprio orologio, indipendente dall'account |
| Screenshot allegato a un messaggio di assistenza | 180 giorni, con il proprio orologio, indipendente dall'account |
I log di server e piattaforma tenuti dai nostri fornitori di hosting (Supabase, Cloudflare) seguono i valori di conservazione predefiniti di quei fornitori e possono contenere brevemente indirizzi IP come parte inevitabile del servire una richiesta.
13. Basi giuridiche
- Art. 6(1)(b) GDPR — eseguire ciò che hai chiesto. Farti accedere, gestire una condivisione live che hai avviato, inviare le e-mail di notifica che hai richiesto, caricare un'uscita su un account Strava che hai collegato, calcolare un percorso che hai disegnato, conservare i percorsi che hai sincronizzato o salvato su questo sito, verificare se hai Plus e contare i tuoi utilizzi gratuiti, e inviare una richiesta di assistenza con il log diagnostico allegato.
- Art. 9(2)(a) GDPR — consenso esplicito per i dati sanitari. Frequenza cardiaca e potenza sono dati sanitari. Vengono caricate solo quando attivi «condividi frequenza cardiaca e potenza»; l'interruttore è disattivato per impostazione predefinita e disattivarlo ferma il caricamento. La cadenza viene caricata sotto lo stesso interruttore. Non sosteniamo che la cadenza sia un dato sanitario nel senso dell'Art. 9 — è una lettura da un sensore sulla pedivella, non dal tuo corpo — ma appartiene alla stessa famiglia e riceve la stessa protezione invece di una più debole.
- Art. 6(1)(a) e Art. 9(2)(a) GDPR — consenso esplicito, per il backup delle impostazioni. Una copia delle tue impostazioni viene caricata solo dopo che tu, avendo Plus, hai attivato il backup delle impostazioni; è disattivo per impostazione predefinita. Poiché la copia include il tuo tipo di pelle e il tuo peso corporeo, che possono essere letti come dati sulla salute, trattiamo la sua attivazione come consenso esplicito ai sensi dell'Art. 9. Disattivarlo revoca il consenso ed elimina la copia. Vedi §3.1.
- Art. 6(1)(a) GDPR (e, per ciò che il player salva nel tuo browser, § 25(1) TDDDG) — consenso, per i video nella home page. Premere play su un video è la richiesta di caricare il player di YouTube, e prima non si carica nulla da YouTube. Lo revochi semplicemente non premendo più play: lasciare o ricaricare la pagina rimuove il player.
- § 25(2) No. 2 TDDDG — memorizzazione strettamente necessaria nel tuo browser, per le poche voci che questo sito conserva nel local storage del tuo browser: la lingua e il tema che hai scelto, ciò che la demo lascia dietro di sé, un accesso alla wishlist o al pianificatore di percorsi (con il suo codice monouso per Strava) e il percorso che stai disegnando nel pianificatore di percorsi, con l'indicazione di quale dei tuoi percorsi salvati sia. Il §15 le elenca una per una. Per queste non serve alcun consenso, e non ne viene chiesto nessuno.
- Art. 6(1)(f) GDPR — interessi legittimi a mantenere il servizio funzionante e al riparo dagli abusi: limiti di frequenza, protezioni una-e-mail-per-contatto-per-uscita, gestione dei bounce, la registrazione minima delle richieste eseguita dai nostri host, e il log diagnostico sul dispositivo attivo per impostazione predefinita così che una richiesta di assistenza possa includerne uno — puoi disattivarlo in Impostazioni → Diagnostica in qualsiasi momento.
Revocare il consenso è sempre possibile e ha effetto da quel momento in poi: termina la condivisione, disattiva l'interruttore frequenza cardiaca/potenza, disattiva il log, scollega Strava, elimina il contatto, disattiva il backup delle impostazioni, elimina un percorso sincronizzato o tienilo solo sul tuo telefono.
14. I tuoi diritti
Secondo il GDPR hai il diritto di accedere ai tuoi dati (Art. 15), di farli rettificare (Art. 16) o cancellare (Art. 17), di limitare il trattamento (Art. 18), di riceverli in forma portabile (Art. 20), e di opporti al trattamento basato su interessi legittimi (Art. 21). Dove il trattamento si basa sul consenso, puoi revocarlo in qualsiasi momento.
Scrivi a support@bikeotter.app e ce ne occuperemo. Molto puoi anche farlo da te nell'app: terminare una condivisione, eliminare un contatto, scollegare Strava, cancellare il log diagnostico, disattivare il backup delle impostazioni (il che elimina la copia sui nostri server), eliminare un percorso sincronizzato o tenerlo solo sul tuo telefono.
La cancellazione (Art. 17) ha una pagina tutta sua, perché merita il dettaglio: come eliminare il tuo account — i passaggi, cosa viene cancellato con esso, cosa viene conservato dopo e per quanto tempo.
Se pensi che abbiamo sbagliato, puoi presentare reclamo a un'autorità di controllo per la protezione dei dati — nell'UE, quella del luogo in cui vivi, in cui lavori o in cui è avvenuta la presunta violazione (Art. 77 GDPR).
15. Questo sito web
bikeotter.app è un insieme di pagine statiche ospitate su Cloudflare. Non imposta nessun cookie e non esegue nessuna analytics. Conserva invece alcune piccole voci nel local storage del tuo browser, ognuna scritta per via di qualcosa che hai scelto o di una funzione che hai usato. Tutte tranne due non lasciano mai il tuo browser: vengono lette dalla pagina stessa e da nient'altro — non da noi, non da nessuno. Le due che lo lasciano esistono solo se accedi, sulla pagina della wishlist o nel pianificatore di percorsi: vengono inviate al nostro backend, perché è così che funziona l'accesso. L'elenco completo:
| Voce (chiave) | Cosa contiene, e perché | Inviata da qualche parte? |
|---|---|---|
bikeotter:lang | Un codice di lingua, per esempio de. Viene scritta quando scegli una lingua in fondo a una pagina — oppure alla tua prima visita a una pagina in inglese, se il tuo browser chiede tedesco, spagnolo, francese, italiano o polacco: il sito allora ti porta a quella lingua una volta sola, e ricorda di averlo fatto, così non ti cambia mai più lingua contro una scelta che hai fatto tu. | No |
bikeotter-site-theme | light o dark. Viene scritta solo quando premi il pulsante chiaro/scuro nell'intestazione, così che la pagina successiva si apra nel tema che hai scelto. Finché non lo premi non viene memorizzato nulla, e le pagine seguono l'impostazione del tuo sistema. | No |
FlutterSecureStorage e FlutterSecureStorage.plus_device_key | Solo dalla demo su /it/demo/, e solo dopo che vi hai avviato un'uscita di gruppo: un identificatore casuale, cifrato con una chiave conservata accanto. La demo è la vera app, che crea questo identificatore quando avvii un'uscita di gruppo; nella demo quell'uscita è simulata dentro il tuo browser, quindi l'identificatore non serve a nulla e semplicemente resta lì. | No |
sb-ccskijubebzhwpknjkpl-auth-token | Solo se accedi sulla pagina della wishlist o nel pianificatore di percorsi: la tua sessione di accesso — un token di accesso, un token di aggiornamento, e l'id utente e l'indirizzo e-mail del tuo account — così che tu risulti ancora connesso quando torni. | Sì, al nostro backend (Supabase, vedi §10), con ogni richiesta che la pagina della wishlist o il pianificatore di percorsi fa mentre sei connesso — è così che ciascuno dei due sa che un voto, un suggerimento o un percorso salvato è tuo |
bikeotter.strava.web.pending | Solo mentre accedi al pianificatore di percorsi con Strava: un codice casuale monouso, creato nel tuo browser quando premi «Continua con Strava» e conservato per i pochi istanti che passi sulla pagina di Strava. Dimostra al nostro backend che l'accesso che torna da Strava è quello avviato da questo browser. Viene conservato nel session storage di quella scheda, che il browser svuota quando la chiudi, e cancellato appena l'accesso si conclude. | Sì, una volta, al nostro backend (Supabase, vedi §10), per concludere quell'accesso. All'inizio viene inviata solo un'impronta del codice (un hash SHA-256) |
bikeotter.planner.cloud.v1 | Solo se accedi al pianificatore di percorsi: l'id utente del tuo account, l'id e il numero di revisione del percorso salvato che hai aperto (vuoti per un percorso non ancora salvato), e se ha modifiche che non hai salvato. Permette a un ricaricamento di riaprire lo stesso percorso salvato, ed evita che un percorso disegnato prima dell'accesso venga salvato due volte. Viene riscritto quando apri, salvi o modifichi un percorso, ed eliminato quando esci dal pianificatore di percorsi. | No. Salvare un percorso invia il suo id e la sua revisione al nostro backend (vedi §3.2), ma questa voce in sé non lascia mai il tuo browser |
bikeotter.planner.draft.v1 | Solo se usi il pianificatore di percorsi su bikeotter.app/plan: il percorso che stai disegnando (le sue tappe e i loro nomi, il profilo, se torna al punto di partenza e quando è stato salvato l'ultima volta) o un file GPX che hai importato, così che ricaricare la pagina o chiudere la scheda non lo faccia perdere. Viene sovrascritta mentre modifichi e resta finché non cancelli i dati di questo sito nel tuo browser. | No. I punti vengono inviati per calcolare il percorso (vedi §8), ma questa voce in sé non lascia mai il tuo browser |
bikeotter.planner.poiTypes.v1 | Solo se cerchi soste lungo il percorso nel pianificatore di percorsi: le categorie che hai attivato (acqua potabile, cibo, caffè e così via), così che la ricerca successiva cerchi le stesse. Viene riscritta quando attivi o disattivi una categoria e resta finché non cancelli i dati di questo sito nel tuo browser. | No. Le categorie vengono inviate con ogni ricerca (vedi §8), ma questa voce in sé non lascia mai il tuo browser |
Per rimuoverle, cancella i dati di questo sito nel tuo browser — nella maggior parte dei browser tramite l'icona a sinistra della barra degli indirizzi, oppure nelle impostazioni per cookie e dati dei siti. Una finestra privata parte senza nessuna di esse e le dimentica quando la chiudi. Se il tuo browser blocca i dati dei siti, le pagine funzionano comunque: seguono la lingua e il tema del tuo sistema, e semplicemente non possono ricordare una scelta.
Perché non ti viene chiesto prima. Memorizzare e leggere queste voci non richiede alcun consenso ai sensi del § 25(2) No. 2 TDDDG, perché ognuna è strettamente necessaria per qualcosa che hai chiesto a questo sito: pagine nella tua lingua e nel tema che hai scelto, la demo che hai aperto, il percorso che stai pianificando, e restare connesso alla wishlist o al pianificatore di percorsi. La sessione di accesso è un dato personale, e per essa la base giuridica è l'Art. 6(1)(b) GDPR (§13). Qui non c'è nient'altro a cui acconsentire, ed è per questo che non ti viene chiesto. L'unica eccezione è un video nella home page, descritto più sotto: premere il suo pulsante play equivale al consenso.
Ogni risorsa di cui una pagina qui ha bisogno viene servita da questo sito. I caratteri (Archivo e Geist Mono) sono ospitati da noi invece che scaricati da un CDN di font, proprio perché leggere una pagina non consegni il tuo indirizzo IP a una terza parte. Non c'è alcun tag manager, alcun widget di condivisione, alcun servizio di web font, né alcun player video finché non ne chiedi uno. L'unica parte che vede necessariamente la tua richiesta è Cloudflare, che ospita le pagine — inevitabile, visto che qualcosa deve pur servirle.
I video nella home page sono l'unica eccezione, e solo quando premi play. La home page mostra due video di BikeOtter ospitati su YouTube. Con la pagina si caricano solo un'immagine di anteprima e un pulsante play, entrambi serviti da questo sito; nessuna richiesta parte verso YouTube o Google finché non premi play. Premere play sostituisce l'anteprima con il player di YouTube, caricato da youtube-nocookie.com — la modalità di privacy avanzata di YouTube, gestita da Google Ireland Limited, Gordon House, Barrow Street, Dublino 4, Irlanda. Da quel momento il tuo browser parla direttamente con Google: Google riceve il tuo indirizzo IP, l'indirizzo della pagina e i consueti dati del browser, e mentre il video è in riproduzione il player può salvare identificativi nel tuo browser e inviare a Google informazioni sulla riproduzione, che Google può trattare anche negli Stati Uniti (Google LLC è certificata nell'ambito del Data Privacy Framework UE-USA). La modalità di privacy avanzata significa che YouTube non usa la visione di un video incorporato per personalizzare ciò che ti mostra altrove su YouTube — ma non è anonima. Noi non riceviamo nulla di tutto ciò. Si applica l'informativa sulla privacy di Google: policies.google.com/privacy. Se non premi play, non succede nulla di tutto questo. Il link «Guarda su YouTube» sotto ogni video lo apre invece su youtube.com, dove valgono le normali condizioni di YouTube.
Il visualizzatore di tracciamento live su bikeotter.app/r/… e il visualizzatore di gruppo su /g/… e la mappa in sola visione che un partner incorpora su /w/… caricano in aggiunta i dati dell'uscita condivisa dal nostro backend e le tessere della mappa da OpenStreetMap. Aprire un link di visualizzazione, deliberatamente, non lascia alcuna sessione nel tuo browser: il token di accesso che usa è tenuto in memoria solo per quella visita e non viene salvato. Chi guarda viene contato, non identificato.
Il pianificatore di percorsi su bikeotter.app/plan carica in
aggiunta la sua mappa dal nostro server delle mappe su map.bikeotter.app, e invia
i punti che posizioni al nostro proxy di routing e ciò che scrivi nella sua casella di ricerca
alla nostra funzione di geocodifica, come descritto al §8. Funziona senza account
e non salva nulla sui nostri server, a meno che tu non acceda e salvi un percorso
(§3.2). Dopo l'accesso carica anche i tuoi percorsi salvati dal nostro
backend e cerca soste lungo il percorso tramite la nostra funzione di ricerca POI
(§8).
I link di visualizzazione sono esclusi dai motori di ricerca tramite
robots.txt, e ognuno porta un'istruzione noindex, quindi un'uscita
condivisa non è pensata per comparire nei risultati di ricerca.
16. Minori
BikeOtter non è rivolta ai minori e non è destinata all'uso da parte di chi ha meno di 16 anni. Non raccogliamo consapevolmente dati di minori. Se ritieni che un minore abbia usato l'app con un account, scrivici e lo elimineremo.
17. Modifiche
L'app è giovane e sta ancora cambiando. Se cambia ciò che raccoglie, questa pagina cambia con essa, e la versione e la data in alto si aggiornano. Le modifiche sostanziali verranno segnalate nell'app invece di essere introdotte in sordina.
18. Contatti
Domande, richieste o una correzione a qualcosa su questa pagina: support@bikeotter.app.
Vedi anche i termini d'uso e l'avvertenza sulla sicurezza e le note legali.