Racchiudere un'applicazione che sto scrivendo che spero possa avere una base di utenti decente. Sarà gratuito e open source, ma sono interessato a raccogliere alcuni dati analitici sulla base di installazione. Essenzialmente una versione ridotta di Google Analytics, ma per un'applicazione desktop invece di un sito web.
I dettagli che vorrei raccogliere sono:
- Versione dell'app precedente (se presente)
- Versione dell'app corrente
- Versione del SO
- Posizione geografica regionale (solo paese / città, probabilmente basata su IP).
- Hash di sistema unico (per determinare il numero di installazioni uniche)
Ho la sensazione che i primi tre potrebbero probabilmente essere fatti senza preoccupazioni reali dato che sono punti dati raccolti praticamente da TUTTI i siti web esistenti senza chiedere mai il permesso.
La posizione geografica mi sta ancora abbastanza bene è OK. Ancora una volta, raccolti da ogni sito web là fuori ... e diamine, ottengono anche il tuo attuale IP. Non vorrei ottenere questo, ma in realtà risolvere il lato client di geolocalizzazione e inviare SOLO quello. Tutti questi dati verrebbero probabilmente inviati a un modulo Google Documenti, quindi non avrei accesso IP nemmeno a livello di raccolta.
Sono un po 'più preoccupato per l'hash del sistema univoco, in quanto le persone potrebbero vederlo come identificabile. Tuttavia, il mio attuale pensiero è quello di raccogliere la scheda madre del sistema e il seriale della CPU, concatenarli insieme e quindi creare un hash (probabilmente MD5) da quella stringa. La stessa cosa che si fa con le password, non c'è modo di invertire la cosa in modo davvero NESSUN modo per capire a chi appartengono effettivamente i dati. Dovresti avere quell'hash specifico da ogni computer con le informazioni del proprietario per abbinarli.
Quindi, probabilmente sto bene, ma voglio solo coprirmi il culo qui.
Qualche idea da parte della comunità se i dati che voglio raccogliere sono ragionevoli o se ci sono alcuni punti dati che non dovrei raccogliere (o nessuno). Come accennato in precedenza, l'applicazione sarà completamente open source, quindi sarebbe più che in grado di esaminare il codice e verificare che non vengano inviati dati discutibili. L'unica cosa che potrei essere tentato di "nascondere" è l'indirizzo effettivo del modulo di raccolta, puramente qualcuno non decide di spammare con dati falsi (forse sono un paranoico). Così com'è, l'app utilizza alcune API Web per le quali dispongo di chiavi personali che non possono essere distribuite nella sorgente archiviata, quindi ho un file che viene omesso dal controllo del codice sorgente che contiene cose come quelle chiavi API. L'applicazione funziona ancora senza di loro, solo in un modo più limitato e chiunque potrebbe ottenere una chiave e compilare per renderlo completo. Immagino di poter inserire l'URL del modulo in questa sezione.
Pensieri?