Shopify OAuth
Cosa autorizzi davvero quando connetti il tuo store. In chiaro, scope per scope.
Ultimo aggiornamento: 17 maggio 2026
Cosa autorizzi quando clicchi "Connetti Shopify"
Quando l'AI è pronta a creare il tuo store, in chat appare il bottone "Connetti Shopify". Cliccandolo apriamo il flow OAuth ufficiale di Shopify (su shopify.com, non su un nostro dominio camuffato) — vedi chiaramente quali permessi stai concedendo, e TU clicchi Install per accettare. Niente trappole.
Shopify a quel punto ci manda un access token via callback firmato HMAC. Quel token lo cifriamo con AES-256-GCM a riposo nel nostro database (chiave di cifratura in un secret manager separato dall'app), e lo usiamo solo per le chiamate API necessarie alle azioni che vedi succedere in chat. Niente token in chiaro, niente log che li stampi.
Gli scope esatti che chiediamo
Questi sono tutti gli scope OAuth che richiediamo, niente di più:
read_products, write_products— per importare e gestire prodotti, prezzi, varianti e immagini.read_themes, write_themes— per installare e localizzare il tema fashion WooshStore approvato per Theme API.read_content, write_content— per creare e aggiornare pagine essenziali: Privacy Policy, Returns, About, Shipping, Terms, FAQ.read_online_store_navigation, write_online_store_navigation— per aggiornare menu principale e footer nella lingua scelta.read_locales, write_localeseread_translations, write_translations— per abilitare la lingua dello store e registrare traduzioni.read_markets, write_markets— per configurare il market del paese scelto.read_inventory, write_inventory— per creare prodotti importati con stock non monitorato, così non finiscono offline per errore.read_files, write_files— per caricare media prodotto e asset collegati al tema.
Quello che NON chiediamo: read_customers (zero accesso ai dati dei tuoi clienti finali), read_orders,read_all_orders, fulfillment, returns, discounts, marketing events, pixels o script tag.
Cosa NON facciamo
- Non leggiamo PII dei tuoi clienti finali. Email, nomi, indirizzi, telefoni — tutto fuori dal nostro perimetro. Lo scope
read_customersnon è nemmeno nella lista che chiediamo a Shopify. - Non vendiamo, condividiamo, o passiamo dati a terzi. Non c'è un "data partner program", non c'è uno specchio dei tuoi prodotti su un marketplace di analytics. Tu sei nostro cliente, non il prodotto.
- Non modifichiamo prodotti già esistenti senza il tuo OK in chat. Se hai già un catalogo, l'AI ti chiede esplicitamente "vuoi che riscriva le descrizioni di X / Y / Z?" prima di toccare nulla. Default è additivo (crea nuovi prodotti), non distruttivo.
- Non installiamo script tag o pixel nascosti. Niente Facebook Pixel furtivo, niente analytics terzi, niente A/B testing che non sai di avere.
- Tutto tracciato nel modello
WooshStoreEventdel nostro database. Tu lo vedi come audit log dal tuo profilo (/app/settings/audit) — ogni singola chiamata API che facciamo sul tuo store è loggata con timestamp + scope + risultato.
Revocare l'accesso
2 modi, entrambi immediati e GDPR-compliant. Scegli quello che ti viene comodo:
- Dal nostro dashboard: vai su /app/settings → sezione Shopify connection → bottone "Disconnetti Shopify". Un click, immediato. Cancelliamo il token cifrato lato nostro, disinstalliamo lo script tag, mandiamo a Shopify la chiamata
DELETE /admin/api_permissions/current.jsonper revocare il token anche lato loro. - Dal tuo Shopify Admin: Settings → Apps and sales channels → WooshStore → Remove app. Shopify ci notifica via webhook
app/uninstallede noi triggeriamo lo stesso cleanup automatico.
Importante: in entrambi i casi lo store rimane vivo su Shopify. Non perdi prodotti, pagine, tema, ordini, niente. Stiamo solo cancellando il diritto di WooshStore di toccare il tuo store via API. È come licenziare un freelance — il sito che ha fatto resta tuo.
HMAC e GDPR webhooks
Il callback OAuth viene verificato con HMAC-SHA256 usando crypto.timingSafeEqual — non vulnerabile ad attacchi di timing. Lo stesso vale per tutti i webhook che riceviamo da Shopify (orders/create, app/uninstalled, ecc.): HMAC obbligatorio, nessun handler accetta payload non firmati.
Implementiamo i 3 GDPR webhook obbligatori richiesti da Shopify (verificati nella partner review):
customers/data_request— quando un tuo cliente finale chiede tramite te i suoi dati: risposta entro 30 giorni con un report (nel nostro caso, "abbiamo zero dati di questo customer" perché non leggiamo PII customer).customers/redact— richiesta di cancellazione dati di un cliente finale: come sopra, restituiamo "no data on file".shop/redact— quando un merchant disinstalla l'app, Shopify ci notifica 48h dopo per cancellare TUTTI i dati relativi a quello shop. Lo facciamo entro 30 giorni come da policy (in pratica entro 24h, ma per policy l'SLA è 30gg).
Cosa succede se cancelli il tuo account WooshStore
Cancellazione totale account = cleanup completo. In sequenza, automatico:
- Chiamiamo
DELETE /admin/api_permissions/current.jsonsul tuo Shopify — il token è revocato anche lato loro, non solo lato nostro. - La riga
merchant.shopifyAccessTokenEncnel nostro DB viene azzerata. - Tutti i tuoi progetti, messaggi chat, eventi audit log vengono cancellati a cascata (Postgres
ON DELETE CASCADE). - Lo script tag WooshPayment viene rimosso dal tuo Shopify.
- Backup database: gli ultimi 30 giorni rimangono per recovery in caso di errore (policy standard), poi sovrascritti.
Per la cancellazione totale (incluso azzeramento backup entro 7 giorni anziché 30), scrivi a hello@wooshpayment.com dal l'email associata all'account con oggetto "GDPR — full account deletion". Confermiamo entro 24h e ti mandiamo il certificato di cancellazione quando il processo è chiuso.
Ancora dubbi sui permessi?
Crea l'account, prova la chat senza connettere niente. Connetti Shopify solo quando sei sicuro.
Provalo prima di connettere →