Privacy Policy
Ultimo aggiornamento: 4 giugno 2026 · Versione 1.1
1. Titolare del trattamento
Vendor Vault è gestita da sanvil, sviluppatore individuale. Per qualsiasi questione relativa alla privacy puoi contattarci a [email protected].
2. Dati raccolti
2.1 Modalità Free (offline-only)
Nella modalità Free nessun dato viene inviato a server esterni. Tutti i contenuti (catalogo prodotti, vendite, foto, sessioni cassa, trade-in) restano esclusivamente sul tuo dispositivo, nel database SQLite locale dell'app.
2.2 Modalità Pro (con account)
Per attivare le funzionalità Pro (sync multi-dispositivo, backup cloud, analytics) ti chiediamo di creare un account con email + password. I dati raccolti sono:
| Dato | Finalità | Base giuridica | Conservazione |
|---|---|---|---|
| Account, recupero password, comunicazioni di servizio | Esecuzione contratto (art. 6.1.b GDPR) | Finché l'account è attivo | |
| Password (hash) | Autenticazione | Esecuzione contratto | Finché l'account è attivo |
| Catalogo prodotti, vendite, trade-in, sessioni | Sync tra i tuoi dispositivi | Esecuzione contratto | Finché l'account è attivo o su richiesta cancellazione |
| Foto prodotti / trade-in | Sync tra i tuoi dispositivi | Esecuzione contratto | Finché l'account è attivo (downgrade Free → retention permanente sul cloud) |
| Receipt acquisto Pro (Apple/Google/Stripe) | Verifica abbonamento attivo, anti-frode | Esecuzione contratto + obbligo legale | 10 anni (obbligo fiscale) |
| Indirizzo IP (request log) | Sicurezza, anti-abuse | Legittimo interesse (art. 6.1.f GDPR) | 30 giorni |
2.3 App mobile — analytics d'uso e report crash
L'app mobile integra Firebase Analytics per misurare l'uso aggregato del prodotto (ad es. quali funzionalità sono più usate). È attivo di default sulla base del nostro legittimo interesse (art. 6.1.f GDPR — migliorare stabilità e qualità del prodotto), e puoi disattivarlo in qualsiasi momento da Impostazioni → Privacy / consensi ("Analytics anonimi"). I dati sono anonimizzati/pseudonimizzati. Su Android rimuoviamo esplicitamente il permesso com.google.android.gms.permission.AD_ID (dichiarato come tools:node="remove" nel manifest): non usiamo l'advertising ID, e l'attribuzione del primo avvio di Firebase funziona senza. Non mostriamo pubblicità in-app e non ti targetizziamo con advertising personalizzata. Su iOS usiamo Firebase/AnalyticsWithoutAdIdSupport: nessun tracking IDFA, nessun prompt App Tracking Transparency.
Per la diagnostica crash integriamo Sentry (regione EU, Frankfurt). Stesso modello: attivo di default sulla base del legittimo interesse, con un toggle separato in Impostazioni → Privacy / consensi ("Report crash") per disattivarlo in qualsiasi momento. Rimuoviamo gli identificatori personali (event.user, request headers, cookies) via beforeSend.
Non raccogliamo: nome, indirizzo, telefono, contatti, accesso fotocamera/microfono in background. Non usiamo altri SDK di analytics o pubblicità (no PostHog, Plausible, AppsFlyer, AdMob, ecc.).
Geolocalizzazione — solo Tap-to-Pay: quando usi Tap-to-Pay per accettare pagamenti con carta contactless in presenza, l'app richiede il permesso di localizzazione perché Stripe Terminal lo richiede per la sicurezza della transazione e la prevenzione frodi (requisito dei circuiti di pagamento/EMV). La posizione è usata solo nel momento di un pagamento in presenza, è trattata da Stripe come parte del pagamento e non viene mai usata per tracciamento, profilazione, pubblicità o altre finalità. Se non usi mai Tap-to-Pay, la posizione non viene mai letta.
2.4 Sync cross-device (tier Pro)
Quando attivi Pro e accedi con email, i seguenti dati vengono sincronizzati tra i tuoi dispositivi tramite il nostro database Postgres gestito (UE Frankfurt). Ogni riga porta il tuo vendor_id (UUID del tuo account) ed è isolata a livello di riga lato server — nessun altro utente Pro può leggere i tuoi dati.
| Dato | Sync | Note |
|---|---|---|
| Catalogo prodotti (nome, prezzo, metadati foto) | Sì | I file foto sono su object storage gestito (UE), accessibili tramite signed URL a breve durata |
| Vendite + righe vendita | Sì | Compreso URL ricevuta QR se generata |
| Trade-in | Sì | Nome cliente opzionale, firma salvata come immagine raster |
| Cassieri (multi-utente Pro) | Sì | Solo hash bcrypt del PIN, mai in chiaro |
| Conto vendisti + lotti conto vendita | Sì | Gestione articoli di terzi (C2C) |
| Eventi / fiere + spese evento | Sì | Usati per analytics ROI |
| Ricercati (buy list) | Sì | |
| Template checklist + esecuzioni | Sì | |
| Metodi di pagamento (link PayPal / IBAN / Satispay) | Sì | |
| Movimenti cassa (registro spese minute) | Sì | |
| Mio Contatto (identità vCard) | Sì | Solo Pro da v0.4.0 |
| Sessioni cassa | No — locale by design | Legate al dispositivo specifico che apre/chiude la cassa |
| Vendite parcheggiate (carrelli in corso) | No — locale by design | Stato effimero; sincronizzarlo creerebbe confusione cross-device |
Tier Free (senza account): nulla lascia il tuo dispositivo. Tutti i dati sono salvati localmente in SQLite.
3. Responsabili del trattamento (sub-processor)
Per fornire il servizio Pro ci avvaliamo di:
| Servizio | Finalità | Sede dati |
|---|---|---|
| Supabase (Supabase Inc.) | Database Postgres gestito, autenticazione, sync realtime, storage backup | UE (Francoforte, Germania) |
| Cloudflare, Inc. (R2 + Pages) | Storage foto prodotti (R2), hosting sito marketing & CDN | UE / Edge globale |
| Apple Inc. | App Store distribuzione, IAP iOS | USA |
| Google LLC | Play Store distribuzione, IAP Android, Analytics 4 | USA |
| Stripe, Inc. | Pagamenti web Pro | USA (con SCC GDPR) |
| Stripe Connect + Terminal (NFC) | Acquiring — pagamenti carta in presenza via Tap-to-Pay (attivato solo quando il commerciante usa questa funzione) | Irlanda (UE + UK), USA (Stripe Inc., con SCC GDPR) |
| eBay Inc. | Pubblicazione annunci sul marketplace eBay tramite la tua connessione OAuth (dati inviati: titolo, prezzo, attributi del prodotto). Attivato solo quando colleghi un account eBay e pubblichi un annuncio. | USA |
| Google LLC (Sheets / Drive API) | Export del catalogo conto-vendita su un foglio Google di tua proprietà, tramite la tua connessione OAuth (scope spreadsheets + drive.file). Attivato solo quando colleghi l'export Google Sheets. Distinto da Google Play / Analytics qui sopra. | USA |
L'elenco aggiornato dei sub-processor con denominazione è disponibile su richiesta a [email protected].
4. Foto e immagini
Le foto che scatti o carichi nell'app:
- Free: restano solo sul tuo dispositivo (massimo 1 foto per prodotto).
- Pro: vengono caricate su un object storage privato cifrato legato al tuo account, per il sync multi-dispositivo. Massimo 5 foto per prodotto. Le foto sono accessibili tramite URL non indicizzati (security by obscurity tramite UUID nel path) — non sono dati pubblicamente cercabili.
Non analizziamo, taggiamo o classifichiamo automaticamente le tue foto.
5. Cookie e tracker
L'app mobile non usa cookie. La webapp (vendor-vault.app/app) usa esclusivamente localStorage e IndexedDB tecnici per il funzionamento (DB locale, settings utente). Nessun cookie di tracciamento o profilazione.
La landing marketing su vendor-vault.app usa Google Analytics 4 per misurare il traffico aggregato e Google Consent Mode v2 per misurazione annunci e segmenti di remarketing (così possiamo gestire campagne pagate e attribuire le conversioni). L'anonimizzazione IP è attiva. Il tracciamento parte solo dopo che clicchi Accetta nel banner cookie; se clicchi Rifiuta, nessun cookie analytics viene impostato, nessun evento viene inviato e non vieni aggiunto a nessuna lista di remarketing. L'app mobile usa Firebase Analytics + Sentry come documentato sopra (Sezione 2.3) — entrambi attivi di default sulla base del legittimo interesse e disattivabili in qualsiasi momento dalle Impostazioni.
6. I tuoi diritti (GDPR)
In quanto utente UE hai diritto a:
- Accedere ai tuoi dati: usa la funzione "Esporta JSON" nelle Impostazioni.
- Rettificare dati errati: dall'app stessa.
- Cancellare i tuoi dati ("diritto all'oblio"): scrivi a [email protected] oppure usa la funzione "Elimina account" (in arrivo).
- Limitare il trattamento: scrivi a support.
- Portabilità: l'export JSON è strutturato e portabile.
- Opporsi al trattamento basato su legittimo interesse: scrivi a support.
- Reclamare al Garante Privacy italiano (garanteprivacy.it).
7. Sicurezza
Comunicazioni cifrate TLS 1.3 end-to-end. Password hashate con bcrypt. Storage cifrato a riposo presso provider cloud UE. Nessun database condiviso tra account utenti diversi (isolamento per-vendor a livello di riga).
8. Minori
Vendor Vault non è destinata a minori di 16 anni. Non raccogliamo consapevolmente dati di minori.
9. Modifiche
Aggiorneremo questa policy quando necessario. Le modifiche significative saranno notificate via email (Pro) o all'avvio dell'app (Free + Pro). La data dell'ultimo aggiornamento è in cima a questa pagina.
10. Contatti
Email: [email protected]