DressAI.info
1. Architettura del Sistema
DressAI utilizza un'architettura serverless composta da un frontend statico (HTML/CSS/JS) ospitato su Cloudflare Pages e un backend Python su Google Cloud Run. Il backend orchestra una pipeline di analisi video che combina Google Gemini per l'analisi visiva primaria e Claude (Anthropic) per la cross-validazione.
Frontend
Sito statico HTML/CSS/JS su Cloudflare Pages. Nessun framework, puro vanilla JS. Deploy automatico da Git.
Backend
Google Cloud Run con Python 3.12 + ffmpeg. Due servizi: dressai-checkout e dressai-webhook.
AI Engine
Google Gemini (2.5 Flash / Pro) per analisi video primaria. Claude Sonnet (Anthropic) per cross-validazione (Pro/Premium).
Pagamenti
Stripe Checkout con webhook per attivazione automatica della pipeline. Supporto Promotion Codes.
Flusso Completo
2. Pipeline di Analisi Video
La pipeline si attiva automaticamente al ricevimento del webhook checkout.session.completed da Stripe. Ogni step ha gestione degli errori con notifica email al cliente in caso di fallimento.
Resilienza e Retry
Retry Gemini API
5 tentativi con backoff esponenziale (30s, 60s, 120s, 240s, 480s) per errori transient 503 e 429.
Idempotenza Webhook
Session ID tracciato in set in-memory (_processed_sessions) per evitare pipeline duplicate.
Email di Errore
In caso di fallimento, il cliente riceve email con dettaglio errore. Per errori non risolvibili, rimborso automatico.
Fallback Key Frames
Se l'estrazione keyframe (Premium) fallisce, la pipeline continua con i soli frame a 4fps.
Retry Queue (GCS)
Errori transient salvano il job come pending/session_id.json su GCS. Cloud Scheduler chiama POST /retry ogni 30 min.
Auto-Refund
Job pendenti da più di 12 ore vengono rimborsati automaticamente via stripe.Refund.create().
Retry Lock Distribuito
Lock su GCS (locks/retry_running.lock) per evitare esecuzioni concorrenti. Timeout 20 min per lock stale.
Upload Frame Resiliente
3 tentativi per frame con backoff. Analisi prosegue se almeno il 50% dei frame caricato.
Fail-Fast Env Vars
Variabili d'ambiente critiche validate all'avvio. Su Cloud Run: crash immediato se mancanti.
Step della Pipeline
| Step | Operazione | Modulo | Dettaglio |
|---|---|---|---|
| 1 | Download video | gemini_analyzer.py |
Download da Google Drive via drive.usercontent.google.com con confirm=t. Timeout: 600s. |
| 2 | Probe video | video_processor.py |
ffprobe estrae metadati: risoluzione, fps, codec, durata, rotazione. Validazione: 30s–600s, max 4GB. |
| 3 | Compressione / Frame | video_processor.py |
Base Comprimi a 720p, CRF 28 → upload video singolo Pro Premium Estrai frame JPEG a 4 fps, 1080p Premium + 10 keyframe ai cambi di scena |
| 4 | Upload a Gemini | gemini_analyzer.py |
Upload e attesa processing (polling ogni 15s, max 8 min). |
| 5 | Identificazione ripresa | gemini_analyzer.py |
Gemini 2.5 Flash identifica la ripresa (E50–E410, F100–F400, M100–M600, D1–D6). Fallback a E100. |
| 6 | Analisi completa | gemini_analyzer.py |
Analisi con prompt tier-specifico. Flash (Base) o Pro (Pro/Premium). Output: JSON strutturato. |
| 7 | Cross-validazione | claude_validator.py |
Pro Premium Claude Sonnet 4 verifica coerenza. Non-bloccante. |
| 8 | Generazione report | report_generator.py |
Template Jinja2 con CSS inline. Report HTML self-contained, responsive. |
| 9 | Certificato PDF | pdf_generator.py |
Certificato A4 landscape con weasyprint 68. ~400–500 KB. |
| 10 | Upload report | report_generator.py |
Google Cloud Storage (dressai-reports). URL pubblico UUID. Auto-delete 90 giorni. |
| 11 | Invio email | email_sender.py |
Resend API con link report + certificato PDF allegato. 6 tipi email. |
3. Piani e Tier
| Caratteristica | Base — 49€ | Pro — 79€ | Premium — 129€ |
|---|---|---|---|
| Modello Gemini | 2.5 Flash | 2.5 Pro | 2.5 Pro |
| Modalità analisi | Video compresso (720p) | Sequenza frame (4fps, 1080p) | Frame (4fps, 1080p) + keyframe |
| Campionamento effettivo | ~1 fps (interno Gemini) | 4 fps (controllato) | 4 fps + scene detection |
| Cross-validazione Claude | — | Claude Sonnet 4 | Claude Sonnet 4 |
| Analisi mio-fasciale | — | Osservazione visiva | Osservazione visiva + protocollo |
| Postura cavaliere | — | Analisi visiva | Analisi visiva + correzioni |
| Simmetria incrociata | — | Analisi assi | Analisi assi + correlazione |
| Protocollo riabilitativo | — | — | 3 fasi personalizzate |
| Proiezione miglioramento | — | — | Stima a 2–3 mesi |
| Allegato email | Certificato PDF | Certificato PDF | Certificato PDF |
| Link report online | 90 giorni | 90 giorni | 90 giorni |
4. Specifiche Video e Compressione
Requisiti Video in Ingresso
| Parametro | Minimo | Consigliato | Massimo |
|---|---|---|---|
| Risoluzione | 720p (HD) | 1080p (Full HD) | 4K (opzionale) |
| Frame rate | 24 fps | 30 fps | 60 fps (non necessario) |
| Durata | 30 secondi | 2–6 minuti | 10 minuti |
| Dimensione file | — | < 500 MB | 4 GB |
| Formato | MP4, MOV, WebM (codec H.264, H.265/HEVC) | ||
| Sorgente | Google Drive (link condiviso con “Chiunque abbia il link”) | ||
Compressione ffmpeg per Tier
| Parametro | Base | Pro / Premium | Fallback |
|---|---|---|---|
| Risoluzione target | 720p | 1080p | 720p |
| Frame rate (ffmpeg) | 4 fps* | 4 fps | 2 fps |
| Frame rate analisi | ~1 fps (Gemini) | 4 fps (JPEG) | ~1 fps |
| Codec | H.264 | H.264 | H.264 |
| CRF | 28 | 23 | 32 |
| Preset | fast | fast | fast |
| Audio | AAC 64k | AAC 128k | AAC 48k |
| Limite | 1.8 GB (Gemini File API limit ~2GB) | ||
Estrazione Frame (Pro/Premium)
Invece di caricare il video compresso, per Pro e Premium estraiamo frame JPEG a 4 fps con risoluzione massima 1080p. Questo bypassa il limite interno di Gemini e fornisce 4x più frame.
Per Premium: anche 10 keyframe ai cambi di scena (soglia > 0.3).
Upload parallelizzato: ThreadPoolExecutor(max_workers=10) → ~20s per 740 frame (5x speedup).
5. Modelli AI Utilizzati
| Modello | Fornitore | Utilizzo | Tier |
|---|---|---|---|
| Gemini 2.5 Flash | Identificazione ripresa (sempre) + Analisi completa (Base) | Base | |
| Gemini 2.5 Pro | Analisi completa con frame sequence + mio-fasciale + postura + correlazione | Pro Premium | |
| Claude Sonnet 4 | Anthropic | Cross-validazione: coerenza dati, arricchimento suggerimenti, incongruenze | Pro Premium |
6. Costi in Token
Gemini calcola ~258 token per immagine. Per un video tipico di dressage (3–4 minuti), il conteggio varia significativamente tra i tier.
| Parametro | Base | Pro | Premium |
|---|---|---|---|
| Modalità input | Video compresso | ~880 frame JPEG | ~880 frame + 10 keyframe |
| Campionamento | ~1 fps (Gemini) | 4 fps | 4 fps + scene detection |
| Frame analizzati (video 3:40) | ~220 | ~880 | ~890 |
| Token input (immagini) | ~57.000 | ~227.000 | ~230.000 |
| Token input (prompt) | ~5.000 | ~8.000 | ~10.000 |
| Token input totali | ~62.000 | ~235.000 | ~240.000 |
| Token output (JSON) | ~3.000 | ~8.000 | ~10.000 |
| Identificazione (Flash) | ~60K in + ~500 out | ~60K in + ~500 out | ~60K in + ~500 out |
| Claude cross-validazione | — | ~10K in + ~2K out | ~12K in + ~2.5K out |
7. Costi in Euro per Analisi
Prezzi basati su listino API febbraio 2026. Video di riferimento: ripresa dressage ~3:40 minuti.
| Voce di costo | Base (49€) | Pro (79€) | Premium (129€) |
|---|---|---|---|
| Gemini (identificazione, Flash) | € 0,005 | € 0,005 | € 0,005 |
| Gemini (analisi completa) | € 0,01 Flash: 62K tok | € 1,30 Pro: 235K tok | € 1,35 Pro: 240K tok |
| Claude Sonnet (cross-validazione) | — | € 0,10 ~10K in + ~2K out | € 0,12 ~12K in + ~2.5K out |
| Cloud Run (compute) | € 0,005 | € 0,02 | € 0,03 |
| Cloud Storage (report 90gg) | < € 0,001 | < € 0,001 | < € 0,001 |
| Resend (email + allegato) | gratuito* | gratuito* | gratuito* |
| Stripe (1,5% + 0,25€) | € 0,99 | € 1,44 | € 2,19 |
| Costo totale per analisi | € 1,01 | € 2,87 | € 3,70 |
| Margine | € 47,99 (97,9%) | € 76,13 (96,4%) | € 125,30 (97,1%) |
* Resend: 3.000 email/mese gratuite. Stripe: commissione EU standard carta.
Prezzi API di Riferimento (Feb 2026)
| Modello | Input (per 1M token) | Output (per 1M token) |
|---|---|---|
| Gemini 2.5 Flash | $0,075 | $0,30 |
| Gemini 2.5 Pro | $1,25 (≤200K) / $2,50 (>200K) | $10,00 (≤200K) / $15,00 (>200K) |
| Claude Sonnet 4 | $3,00 | $15,00 |
8. Sistema Gift (Regalo)
Il sistema Gift permette di acquistare un'analisi DressAI come regalo per un altro utente. Il flusso gestisce la separazione tra acquirente e destinatario, con possibilità di schedulare la consegna.
Flusso Gift
Metadata Gift (Stripe)
| Campo | Descrizione | Esempio |
|---|---|---|
is_gift | Flag regalo | "true" |
gift_recipient_name | Nome destinatario | Anna Rossi |
gift_recipient_email | Email destinatario | [email protected] |
gift_message | Messaggio personale (max 500 char) | Buon compleanno! |
gift_delivery_date | Data consegna (opzionale) | 2026-03-01 |
gift_delivery_time | Ora consegna (opzionale) | 09:00 |
Email Generate nel Flusso Gift
| Destinatario | Quando | Allegati | |
|---|---|---|---|
| Conferma pagamento | Buyer | Subito dopo il pagamento | — |
| Regalo (gift email) | Destinatario | A pipeline completata (o schedulato) | |
| Conferma regalo | Buyer | A pipeline completata | — |
scheduled_at dell'API Resend. Una copia immediata viene inviata all'archivio ([email protected]).
9. Architettura Email
Tutte le email vengono inviate tramite Resend API con dominio verificato dressai.info.
| Parametro | Valore |
|---|---|
| Mittente | DressAI <[email protected]> |
| Reply-To | [email protected] |
| BCC archivio | [email protected] (su tutte le email) |
| Template engine | Jinja2 (report) / inline HTML (altre) |
Tipi di Email
| Tipo | Subject | Template | Allegati |
|---|---|---|---|
| Conferma pagamento | DressAI - Pagamento ricevuto, analisi in corso | Inline HTML | — |
| Report pronto | DressAI - La tua Analisi {tier} e pronta | email.html | |
| Regalo | DressAI - Un regalo per te: Analisi {tier} | gift_email.html | |
| Conferma regalo | DressAI - Il tuo regalo e pronto | Inline HTML | — |
| In coda | DressAI - Analisi in coda | Inline HTML | — |
| Errore | DressAI - Problema con l'analisi del tuo video | Inline HTML | — |
| Rimborso | DressAI - Rimborso effettuato | Inline HTML | — |
Tempi di Consegna Stimati
| Tier | Tempo dalla conferma pagamento |
|---|---|
| Base | 3–4 minuti |
| Pro | ~50 minuti |
| Premium | ~60 minuti |
10. Integrazioni e Servizi
| Servizio | Ruolo | Configurazione |
|---|---|---|
| Stripe | Pagamenti LIVE |
Live (Feb 2026). 3 price ID: Base 49€, Pro 79€, Premium 129€. Evento: checkout.session.completed. Auto-refund > 12h.allow_promotion_codes=True per codici sconto.
|
| Google Gemini | Analisi video AI |
SDK: google-genai. Chiave: GOOGLE_API_KEY.File API per upload video/immagini. Modelli: Flash, Pro. |
| Anthropic Claude | Cross-validazione |
SDK: anthropic. Chiave: ANTHROPIC_API_KEY.Modello: claude-sonnet-4-20250514. Max tokens: 4096.
|
| Google Cloud Storage | Report + retry queue |
Bucket: dressai-reports. URL pubblico UUID.Lifecycle: 90gg su reports/. Retry: pending/. Lock: locks/.
|
| Resend | Email transazionali |
Chiave: RESEND_API_KEY. Dominio: dressai.info.Allegato: PDF. 6 tipi email. |
| Cloudflare Pages | Hosting frontend | Deploy da Git (main). SSL automatico. Dominio: dressai.info. |
| Google Cloud Run | Backend serverless |
europe-west1. 2 servizi: checkout, webhook. Docker: Python 3.12 + ffmpeg + weasyprint. Timeout: 3600s, 2Gi, 2 CPU. |
| Cloud Scheduler | Retry cron | dressai-retry-pending — ogni 30 min → POST /retry. |
11. Codici Sconto (Promotion Codes)
Il sistema utilizza Stripe Promotion Codes nativi, attivati tramite allow_promotion_codes=True nella Checkout Session. I codici sono gestiti interamente lato Stripe.
Architettura
Codici Attivi
| Promotion Code | Sconto | Utilizzi | Scopo |
|---|---|---|---|
XTEST-ARA2026 |
100% | Max 20 | Testing interno — ordini gratuiti per pipeline end-to-end |
WELCOME-DRS7K |
30% | Illimitati | Sconto promozionale per nuovi clienti |
Implementazione Backend
L'unica modifica al codice è nel servizio dressai-checkout (main.py):
session = stripe.checkout.Session.create(
payment_method_types=["card"],
line_items=[{"price": price_id, "quantity": 1}],
mode="payment",
allow_promotion_codes=True, # abilita codici sconto
success_url=f"{SITE_URL}/grazie.html?...",
cancel_url=f"{SITE_URL}/servizio.html?cancelled=1",
customer_email=email,
metadata=checkout_metadata,
)
12. Report di Esempio
La cartella samples/ contiene report HTML di esempio (dati simulati) per ciascun tier e variante.
| File | Tier | Descrizione |
|---|---|---|
samples/esempio-base.html |
Base | Report standard: punteggio, frame analysis, errori, suggerimenti |
samples/esempio-pro.html |
Pro | Con cross-validazione Claude, mio-fasciale, postura, simmetria |
samples/esempio-premium.html |
Premium | Completo: protocollo riabilitativo, proiezione, correzioni |
samples/esempio-premium-gift.html |
Gift | Variante regalo con messaggio del mittente e banner dedicato |
Usano lo stesso template Jinja2 (templates/report.html) del backend, renderizzati con dati fittizi. Sono self-contained (CSS inline).
13. Infrastruttura Cloud
Google Cloud Run — Servizi
| Servizio | Funzione | Entry Point | Accesso |
|---|---|---|---|
dressai-checkout |
Crea Stripe Checkout Session | create_checkout |
Pubblico (CORS: dressai.info) |
dressai-webhook |
Riceve webhook Stripe, avvia pipeline | handle_webhook |
Pubblico (verifica firma Stripe) |
Variabili d'Ambiente (Cloud Run)
| Variabile | Descrizione |
|---|---|
STRIPE_SECRET_KEY | Chiave segreta Stripe (sk_test_... o sk_live_...) |
STRIPE_WEBHOOK_SECRET | Signing secret del webhook (whsec_...) |
STRIPE_PRICE_BASE | Price ID Stripe per il piano Base |
STRIPE_PRICE_PRO | Price ID Stripe per il piano Pro |
STRIPE_PRICE_PREMIUM | Price ID Stripe per il piano Premium |
GOOGLE_API_KEY | API key per Gemini |
RESEND_API_KEY | API key per Resend (email) |
ANTHROPIC_API_KEY | API key per Claude |
CLAUDE_MODEL | Modello Claude (default: claude-sonnet-4-20250514) |
EMAIL_FROM | Indirizzo mittente email |
GCS_BUCKET | Bucket GCS per i report |
SITE_URL | URL del sito (per CORS e redirect) |
Docker (Dockerfile)
FROM python:3.12-slim
# ffmpeg + weasyprint dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 \
libgdk-pixbuf-2.0-0 libffi-dev libcairo2 \
fonts-liberation \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENV PORT=8080
CMD ["functions-framework", "--target=handle_webhook", "--port=8080"]
Dipendenze Python
functions-framework==3.* # HTTP framework per Cloud Run
stripe==8.* # Stripe SDK
google-genai==1.* # Google Gemini SDK (nuova API)
anthropic==0.40.* # Claude SDK
jinja2==3.* # Template engine per report
requests==2.* # HTTP client (download GDrive)
google-cloud-storage==2.* # GCS per upload report
resend==2.* # Email transazionali
weasyprint==68.* # Generazione PDF certificato
14. Sicurezza e Privacy
Autenticazione Webhook
Ogni webhook Stripe verificato con stripe.Webhook.construct_event(). Firma non valida → HTTP 400.
CORS
Endpoint checkout accetta solo richieste da https://dressai.info.
Chiavi API
Variabili d'ambiente su Cloud Run, mai nel codice sorgente. Rotazione senza re-deploy.
Video dei Clienti
Scaricati, analizzati e cancellati immediatamente (blocco finally). Mai salvati permanentemente.
Report
URL pubblici con filename UUID (non indovinabile). Auto-delete 90 giorni. PDF nell'email del cliente.
Dati AI
Video inviati a Gemini e Claude per analisi. Consenso esplicito del cliente prima del pagamento.
Cleanup Gemini
File su Gemini File API eliminati automaticamente post-analisi via cleanup_gemini_files().
15. Struttura del Progetto
Frontend (Cloudflare Pages)
├── index.html # Home: metodologia, binomio, SVG routes
├── history.html # Archivio gare (card cliccabili)
├── gara-20260207.html # Analisi gara 07/02 (solo AI, 66.80%)
├── gara-20260208.html # Analisi gara 08/02 (giudice+AI, 78.25%)
├── confronto.html # Confronto tra le due gare
├── training.html # Allenamento e riabilitazione
├── gallery.html # Gallery AI: 20 frame 4K con overlay
├── riprese-e.html # Riprese categoria E (13 riprese)
├── riprese-f.html # Riprese categoria F (5 riprese)
├── riprese-m.html # Riprese categoria M (4 riprese)
├── riprese-d.html # Riprese categoria D FEI (10 riprese)
├── andature.html # Andature del dressage
├── servizio.html # Ordine servizio AI (form + Stripe)
├── grazie.html # Thank you post-pagamento
├── privacy.html # Privacy Policy
├── cookie.html # Cookie Policy
├── documentazione-tecnica.html # Questa pagina
├── css/
│ └── style.css # CSS condiviso (tutte le pagine)
├── en/ # Versione inglese
│ ├── index.html # Home EN
│ ├── history.html # Archive EN
│ ├── comparison.html # Comparison EN
│ ├── training.html # Training EN
│ ├── service.html # AI Service EN
│ ├── thank-you.html # Thank you EN
│ └── upload.html # Upload page EN
├── samples/ # Report di esempio
│ ├── esempio-base.html # Report Base
│ ├── esempio-pro.html # Report Pro
│ ├── esempio-premium.html # Report Premium
│ └── esempio-premium-gift.html # Report Premium Gift
├── DressageTest/ # PDF ufficiali FISE/SEF (34 file)
│ └── tmp_*.pdf # Riprese E/F/M/D
└── img/
├── Logo.png
├── gallery/ # 20 frame estratti dal video 4K
└── ...
Backend (Google Cloud Run)
├── main.py # Entry points: create_checkout, handle_webhook
├── config.py # Variabili d'ambiente, fail-fast validation
├── gemini_analyzer.py # Download GDrive + Gemini File API + analisi
├── video_processor.py # ffmpeg: probe, compress, extract frames
├── claude_validator.py # Cross-validazione Claude (Pro/Premium)
├── report_generator.py # Jinja2 rendering + upload GCS
├── pdf_generator.py # Certificato PDF A4 landscape (weasyprint 68)
├── email_sender.py # Invio email via Resend (6 tipi)
├── Dockerfile # Python 3.12-slim + ffmpeg + weasyprint
├── requirements.txt # Dipendenze Python
└── templates/
├── report.html # Template report (CSS inline)
├── certificate.html # Template certificato PDF
├── email.html # Template email report
└── gift_email.html # Template email regalo
16. Proprietà Intellettuale e Protezione del Marchio
Stato attuale
Il nome DressAI, il logo (cavallo vitruviano) e il dominio dressai.info sono attualmente protetti solo dal diritto d'autore automatico (Legge 633/1941 e Direttiva UE 2019/790). Il copyright tutela il codice sorgente, i contenuti editoriali e il design grafico, ma non protegge il nome commerciale dall'uso da parte di terzi.
Opzioni di registrazione del marchio
Marchio italiano (UIBM)
Costo: €101 tassa base + €34 classe aggiuntiva + €42 bollo = €177 (fai-da-te, 2 classi).
Tramite professionista: €183 + onorari (€300-600).
Durata: 10 anni, rinnovabile (€67 + €34/classe).
Tempi: 6-8 mesi se nessuna opposizione.
Marchio europeo (EUIPO)
Costo: €850 (1 classe) + €50 seconda = €900 per 2 classi.
Tramite professionista: €1.100-1.600 totali.
Durata: 10 anni. Validità in tutti i 27 Stati UE.
SME Fund: fino al 75% rimborsabile per PMI.
Classi di Nizza rilevanti
| Classe | Descrizione | Applicazione DressAI |
|---|---|---|
| Classe 9 | Software, strumenti di misurazione | Software di analisi video, algoritmi AI, app web |
| Classe 42 | Servizi scientifici e tecnologici, SaaS, AIaaS | Servizio cloud di analisi video dressage con AI |
Cosa registrare
Marchio denominativo
"DressAI" — protegge il nome in qualsiasi forma grafica. Protezione più ampia e prioritaria.
Marchio figurativo
Logo (cavallo vitruviano) — protegge il design specifico. Complementare al denominativo.
Dominio
dressai.info — già registrato. Considerare anche .com, .it, .eu.
Procedura consigliata — UIBM (Italia)
Registrazione marchio denominativo "DressAI"
- Ricerca di anteriorità — Verificare sulla banca dati UIBM e su eSearch Plus (EUIPO) che "DressAI" non sia già registrato.
- Deposito online UIBM — Accedere a servizionline.uibm.gov.it con SPID/CIE. Compilare la domanda selezionando Classe 9 + Classe 42.
- Pagamento — €101 + €34 + €42 = €177 totali con PagoPA.
- Esame UIBM — Verifica requisiti formali e sostanziali. Registrazione in 6-8 mesi senza opposizione.
- Logo (opzionale) — Secondo deposito come marchio figurativo. Stessi costi: €177.
- Domini difensivi — Registrare dressai.com, .it, .eu se disponibili (~€10-15/anno).
Riepilogo costi UIBM
| Tassa base (1ª classe) | €101 |
| Classe aggiuntiva (2ª classe) | €34 |
| Marca da bollo | €42 |
| Totale deposito (fai-da-te, 2 classi) | €177 |
| Rinnovo (ogni 10 anni) | €67 + €34 = €101 |
Eventuale estensione EUIPO successiva: €900 per 2 classi (protezione 27 stati UE).
Protezioni già in essere
| Tipo | Stato | Note |
|---|---|---|
| Copyright codice sorgente | ✓ Automatico | L. 633/1941 + Direttiva UE 2019/790 |
| Copyright contenuti e grafiche | ✓ Automatico | Testi, analisi, design del sito |
| Dominio dressai.info | ✓ Registrato | Registrar: GoDaddy — NS: Cloudflare |
| Marchio denominativo "DressAI" | ✗ Non registrato | Priorità alta |
| Marchio figurativo (logo) | ✗ Non registrato | Secondo step |
| Domini difensivi (.com/.it/.eu) | ✗ Non registrati | Verificare disponibilità |