Completa i18n IT/EN/FR/DE/ES su sito pubblico, area autenticata e admin.
Tutte le view marketing, legali, viewer, dashboard e admin usano t(); mailer utente-facing e flash localizzati; admin con LocaleResolver e selettore lingua. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,150 +1,146 @@
|
||||
<% content_for :title, "Cookie policy — Match Live TV" %>
|
||||
<% content_for :meta_description, "Cookie policy di Match Live TV: cookie tecnici, sessione, Google Analytics e gestione del consenso." %>
|
||||
<% content_for :title, t("legal.cookies.title") %>
|
||||
<% content_for :meta_description, t("legal.cookies.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_cookies_path) %>
|
||||
|
||||
<div class="wrap legal-doc">
|
||||
<h1>Cookie policy</h1>
|
||||
<h1><%= t("legal.cookies.h1") %></h1>
|
||||
<p class="legal-meta">
|
||||
Ultimo aggiornamento: <%= cookie_policy_last_updated %>
|
||||
· Vedi anche <%= link_to "informativa privacy", public_privacy_path %>
|
||||
<%= raw t(
|
||||
"legal.cookies.meta_html",
|
||||
date: cookie_policy_last_updated,
|
||||
privacy_link: link_to(t("legal.cookies.privacy_link_text"), public_privacy_path)
|
||||
) %>
|
||||
</p>
|
||||
|
||||
<section>
|
||||
<h2>1. Cosa sono i cookie</h2>
|
||||
<h2><%= t("legal.cookies.s1_title") %></h2>
|
||||
<p>
|
||||
I cookie sono piccoli file di testo che i siti salvano sul dispositivo del visitatore.
|
||||
Servono a far funzionare il sito, ricordare preferenze o, previo consenso, analizzare l’uso del servizio.
|
||||
<%= t("legal.cookies.s1_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>2. Titolare</h2>
|
||||
<h2><%= t("legal.cookies.s2_title") %></h2>
|
||||
<p>
|
||||
<strong><%= MatchLiveTv.privacy_controller_name %></strong> —
|
||||
<%= MatchLiveTv.privacy_controller_address %> —
|
||||
<a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>
|
||||
<% if MatchLiveTv.privacy_controller_vat.present? %>
|
||||
· P. IVA <%= MatchLiveTv.privacy_controller_vat %>
|
||||
· <%= t("legal.cookies.s2_vat_label") %> <%= MatchLiveTv.privacy_controller_vat %>
|
||||
<% end %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>3. Come gestiamo il consenso</h2>
|
||||
<h2><%= t("legal.cookies.s3_title") %></h2>
|
||||
<p>
|
||||
Al primo accesso mostriamo un banner che ti permette di accettare tutti i cookie,
|
||||
usare <strong>solo quelli necessari</strong> o aprire questa pagina per maggiori dettagli.
|
||||
Puoi modificare la scelta in qualsiasi momento con il link
|
||||
<strong>«Gestisci cookie»</strong> nel footer.
|
||||
<%= raw t("legal.cookies.s3_p1_html") %>
|
||||
</p>
|
||||
<p>
|
||||
La preferenza viene memorizzata in un cookie tecnico di prima parte
|
||||
(<code>mltv_cookie_consent</code>) e in <code>localStorage</code> del browser.
|
||||
<%= raw t("legal.cookies.s3_p2_html") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>4. Cookie e tecnologie che utilizziamo</h2>
|
||||
<h2><%= t("legal.cookies.s4_title") %></h2>
|
||||
|
||||
<h3>4.1 Strettamente necessari (sempre attivi)</h3>
|
||||
<p>Non richiedono consenso perché indispensabili al funzionamento del sito e dell’area riservata.</p>
|
||||
<h3><%= t("legal.cookies.s4_1_title") %></h3>
|
||||
<p><%= t("legal.cookies.s4_1_intro") %></p>
|
||||
<table class="legal-table">
|
||||
<thead>
|
||||
<tr><th>Nome / tipo</th><th>Finalità</th><th>Durata</th><th>Fornitore</th></tr>
|
||||
<tr><th><%= t("legal.cookies.table_col_name") %></th><th><%= t("legal.cookies.table_col_purpose") %></th><th><%= t("legal.cookies.table_col_duration") %></th><th><%= t("legal.cookies.table_col_provider") %></th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>_app_session</code> (cookie di sessione)</td>
|
||||
<td>Mantiene l’accesso dell’utente registrato, protezione CSRF, preferenze di navigazione sicura</td>
|
||||
<td>Sessione / fino a chiusura browser</td>
|
||||
<td>Match Live TV (prima parte)</td>
|
||||
<td><%= raw t("legal.cookies.s4_1_row1_name_html") %></td>
|
||||
<td><%= t("legal.cookies.s4_1_row1_purpose") %></td>
|
||||
<td><%= t("legal.cookies.s4_1_row1_duration") %></td>
|
||||
<td><%= t("legal.cookies.s4_1_row1_provider") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>mltv_cookie_consent</code></td>
|
||||
<td>Memorizza le scelte sul banner cookie (necessari / analytics)</td>
|
||||
<td>12 mesi</td>
|
||||
<td>Match Live TV (prima parte)</td>
|
||||
<td><%= raw t("legal.cookies.s4_1_row2_name_html") %></td>
|
||||
<td><%= t("legal.cookies.s4_1_row2_purpose") %></td>
|
||||
<td><%= t("legal.cookies.s4_1_row2_duration") %></td>
|
||||
<td><%= t("legal.cookies.s4_1_row2_provider") %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>4.2 Analytics (solo con il tuo consenso)</h3>
|
||||
<h3><%= t("legal.cookies.s4_2_title") %></h3>
|
||||
<p>
|
||||
Se accetti «Tutti i cookie» o abiliti le statistiche nel banner, carichiamo
|
||||
<strong>Google Analytics 4</strong> per capire come viene usato il sito (pagine visitate, provenienza aggregata, dispositivo).
|
||||
I dati sono trattati da Google Ireland Limited / Google LLC secondo le loro policy.
|
||||
<%= raw t("legal.cookies.s4_2_p1_html") %>
|
||||
</p>
|
||||
<% if MatchLiveTv.google_analytics_configured? %>
|
||||
<p class="muted">ID misurazione attivo sul sito: <code><%= MatchLiveTv.google_analytics_measurement_id %></code></p>
|
||||
<p class="muted"><%= raw t("legal.cookies.s4_2_active_html", id: MatchLiveTv.google_analytics_measurement_id) %></p>
|
||||
<% else %>
|
||||
<p class="muted">Google Analytics è configurato solo quando il titolare imposta l’ID misurazione sul server.</p>
|
||||
<p class="muted"><%= t("legal.cookies.s4_2_inactive") %></p>
|
||||
<% end %>
|
||||
<table class="legal-table">
|
||||
<thead>
|
||||
<tr><th>Nome</th><th>Finalità</th><th>Durata</th><th>Fornitore</th></tr>
|
||||
<tr><th><%= t("legal.cookies.table2_col_name") %></th><th><%= t("legal.cookies.table_col_purpose") %></th><th><%= t("legal.cookies.table_col_duration") %></th><th><%= t("legal.cookies.table_col_provider") %></th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>_ga</code></td>
|
||||
<td>Distingue gli utenti (statistiche)</td>
|
||||
<td>2 anni</td>
|
||||
<td>Google</td>
|
||||
<td><%= raw t("legal.cookies.s4_2_row1_name_html") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row1_purpose") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row1_duration") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row1_provider") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>_ga_*</code></td>
|
||||
<td>Mantiene lo stato della sessione Analytics</td>
|
||||
<td>2 anni</td>
|
||||
<td>Google</td>
|
||||
<td><%= raw t("legal.cookies.s4_2_row2_name_html") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row2_purpose") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row2_duration") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row2_provider") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>_gid</code></td>
|
||||
<td>Distingue gli utenti (statistiche)</td>
|
||||
<td>24 ore</td>
|
||||
<td>Google</td>
|
||||
<td><%= raw t("legal.cookies.s4_2_row3_name_html") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row3_purpose") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row3_duration") %></td>
|
||||
<td><%= t("legal.cookies.s4_2_row3_provider") %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>
|
||||
Puoi revocare il consenso dal banner o dalle impostazioni del browser.
|
||||
Informazioni Google:
|
||||
<a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy Google</a>,
|
||||
<a href="https://tools.google.com/dlpage/gaoptout" target="_blank" rel="noopener noreferrer">componente opt-out Analytics</a>.
|
||||
<%= raw t(
|
||||
"legal.cookies.s4_2_p2_html",
|
||||
google_privacy_link: link_to(t("legal.cookies.s4_2_google_privacy_link_text"), "https://policies.google.com/privacy", target: "_blank", rel: "noopener noreferrer"),
|
||||
google_optout_link: link_to(t("legal.cookies.s4_2_google_optout_link_text"), "https://tools.google.com/dlpage/gaoptout", target: "_blank", rel: "noopener noreferrer")
|
||||
) %>
|
||||
</p>
|
||||
|
||||
<h3>4.3 Cookie di terze parti durante il pagamento</h3>
|
||||
<h3><%= t("legal.cookies.s4_3_title") %></h3>
|
||||
<p>
|
||||
Se acquisti un piano Premium, vieni reindirizzato a <strong>Stripe</strong> (checkout sicuro).
|
||||
Stripe può impostare cookie propri sul dominio <code>stripe.com</code> per prevenire frodi e completare il pagamento.
|
||||
Non controlliamo direttamente tali cookie: consulta la
|
||||
<a href="https://stripe.com/privacy" target="_blank" rel="noopener noreferrer">privacy policy di Stripe</a>.
|
||||
<%= raw t(
|
||||
"legal.cookies.s4_3_body_html",
|
||||
stripe_link: link_to(t("legal.cookies.s4_3_stripe_link_text"), "https://stripe.com/privacy", target: "_blank", rel: "noopener noreferrer")
|
||||
) %>
|
||||
</p>
|
||||
|
||||
<h3>4.4 YouTube e servizi collegati</h3>
|
||||
<h3><%= t("legal.cookies.s4_4_title") %></h3>
|
||||
<p>
|
||||
L’integrazione YouTube per le dirette avviene tramite API lato server; il sito pubblico non incorpora
|
||||
player YouTube con cookie di profilazione. I visitatori che aprono un link YouTube esterno
|
||||
sono soggetti alle policy di Google/YouTube su quel dominio.
|
||||
<%= t("legal.cookies.s4_4_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>5. Come disabilitare i cookie dal browser</h2>
|
||||
<h2><%= t("legal.cookies.s5_title") %></h2>
|
||||
<p>
|
||||
Puoi bloccare o cancellare i cookie dalle impostazioni del browser (Chrome, Firefox, Safari, Edge).
|
||||
Disabilitando i cookie necessari alcune funzioni (es. login) potrebbero non funzionare.
|
||||
<%= t("legal.cookies.s5_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>6. Diritti e contatti</h2>
|
||||
<h2><%= t("legal.cookies.s6_title") %></h2>
|
||||
<p>
|
||||
Per esercitare i diritti previsti dal GDPR (accesso, cancellazione, opposizione, revoca consenso)
|
||||
scrivi a <a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>.
|
||||
Dettagli nel <%= link_to "documento privacy", public_privacy_path %>.
|
||||
<%= raw t(
|
||||
"legal.cookies.s6_body_html",
|
||||
email_link: link_to(MatchLiveTv.privacy_controller_email, "mailto:#{MatchLiveTv.privacy_controller_email}"),
|
||||
privacy_doc_link: link_to(t("legal.cookies.s6_privacy_doc_link_text"), public_privacy_path)
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<p style="margin-top:24px">
|
||||
<button type="button" class="btn btn-secondary" data-cookie-manage>Gestisci preferenze cookie</button>
|
||||
<button type="button" class="btn btn-secondary" data-cookie-manage><%= t("legal.cookies.manage_button") %></button>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,83 +1,79 @@
|
||||
<% content_for :title, "FAQ — Diretta live partite giovanili | Match Live TV" %>
|
||||
<% content_for :meta_description, "Domande frequenti su streaming partite giovanili: come guardare la diretta senza app, costi, archivio, pallavolo Under 16, inviti staff e piani Free e Premium." %>
|
||||
<% content_for :title, t("pages.faq.meta_title") %>
|
||||
<% content_for :meta_description, t("pages.faq.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_faq_path) %>
|
||||
|
||||
<div class="wrap seo-page">
|
||||
<h1 style="margin-top:24px">Domande frequenti sullo streaming delle partite giovanili</h1>
|
||||
<h1 style="margin-top:24px"><%= t("pages.faq.title") %></h1>
|
||||
<p class="seo-lead">
|
||||
Risposte per genitori, allenatori e dirigenti che vogliono mandare in diretta live le partite
|
||||
di pallavolo, calcio e altri sport dilettantistici.
|
||||
<%= t("pages.faq.lead") %>
|
||||
</p>
|
||||
|
||||
<div class="faq-list">
|
||||
<details class="faq-item" open>
|
||||
<summary>Come guardo la partita di mio figlio senza installare app?</summary>
|
||||
<summary><%= t("pages.faq.q1_question") %></summary>
|
||||
<p>
|
||||
La società condivide un link (via WhatsApp, email o gruppo squadra). Apri il link dal telefono o dal computer:
|
||||
vedi la <strong>diretta live</strong> nel browser, senza registrarti. Funziona per nonni, parenti e amici lontani.
|
||||
<%= raw t("pages.faq.q1_answer_html") %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>Chi può avviare la diretta dalla palestra?</summary>
|
||||
<summary><%= t("pages.faq.q2_question") %></summary>
|
||||
<p>
|
||||
Coach, dirigenti o volontari invitati dalla società. Usano l’app Match Live TV sul telefono per filmare e,
|
||||
se serve, un secondo telefono per aggiornare il punteggio. La diretta parte solo quando premo avvio in palestra.
|
||||
<%= t("pages.faq.q2_answer") %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>È adatto alla pallavolo giovanile (Under 14, Under 16)?</summary>
|
||||
<summary><%= t("pages.faq.q3_question") %></summary>
|
||||
<p>
|
||||
Sì. Il punteggio a set è pensato per la pallavolo; puoi personalizzare regole per tornei particolari.
|
||||
Scopri la pagina dedicata: <%= link_to "Match Live TV per pallavolo giovanile", public_pallavolo_path %>.
|
||||
<%= raw t(
|
||||
"pages.faq.q3_answer_html",
|
||||
volleyball_link: link_to(t("pages.faq.q3_volleyball_link"), public_pallavolo_path)
|
||||
) %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>Cosa succede se perdo la diretta?</summary>
|
||||
<summary><%= t("pages.faq.q4_question") %></summary>
|
||||
<p>
|
||||
Con i piani Premium Light o Full la partita viene salvata in archivio (30 o 90 giorni) e puoi rivederla dal sito.
|
||||
Il piano Free non include replay su server, ma la diretta resta gratuita per chi trasmette e per chi guarda.
|
||||
<%= t("pages.faq.q4_answer") %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>Quanto costa per la società?</summary>
|
||||
<summary><%= t("pages.faq.q5_question") %></summary>
|
||||
<p>
|
||||
Puoi iniziare con il piano <strong>Free</strong> (limiti su staff e una diretta alla volta).
|
||||
Premium Light e Full aggiungono più partite in parallelo, archivio e YouTube.
|
||||
<%= link_to "Confronta i prezzi", public_prezzi_path %>.
|
||||
<%= raw t(
|
||||
"pages.faq.q5_answer_html",
|
||||
pricing_link: link_to(t("pages.faq.q5_pricing_link"), public_prezzi_path)
|
||||
) %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>Posso programmare una partita prima del giorno gara?</summary>
|
||||
<summary><%= t("pages.faq.q6_question") %></summary>
|
||||
<p>
|
||||
Sì, dall’app si imposta data e ora: la partita compare in «Prossime partite» sul sito.
|
||||
Lo streaming parte solo quando lo staff avvia la trasmissione in palestra.
|
||||
<%= t("pages.faq.q6_answer") %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>La diretta va anche su YouTube?</summary>
|
||||
<summary><%= t("pages.faq.q7_question") %></summary>
|
||||
<p>
|
||||
Con Premium Light puoi mandarla sul canale Match Live TV; con Premium Full anche sul canale YouTube della società.
|
||||
Chi preferisce resta sul link Match Live TV, comodo per le famiglie.
|
||||
<%= t("pages.faq.q7_answer") %>
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<details class="faq-item">
|
||||
<summary>Devo aprire porte sul router o avere attrezzatura da TV?</summary>
|
||||
<summary><%= t("pages.faq.q8_question") %></summary>
|
||||
<p>
|
||||
No per chi guarda. Per la società che trasmette basta lo smartphone e una buona connessione in palestra;
|
||||
lo staff tecnico della piattaforma gestisce l’infrastruttura. Niente camere broadcast o mixer.
|
||||
<%= t("pages.faq.q8_answer") %>
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
|
||||
<p style="text-align:center;margin:40px 0">
|
||||
<%= link_to "Registra la squadra", public_signup_path, class: "btn btn-primary" %>
|
||||
<%= link_to "Guarda le dirette", public_live_index_path, class: "btn btn-secondary" %>
|
||||
<%= link_to t("pages.faq.cta_signup"), public_signup_path, class: "btn btn-primary" %>
|
||||
<%= link_to t("pages.faq.cta_live"), public_live_index_path, class: "btn btn-secondary" %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,64 +1,64 @@
|
||||
<% content_for :title, "Funzionalità streaming partite giovanili — Match Live TV" %>
|
||||
<% content_for :meta_description, "App per diretta live da telefono: filma la partita, aggiorna il punteggio, condividi il link con genitori e nonni. Archivio gare e piani per società sportive giovanili." %>
|
||||
<% content_for :title, t("pages.features.meta_title") %>
|
||||
<% content_for :meta_description, t("pages.features.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_features_path) %>
|
||||
|
||||
<div class="wrap">
|
||||
<h1 style="margin-top:24px">Funzionalità</h1>
|
||||
<p style="color:#aaa;max-width:640px">Tutto ciò che serve per far seguire le partite a chi non può essere in palestra: semplice per coach e volontari, comodo per genitori, nonni e parenti.</p>
|
||||
<h1 style="margin-top:24px"><%= t("pages.features.title") %></h1>
|
||||
<p style="color:#aaa;max-width:640px"><%= t("pages.features.lead") %></p>
|
||||
|
||||
<section class="section">
|
||||
<h2>Per la società e lo staff</h2>
|
||||
<h2><%= t("pages.features.staff_section_title") %></h2>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card">
|
||||
<h3>Inviti con la propria email</h3>
|
||||
<p>Il presidente o l’owner invita chi filma e chi aggiorna il punteggio: ognuno accede con la sua email, senza condividere password.</p>
|
||||
<h3><%= t("pages.features.staff_invite_title") %></h3>
|
||||
<p><%= t("pages.features.staff_invite_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Gestione accessi</h3>
|
||||
<p>Puoi togliere l’accesso a un volontario o annullare un invito ancora in sospeso dalla dashboard della squadra.</p>
|
||||
<h3><%= t("pages.features.staff_access_title") %></h3>
|
||||
<p><%= t("pages.features.staff_access_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Piani su misura</h3>
|
||||
<p>Con Free, Premium Light o Premium Full aumenti quante persone possono aiutare in diretta e quante partite possono andare in parallelo.</p>
|
||||
<h3><%= t("pages.features.staff_plans_title") %></h3>
|
||||
<p><%= t("pages.features.staff_plans_body") %></p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<h2>In campo e in diretta</h2>
|
||||
<h2><%= t("pages.features.live_section_title") %></h2>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card">
|
||||
<h3>Filma dal telefono</h3>
|
||||
<p>Appoggi il telefono e avvii la diretta: anche con il 4G debole la trasmissione resta stabile il più possibile, senza impazzire con cavi o mixer.</p>
|
||||
<h3><%= t("pages.features.live_phone_title") %></h3>
|
||||
<p><%= t("pages.features.live_phone_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Punteggio da un secondo telefono</h3>
|
||||
<p>Un altro volontario aggiorna set e punti da un secondo cellulare: basta inquadrare il codice che compare sullo schermo di chi filma.</p>
|
||||
<h3><%= t("pages.features.live_score_title") %></h3>
|
||||
<p><%= t("pages.features.live_score_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Link per famiglie e tifosi</h3>
|
||||
<p>Condividi un link: genitori, nonni e amici guardano dal browser del telefono o del computer, senza installare app.</p>
|
||||
<h3><%= t("pages.features.live_link_title") %></h3>
|
||||
<p><%= t("pages.features.live_link_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Archivio partite</h3>
|
||||
<p>Con Premium Light o Full le gare restano salvate sul server (30 o 90 giorni) e puoi scaricarle sul telefono quando serve.</p>
|
||||
<h3><%= t("pages.features.live_archive_title") %></h3>
|
||||
<p><%= t("pages.features.live_archive_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Anche su YouTube (Match Live TV)</h3>
|
||||
<p>Con Premium Light la diretta è visibile anche sul canale YouTube Match Live TV, oltre al link sul sito.</p>
|
||||
<h3><%= t("pages.features.live_youtube_mltv_title") %></h3>
|
||||
<p><%= t("pages.features.live_youtube_mltv_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Canale YouTube della società</h3>
|
||||
<p>Con Premium Full puoi mandare la stessa diretta anche sul canale YouTube ufficiale del club.</p>
|
||||
<h3><%= t("pages.features.live_youtube_club_title") %></h3>
|
||||
<p><%= t("pages.features.live_youtube_club_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Sul sito della società</h3>
|
||||
<p>Integrazione per incorporare il player sul sito del club — in arrivo con Premium Full.</p>
|
||||
<h3><%= t("pages.features.live_website_title") %></h3>
|
||||
<p><%= t("pages.features.live_website_body") %></p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<p style="text-align:center;margin:40px 0">
|
||||
<%= link_to "Registra la squadra", public_signup_path, class: "btn btn-primary" %>
|
||||
<%= link_to t("pages.features.cta_signup"), public_signup_path, class: "btn btn-primary" %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,67 +1,60 @@
|
||||
<% content_for :title, "Diretta live pallavolo giovanile — Under 14, Under 16 | Match Live TV" %>
|
||||
<% content_for :meta_description, "Streaming partite di pallavolo giovanile da telefono: diretta live per genitori e nonni, punteggio a set, link da condividere. Ideale per società Under 14, Under 16 e Under 18." %>
|
||||
<% content_for :title, t("pages.volleyball.meta_title") %>
|
||||
<% content_for :meta_description, t("pages.volleyball.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_pallavolo_path) %>
|
||||
|
||||
<div class="wrap seo-page">
|
||||
<h1 style="margin-top:24px">Match Live TV per la pallavolo giovanile</h1>
|
||||
<h1 style="margin-top:24px"><%= t("pages.volleyball.title") %></h1>
|
||||
<p class="seo-lead">
|
||||
La soluzione per società, coach e genitori che vogliono una <strong>diretta live</strong> affidabile
|
||||
delle partite <strong>Under 14, Under 16, Under 18</strong> e settori giovanili — senza diventare telecronisti.
|
||||
<%= raw t("pages.volleyball.lead_html") %>
|
||||
</p>
|
||||
|
||||
<section class="seo-prose">
|
||||
<h2>Perché la pallavolo giovanile ha bisogno di uno streaming semplice</h2>
|
||||
<h2><%= t("pages.volleyball.section1_title") %></h2>
|
||||
<p>
|
||||
In palestra i genitori non sono sempre tutti in tribuna: turni di lavoro, fratelli piccoli, trasferte.
|
||||
Un nonno in un’altra città o un parente all’estero vuole comunque vedere il tie-break del terzo set.
|
||||
Match Live TV nasce per questo: <strong>streaming partite pallavolo giovanile</strong> dal telefono,
|
||||
con punteggio aggiornato e link immediato da mandare su WhatsApp.
|
||||
<%= raw t("pages.volleyball.section1_body_html") %>
|
||||
</p>
|
||||
|
||||
<h2>Cosa fa il coach in due minuti</h2>
|
||||
<h2><%= t("pages.volleyball.section2_title") %></h2>
|
||||
<ul>
|
||||
<li>Programma la partita con data, avversario e campo dall’app</li>
|
||||
<li>Il giorno gara appoggia il telefono e avvia la diretta</li>
|
||||
<li>Un volontario può aggiornare set e punti da un secondo cellulare</li>
|
||||
<li>Condivide il link con il gruppo genitori: tutti guardano dal browser</li>
|
||||
<li><%= t("pages.volleyball.section2_item1") %></li>
|
||||
<li><%= t("pages.volleyball.section2_item2") %></li>
|
||||
<li><%= t("pages.volleyball.section2_item3") %></li>
|
||||
<li><%= t("pages.volleyball.section2_item4") %></li>
|
||||
</ul>
|
||||
|
||||
<h2>Cosa vede la famiglia a casa</h2>
|
||||
<h2><%= t("pages.volleyball.section3_title") %></h2>
|
||||
<p>
|
||||
Nessuna app da installare. Apri il link e segui la partita in diretta live: nome squadre, punteggio,
|
||||
stato del set. Se hai perso l’inizio, con Premium la gara resta in archivio per rivederla quando vuoi.
|
||||
<%= t("pages.volleyball.section3_body") %>
|
||||
</p>
|
||||
|
||||
<h2>Pallavolo: punteggio e regole</h2>
|
||||
<h2><%= t("pages.volleyball.section4_title") %></h2>
|
||||
<p>
|
||||
Set da vincere 2 o 3, punti 25/21/15 configurabili per tornei non standard. Il punteggio si gestisce da un link condiviso (senza account):
|
||||
in campo resta concentrato sul gioco, non sul telefono.
|
||||
<%= t("pages.volleyball.section4_body") %>
|
||||
</p>
|
||||
|
||||
<h2>Altri sport giovanili</h2>
|
||||
<h2><%= t("pages.volleyball.section5_title") %></h2>
|
||||
<p>
|
||||
La stessa piattaforma funziona anche per calcio, basket e sport di squadra dilettantistici.
|
||||
La pallavolo resta lo sport con cui molte società iniziano perché il punteggio a set è già integrato.
|
||||
<%= t("pages.volleyball.section5_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<div class="features-grid" style="margin-top:32px">
|
||||
<div class="feature-card">
|
||||
<h3>Genitori e nonni</h3>
|
||||
<p>Link su WhatsApp, visione da telefono o TV con browser. Zero registrazione per chi guarda.</p>
|
||||
<h3><%= t("pages.volleyball.card1_title") %></h3>
|
||||
<p><%= t("pages.volleyball.card1_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Società e staff</h3>
|
||||
<p>Inviti con email, più operatori con Premium, revoca accessi dalla dashboard web.</p>
|
||||
<h3><%= t("pages.volleyball.card2_title") %></h3>
|
||||
<p><%= t("pages.volleyball.card2_body") %></p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<h3>Archivio gare</h3>
|
||||
<p>Premium Light/Full: replay per chi ha perso la diretta o vuole rivedere un punto chiave.</p>
|
||||
<h3><%= t("pages.volleyball.card3_title") %></h3>
|
||||
<p><%= t("pages.volleyball.card3_body") %></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p style="text-align:center;margin:40px 0">
|
||||
<%= link_to "Inizia gratis", public_signup_path, class: "btn btn-primary" %>
|
||||
<%= link_to "Domande frequenti", public_faq_path, class: "btn btn-secondary" %>
|
||||
<%= link_to t("pages.volleyball.cta_start"), public_signup_path, class: "btn btn-primary" %>
|
||||
<%= link_to t("pages.volleyball.cta_faq"), public_faq_path, class: "btn btn-secondary" %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
<% content_for :title, "Prezzi streaming partite giovanili — Match Live TV" %>
|
||||
<% content_for :meta_description, "Piani Free, Premium Light e Premium Full per dirette live e archivio partite. Abbonamento annuale per società: più staff, più partite in parallelo, replay e YouTube." %>
|
||||
<% content_for :title, t("pages.pricing.meta_title") %>
|
||||
<% content_for :meta_description, t("pages.pricing.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_prezzi_path) %>
|
||||
|
||||
<div class="wrap" style="padding-top:24px">
|
||||
<% if @club %>
|
||||
<h1>Piani per la tua società</h1>
|
||||
<h1><%= t("pages.pricing.club_title") %></h1>
|
||||
<% if @entitlements %>
|
||||
<%= render "shared/club_subscription_status", club: @club, entitlements: @entitlements, subscription: @subscription %>
|
||||
<% else %>
|
||||
<p style="color:#aaa">Società: <strong><%= @club.name %></strong> · <%= link_to "Gestisci abbonamento", public_club_billing_path(@club) %></p>
|
||||
<p style="color:#aaa"><%= raw t(
|
||||
"pages.pricing.club_info_html",
|
||||
name: @club.name,
|
||||
billing_link: link_to(t("pages.pricing.manage_subscription"), public_club_billing_path(@club))
|
||||
) %></p>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<h1>Piani per la tua squadra</h1>
|
||||
<p style="color:#aaa">Abbonamento annuale per società: i responsabili trasmissione avviano la diretta dall’app; il punteggio si gestisce con un link condivisibile.</p>
|
||||
<h1><%= t("pages.pricing.team_title") %></h1>
|
||||
<p style="color:#aaa"><%= t("pages.pricing.team_lead") %></p>
|
||||
<% end %>
|
||||
<%= render "shared/stripe_secure_payment" %>
|
||||
|
||||
@@ -23,19 +27,19 @@
|
||||
<tr><th></th><th>Free</th><th>Premium Light</th><th>Premium Full</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Responsabili trasmissione / anno</td><td>1</td><td>5</td><td>Illimitato</td></tr>
|
||||
<tr><td>Partite in contemporanea</td><td>1</td><td>3</td><td>10</td></tr>
|
||||
<tr><td>Live su Match Live TV</td><td>Sì</td><td>Sì</td><td>Sì</td></tr>
|
||||
<tr><td>YouTube</td><td>No</td><td>Match Live TV</td><td>Canale società</td></tr>
|
||||
<tr><td>Replay server</td><td>No</td><td>30 gg</td><td>90 gg</td></tr>
|
||||
<tr><td>Download telefono</td><td>No</td><td>Sì</td><td>Sì</td></tr>
|
||||
<tr><td>Prezzo</td><td>€0</td><td>€40/anno o €5/mese</td><td>€200/anno o €20/mese</td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_staff") %></td><td>1</td><td>5</td><td><%= t("pages.pricing.table_unlimited") %></td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_matches") %></td><td>1</td><td>3</td><td>10</td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_live_mltv") %></td><td><%= t("pages.pricing.table_yes") %></td><td><%= t("pages.pricing.table_yes") %></td><td><%= t("pages.pricing.table_yes") %></td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_youtube") %></td><td><%= t("pages.pricing.table_no") %></td><td>Match Live TV</td><td><%= t("pages.pricing.table_youtube_club") %></td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_replay") %></td><td><%= t("pages.pricing.table_no") %></td><td><%= t("pages.plans.replay_days", count: 30) %></td><td><%= t("pages.plans.replay_days", count: 90) %></td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_download") %></td><td><%= t("pages.pricing.table_no") %></td><td><%= t("pages.pricing.table_yes") %></td><td><%= t("pages.pricing.table_yes") %></td></tr>
|
||||
<tr><td><%= t("pages.pricing.table_price") %></td><td><%= t("pages.pricing.table_price_free") %></td><td><%= raw t("pages.pricing.table_price_light_html") %></td><td><%= raw t("pages.pricing.table_price_full_html") %></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="card" style="margin-top:32px;text-align:center">
|
||||
<h3 style="margin-top:0">Esigenze diverse?</h3>
|
||||
<p style="color:#aaa;margin-bottom:16px">Per società con più squadre, tornei o integrazioni custom, contattaci: troviamo insieme l'offerta migliore.</p>
|
||||
<%= mail_to "info@matchlive.it", "Contattaci", class: "btn btn-primary" %>
|
||||
<h3 style="margin-top:0"><%= t("pages.pricing.different_title") %></h3>
|
||||
<p style="color:#aaa;margin-bottom:16px"><%= t("pages.pricing.different_body") %></p>
|
||||
<%= mail_to "info@matchlive.it", t("pages.pricing.contact_button"), class: "btn btn-primary" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,192 +1,200 @@
|
||||
<% content_for :title, "Informativa privacy — Match Live TV" %>
|
||||
<% content_for :meta_description, "Informativa privacy GDPR di Match Live TV: dati account, streaming partite giovanili, immagini di minori, pagamenti Stripe e diritti degli interessati." %>
|
||||
<% content_for :title, t("legal.privacy.title") %>
|
||||
<% content_for :meta_description, t("legal.privacy.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_privacy_path) %>
|
||||
|
||||
<div class="wrap legal-doc">
|
||||
<h1>Informativa sul trattamento dei dati personali</h1>
|
||||
<p class="legal-meta">Ultimo aggiornamento: <%= legal_last_updated %> · Ai sensi del Regolamento (UE) 2016/679 (GDPR)</p>
|
||||
<h1><%= t("legal.privacy.h1") %></h1>
|
||||
<p class="legal-meta"><%= raw t("legal.privacy.meta_html", date: legal_last_updated) %></p>
|
||||
|
||||
<section>
|
||||
<h2>1. Titolare del trattamento</h2>
|
||||
<h2><%= t("legal.privacy.s1_title") %></h2>
|
||||
<p>
|
||||
Il titolare del trattamento dei dati personali raccolti tramite il sito e i servizi Match Live TV è:
|
||||
<%= t("legal.privacy.s1_intro") %>
|
||||
</p>
|
||||
<ul>
|
||||
<li><strong><%= MatchLiveTv.privacy_controller_name %></strong></li>
|
||||
<li>Indirizzo: <%= MatchLiveTv.privacy_controller_address %></li>
|
||||
<li>Email per privacy e diritti: <a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a></li>
|
||||
<li><%= t("legal.privacy.s1_label_address") %> <%= MatchLiveTv.privacy_controller_address %></li>
|
||||
<li><%= t("legal.privacy.s1_label_email") %> <a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a></li>
|
||||
<% if MatchLiveTv.privacy_controller_vat.present? %>
|
||||
<li>Partita IVA / CF: <%= MatchLiveTv.privacy_controller_vat %></li>
|
||||
<li><%= t("legal.privacy.s1_label_vat") %> <%= MatchLiveTv.privacy_controller_vat %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<p>Per richieste relative a questa informativa o per esercitare i diritti previsti dal GDPR, scrivi all’indirizzo email indicato.</p>
|
||||
<p><%= t("legal.privacy.s1_outro") %></p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>2. Ambito di applicazione</h2>
|
||||
<p>La presente informativa si applica a:</p>
|
||||
<h2><%= t("legal.privacy.s2_title") %></h2>
|
||||
<p><%= t("legal.privacy.s2_intro") %></p>
|
||||
<ul>
|
||||
<li>visitatori del sito web Match Live TV (pagine informative, elenco dirette, registrazione squadra);</li>
|
||||
<li>utenti registrati (referenti di società sportive, coach, staff invitato);</li>
|
||||
<li>spettatori che accedono alle dirette tramite link (in genere senza creare un account);</li>
|
||||
<li>utilizzo dell’app mobile collegata al servizio.</li>
|
||||
<li><%= t("legal.privacy.s2_item1") %></li>
|
||||
<li><%= t("legal.privacy.s2_item2") %></li>
|
||||
<li><%= t("legal.privacy.s2_item3") %></li>
|
||||
<li><%= t("legal.privacy.s2_item4") %></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>3. Tipologie di dati trattati</h2>
|
||||
<p>Possiamo trattare, a seconda dell’uso del servizio:</p>
|
||||
<h2><%= t("legal.privacy.s3_title") %></h2>
|
||||
<p><%= t("legal.privacy.s3_intro") %></p>
|
||||
<ul>
|
||||
<li><strong>Dati identificativi e di contatto:</strong> nome, indirizzo email, credenziali di accesso (password conservata in forma crittografata).</li>
|
||||
<li><strong>Dati della squadra:</strong> nome società, sport, partite programmate, avversario, luogo, orari.</li>
|
||||
<li><strong>Dati di streaming e tecnici:</strong> stato sessione, punteggio, telemetria di rete/bitrate, log di connessione al servizio video.</li>
|
||||
<li><strong>Contenuti audiovisivi:</strong> flussi video e audio delle partite trasmesse in diretta e, con i piani Premium, registrazioni (replay) conservate per un periodo limitato.</li>
|
||||
<li><strong>Dati di pagamento:</strong> per i piani a pagamento, Stripe tratta i dati necessari al pagamento (es. metodo di pagamento, intestazione fattura). Il titolare non conserva i numeri completi della carta.</li>
|
||||
<li><strong>Dati di navigazione:</strong> log del server, indirizzo IP, user agent, necessari per sicurezza e funzionamento del sito.</li>
|
||||
<li><%= raw t("legal.privacy.s3_item1_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s3_item2_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s3_item3_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s3_item4_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s3_item5_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s3_item6_html") %></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>4. Trattamento di immagini e dati di atleti minorenni</h2>
|
||||
<h2><%= t("legal.privacy.s4_title") %></h2>
|
||||
<p>
|
||||
Match Live TV è destinato anche a competizioni e categorie giovanili (es. Under 14, Under 16, Under 18).
|
||||
Le dirette possono riprendere <strong>atleti minorenni</strong> identificabili (immagine, voce, numero di maglia, dati di gioco).
|
||||
<%= raw t("legal.privacy.s4_p1_html") %>
|
||||
</p>
|
||||
<p><strong>Chi è responsabile del trattamento delle immagini dei minori</strong></p>
|
||||
<p><strong><%= t("legal.privacy.s4_lead1") %></strong></p>
|
||||
<p>
|
||||
La <strong>società sportiva</strong> che avvia la trasmissione, in qualità di organizzatrice dell’evento sportivo,
|
||||
è in primo luogo responsabile di assicurare una base giuridica valida (tipicamente <strong>consenso dei genitori/tutori</strong>,
|
||||
oppure altro titolo previsto dalla legge e dal regolamento della federazione di riferimento) prima di filmare e diffondere le immagini.
|
||||
<%= raw t("legal.privacy.s4_p2_html") %>
|
||||
</p>
|
||||
<p><strong>Ruolo di Match Live TV</strong></p>
|
||||
<p><strong><%= t("legal.privacy.s4_lead2") %></strong></p>
|
||||
<p>
|
||||
Il titolare del servizio fornisce la piattaforma tecnica e, per le trasmissioni effettuate dagli utenti autorizzati,
|
||||
può agire come <strong>responsabile del trattamento</strong> su istruzioni della società o, in alcuni casi, come titolare
|
||||
per i trattamenti strettamente necessari all’erogazione del servizio (hosting, sicurezza, fatturazione).
|
||||
<%= raw t("legal.privacy.s4_p3_html") %>
|
||||
</p>
|
||||
<p><strong>Misure richieste alla società sportiva</strong></p>
|
||||
<p><strong><%= t("legal.privacy.s4_lead3") %></strong></p>
|
||||
<ul>
|
||||
<li>informare genitori/tutori sull’uso di video in diretta e in archivio;</li>
|
||||
<li>raccogliere e documentare i consensi necessari prima della diretta;</li>
|
||||
<li>limitare la diffusione del link a persone autorizzate (familiari, staff);</li>
|
||||
<li>non pubblicare su canali aperti se non previsto dal consenso o dal regolamento sportivo;</li>
|
||||
<li>richiedere rimozione di registrazioni quando ne ha diritto l’interessato o il tutore.</li>
|
||||
<li><%= t("legal.privacy.s4_item1") %></li>
|
||||
<li><%= t("legal.privacy.s4_item2") %></li>
|
||||
<li><%= t("legal.privacy.s4_item3") %></li>
|
||||
<li><%= t("legal.privacy.s4_item4") %></li>
|
||||
<li><%= t("legal.privacy.s4_item5") %></li>
|
||||
</ul>
|
||||
<p>
|
||||
Le richieste dei genitori/tutori relative a immagini di minori possono essere inoltrate alla società sportiva
|
||||
e, per supporto tecnico o cancellazione da archivio, anche a
|
||||
<a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>.
|
||||
<%= raw t(
|
||||
"legal.privacy.s4_p4_html",
|
||||
email_link: link_to(MatchLiveTv.privacy_controller_email, "mailto:#{MatchLiveTv.privacy_controller_email}")
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>5. Finalità e basi giuridiche</h2>
|
||||
<h2><%= t("legal.privacy.s5_title") %></h2>
|
||||
<table class="legal-table">
|
||||
<thead>
|
||||
<tr><th>Finalità</th><th>Base giuridica (art. 6 GDPR)</th></tr>
|
||||
<tr><th><%= t("legal.privacy.s5_col_purpose") %></th><th><%= t("legal.privacy.s5_col_basis") %></th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Registrazione account, gestione squadra e staff</td>
|
||||
<td>Esecuzione del contratto / misure precontrattuali</td>
|
||||
<td><%= t("legal.privacy.s5_row1_purpose") %></td>
|
||||
<td><%= t("legal.privacy.s5_row1_basis") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Erogazione dirette, punteggio live, archivio (piani Premium)</td>
|
||||
<td>Esecuzione del contratto; legittimo interesse alla sicurezza del servizio</td>
|
||||
<td><%= t("legal.privacy.s5_row2_purpose") %></td>
|
||||
<td><%= t("legal.privacy.s5_row2_basis") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Pagamenti e fatturazione (Stripe)</td>
|
||||
<td>Esecuzione del contratto; obblighi di legge</td>
|
||||
<td><%= t("legal.privacy.s5_row3_purpose") %></td>
|
||||
<td><%= t("legal.privacy.s5_row3_basis") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Assistenza, sicurezza, prevenzione abusi</td>
|
||||
<td>Legittimo interesse; obblighi di legge</td>
|
||||
<td><%= t("legal.privacy.s5_row4_purpose") %></td>
|
||||
<td><%= t("legal.privacy.s5_row4_basis") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Comunicazioni di servizio (es. reset password)</td>
|
||||
<td>Esecuzione del contratto</td>
|
||||
<td><%= t("legal.privacy.s5_row5_purpose") %></td>
|
||||
<td><%= t("legal.privacy.s5_row5_basis") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Marketing diretto (solo se previsto e con consenso ove richiesto)</td>
|
||||
<td>Consenso o legittimo interesse, secondo i casi</td>
|
||||
<td><%= t("legal.privacy.s5_row6_purpose") %></td>
|
||||
<td><%= t("legal.privacy.s5_row6_basis") %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>6. Destinatari e responsabili del trattamento</h2>
|
||||
<p>I dati possono essere comunicati a fornitori che agiscono come responsabili del trattamento, tra cui:</p>
|
||||
<h2><%= t("legal.privacy.s6_title") %></h2>
|
||||
<p><%= t("legal.privacy.s6_intro") %></p>
|
||||
<ul>
|
||||
<li>fornitore di hosting e infrastruttura cloud/server;</li>
|
||||
<li><strong>Stripe</strong> (pagamenti) — <a href="https://stripe.com/it/privacy" rel="noopener" target="_blank">privacy Stripe</a>;</li>
|
||||
<li>fornitore streaming video (MediaMTX / infrastruttura RTMP-HLS);</li>
|
||||
<li>eventuale integrazione <strong>YouTube</strong> se attivata dalla società (soggetto a policy Google);</li>
|
||||
<li>fornitore email transazionale (invio link reset password, inviti).</li>
|
||||
<li><%= t("legal.privacy.s6_item1") %></li>
|
||||
<li>
|
||||
<%= raw t(
|
||||
"legal.privacy.s6_item2_html",
|
||||
stripe_link: link_to(t("legal.privacy.s6_item2_link_text"), "https://stripe.com/it/privacy", rel: "noopener", target: "_blank")
|
||||
) %>
|
||||
</li>
|
||||
<li><%= t("legal.privacy.s6_item3") %></li>
|
||||
<li><%= raw t("legal.privacy.s6_item4_html") %></li>
|
||||
<li><%= t("legal.privacy.s6_item5") %></li>
|
||||
</ul>
|
||||
<p>I dati non sono venduti a terzi per finalità di profilazione commerciale.</p>
|
||||
<p><%= t("legal.privacy.s6_outro") %></p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>7. Trasferimenti extra SEE</h2>
|
||||
<h2><%= t("legal.privacy.s7_title") %></h2>
|
||||
<p>
|
||||
Alcuni fornitori (es. Stripe, Google/YouTube) possono trattare dati anche fuori dallo Spazio Economico Europeo.
|
||||
In tal caso si applicano garanzie adeguate previste dal GDPR (clausole contrattuali standard, decisioni di adeguatezza).
|
||||
<%= t("legal.privacy.s7_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>8. Conservazione</h2>
|
||||
<h2><%= t("legal.privacy.s8_title") %></h2>
|
||||
<ul>
|
||||
<li><strong>Account utente:</strong> per tutta la durata del rapporto contrattuale e, dopo la cessazione, per il tempo necessario a obblighi di legge o contestazioni (in genere fino a 10 anni per documenti contabili ove applicabile).</li>
|
||||
<li><strong>Registrazioni partite (replay):</strong> secondo il piano (es. 30 o 90 giorni), poi cancellazione automatica o su richiesta.</li>
|
||||
<li><strong>Log tecnici:</strong> periodo limitato (es. 30–90 giorni) salvo obblighi di sicurezza.</li>
|
||||
<li><strong>Token reset password:</strong> validità massima <%= MatchLiveTv.password_reset_expiry_hours %> ore.</li>
|
||||
<li><%= raw t("legal.privacy.s8_item1_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s8_item2_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s8_item3_html") %></li>
|
||||
<li><%= raw t("legal.privacy.s8_item4_html", hours: MatchLiveTv.password_reset_expiry_hours) %></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>9. Diritti degli interessati</h2>
|
||||
<p>In qualità di interessato hai diritto di:</p>
|
||||
<h2><%= t("legal.privacy.s9_title") %></h2>
|
||||
<p><%= t("legal.privacy.s9_intro") %></p>
|
||||
<ul>
|
||||
<li>accedere ai tuoi dati e ottenerne copia;</li>
|
||||
<li>rettificarli se inesatti;</li>
|
||||
<li>chiederne la cancellazione (nei limiti di legge);</li>
|
||||
<li>limitare o opporti al trattamento, ove applicabile;</li>
|
||||
<li>revocare il consenso senza pregiudicare la liceità del trattamento basato sul consenso prestato prima della revoca;</li>
|
||||
<li>proporre reclamo all’Autorità Garante per la protezione dei dati personali (<a href="https://www.garanteprivacy.it" rel="noopener" target="_blank">garanteprivacy.it</a>).</li>
|
||||
<li><%= t("legal.privacy.s9_item1") %></li>
|
||||
<li><%= t("legal.privacy.s9_item2") %></li>
|
||||
<li><%= t("legal.privacy.s9_item3") %></li>
|
||||
<li><%= t("legal.privacy.s9_item4") %></li>
|
||||
<li><%= t("legal.privacy.s9_item5") %></li>
|
||||
<li>
|
||||
<%= raw t(
|
||||
"legal.privacy.s9_item6_html",
|
||||
garante_link: link_to("garanteprivacy.it", "https://www.garanteprivacy.it", rel: "noopener", target: "_blank")
|
||||
) %>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Per esercitare i diritti: <a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>10. Sicurezza</h2>
|
||||
<p>
|
||||
Adottiamo misure tecniche e organizzative adeguate (accesso autenticato, password crittografate,
|
||||
comunicazioni HTTPS, segregazione ambienti, limitazione accessi staff). Nessun sistema è invulnerabile:
|
||||
se sospetti un accesso non autorizzato, cambia password e contattaci.
|
||||
<%= raw t(
|
||||
"legal.privacy.s9_outro_html",
|
||||
email_link: link_to(MatchLiveTv.privacy_controller_email, "mailto:#{MatchLiveTv.privacy_controller_email}")
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>11. Cookie e tecnologie simili</h2>
|
||||
<h2><%= t("legal.privacy.s10_title") %></h2>
|
||||
<p>
|
||||
Il sito utilizza cookie tecnici necessari (sessione di login, sicurezza, memorizzazione delle preferenze cookie)
|
||||
e, previo consenso tramite il banner, <strong>Google Analytics</strong> per statistiche aggregate.
|
||||
</p>
|
||||
<p>
|
||||
Puoi gestire le preferenze in qualsiasi momento dal link «Gestisci cookie» nel footer
|
||||
o consultare la <%= link_to "Cookie policy", public_cookies_path %>.
|
||||
<%= t("legal.privacy.s10_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>12. Modifiche</h2>
|
||||
<h2><%= t("legal.privacy.s11_title") %></h2>
|
||||
<p>
|
||||
Il titolare può aggiornare questa informativa. La data in alto indica l’ultima revisione.
|
||||
In caso di modifiche rilevanti, sarà fornita comunicazione adeguata (es. avviso sul sito o email agli account registrati).
|
||||
<%= raw t("legal.privacy.s11_p1_html") %>
|
||||
</p>
|
||||
<p>
|
||||
<%= raw t(
|
||||
"legal.privacy.s11_p2_html",
|
||||
cookie_policy_link: link_to(t("legal.privacy.s11_cookie_policy_link_text"), public_cookies_path)
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<p class="legal-back"><%= link_to "← Torna alla home", root_path %></p>
|
||||
<section>
|
||||
<h2><%= t("legal.privacy.s12_title") %></h2>
|
||||
<p>
|
||||
<%= t("legal.privacy.s12_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<p class="legal-back"><%= link_to t("legal.common.back_home"), root_path %></p>
|
||||
</div>
|
||||
|
||||
@@ -1,134 +1,128 @@
|
||||
<% content_for :title, "Termini di servizio — Match Live TV" %>
|
||||
<% content_for :meta_description, "Termini e condizioni d'uso di Match Live TV per società sportive: dirette live, minori, piani, pagamenti Stripe e responsabilità degli utenti." %>
|
||||
<% content_for :title, t("legal.terms.title") %>
|
||||
<% content_for :meta_description, t("legal.terms.meta_description") %>
|
||||
<% content_for :canonical_url, seo_absolute_url(public_termini_path) %>
|
||||
|
||||
<div class="wrap legal-doc">
|
||||
<h1>Termini e condizioni di servizio</h1>
|
||||
<p class="legal-meta">Ultimo aggiornamento: <%= legal_last_updated %></p>
|
||||
<h1><%= t("legal.terms.h1") %></h1>
|
||||
<p class="legal-meta"><%= t("legal.terms.meta", date: legal_last_updated) %></p>
|
||||
|
||||
<section>
|
||||
<h2>1. Oggetto</h2>
|
||||
<h2><%= t("legal.terms.s1_title") %></h2>
|
||||
<p>
|
||||
I presenti Termini regolano l’uso della piattaforma <strong>Match Live TV</strong> (sito web, applicazione mobile
|
||||
e servizi connessi) per la gestione di dirette sportive dilettantistiche/giovanili, punteggio live,
|
||||
condivisione link agli spettatori e funzioni Premium (archivio, YouTube, ecc.).
|
||||
<%= raw t("legal.terms.s1_p1_html") %>
|
||||
</p>
|
||||
<p>
|
||||
Il servizio è erogato da <strong><%= MatchLiveTv.privacy_controller_name %></strong>
|
||||
(di seguito «Fornitore»). Registrandoti o utilizzando il servizio accetti integralmente questi Termini
|
||||
e l’<%= link_to "informativa privacy", public_privacy_path %>.
|
||||
<%= raw t(
|
||||
"legal.terms.s1_p2_html",
|
||||
provider_name: MatchLiveTv.privacy_controller_name,
|
||||
privacy_link: link_to(t("legal.terms.s1_privacy_link_text"), public_privacy_path)
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>2. Chi può usare il servizio</h2>
|
||||
<h2><%= t("legal.terms.s2_title") %></h2>
|
||||
<ul>
|
||||
<li>Il referente che registra la squadra dichiara di avere almeno <strong>18 anni</strong> e poteri per vincolare la società sportiva.</li>
|
||||
<li>I responsabili trasmissione invitati usano credenziali personali e si impegnano a custodirle.</li>
|
||||
<li>Gli spettatori che aprono il link della diretta di solito non necessitano di account.</li>
|
||||
<li><%= raw t("legal.terms.s2_item1_html") %></li>
|
||||
<li><%= t("legal.terms.s2_item2") %></li>
|
||||
<li><%= t("legal.terms.s2_item3") %></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>3. Account, piani e pagamenti</h2>
|
||||
<h2><%= t("legal.terms.s3_title") %></h2>
|
||||
<p>
|
||||
Sono disponibili piani Free e Premium (Light / Full) con limiti su staff, dirette concorrenti, archivio e integrazioni.
|
||||
I prezzi sono indicati nella pagina <%= link_to "Prezzi", public_prezzi_path %>.
|
||||
<%= raw t(
|
||||
"legal.terms.s3_p1_html",
|
||||
pricing_link: link_to(t("legal.terms.s3_pricing_link_text"), public_prezzi_path)
|
||||
) %>
|
||||
</p>
|
||||
<p>
|
||||
I pagamenti dei piani a pagamento sono gestiti da <strong>Stripe</strong>. Accettando il checkout,
|
||||
accetti anche i termini di Stripe per il pagamento. Il Fornitore non memorizza i dati completi della carta.
|
||||
<%= raw t("legal.terms.s3_p2_html") %>
|
||||
</p>
|
||||
<p>Rinnovi, disdetta e diritto di recesso seguono quanto comunicato al momento dell’acquisto e la normativa applicabile.</p>
|
||||
<p><%= t("legal.terms.s3_p3") %></p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>4. Dirette, contenuti e protezione dei minori</h2>
|
||||
<p><strong>Responsabilità della società sportiva</strong></p>
|
||||
<h2><%= t("legal.terms.s4_title") %></h2>
|
||||
<p><strong><%= t("legal.terms.s4_lead1") %></strong></p>
|
||||
<p>
|
||||
La società che avvia una diretta è responsabile dei contenuti trasmessi (immagini, audio, commenti)
|
||||
e della conformità alle leggi, al regolamento federale e ai consensi necessari, in particolare quando
|
||||
sono ripresi <strong>atleti minorenni</strong>.
|
||||
<%= raw t("legal.terms.s4_p1_html") %>
|
||||
</p>
|
||||
<p>La società si impegna a:</p>
|
||||
<p><%= t("legal.terms.s4_p2") %></p>
|
||||
<ul>
|
||||
<li>ottenere e conservare i consensi genitoriali/tutori o altra base giuridica prima della ripresa;</li>
|
||||
<li>informare genitori e atleti su dove e per quanto tempo è visibile la diretta/archivio;</li>
|
||||
<li>non trasmettere contenuti illegali, diffamatori, violenti o non pertinenti all’evento sportivo;</li>
|
||||
<li>rispettare il diritto all’immagine e alla voce di tutte le persone inquadrate.</li>
|
||||
<li><%= t("legal.terms.s4_item1") %></li>
|
||||
<li><%= t("legal.terms.s4_item2") %></li>
|
||||
<li><%= t("legal.terms.s4_item3") %></li>
|
||||
<li><%= t("legal.terms.s4_item4") %></li>
|
||||
</ul>
|
||||
<p>
|
||||
Il Fornitore può sospendere o interrompere trasmissioni e account in caso di segnalazioni fondate
|
||||
o violazioni gravi, senza pregiudizio di azioni legali.
|
||||
<%= t("legal.terms.s4_p3") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>5. Uso consentito e divieti</h2>
|
||||
<p>È vietato:</p>
|
||||
<h2><%= t("legal.terms.s5_title") %></h2>
|
||||
<p><%= t("legal.terms.s5_intro") %></p>
|
||||
<ul>
|
||||
<li>usare il servizio per finalità non sportive o commerciali non autorizzate;</li>
|
||||
<li>aggirare limiti tecnici o di piano (staff, dirette concorrenti);</li>
|
||||
<li>condividere credenziali o pubblicare link su canali che espongono minori a rischi non previsti dal consenso;</li>
|
||||
<li>caricare malware, effettuare attacchi o interferire con l’infrastruttura;</li>
|
||||
<li>rivendere il servizio senza accordo scritto con il Fornitore.</li>
|
||||
<li><%= t("legal.terms.s5_item1") %></li>
|
||||
<li><%= t("legal.terms.s5_item2") %></li>
|
||||
<li><%= t("legal.terms.s5_item3") %></li>
|
||||
<li><%= t("legal.terms.s5_item4") %></li>
|
||||
<li><%= t("legal.terms.s5_item5") %></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>6. Proprietà intellettuale</h2>
|
||||
<h2><%= t("legal.terms.s6_title") %></h2>
|
||||
<p>
|
||||
Marchi, software, design e documentazione del servizio restano del Fornitore o dei suoi licenzianti.
|
||||
La società sportiva conserva i diritti sui propri contenuti video; concede al Fornitore una licenza
|
||||
limitata a ospitarli, elaborarli e distribuirli tramite la piattaforma per erogare il servizio.
|
||||
<%= t("legal.terms.s6_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>7. Disponibilità e limitazioni</h2>
|
||||
<h2><%= t("legal.terms.s7_title") %></h2>
|
||||
<p>
|
||||
Il servizio dipende da reti mobili, hardware e fornitori terzi. Non garantiamo assenza assoluta di interruzioni,
|
||||
ritardi o perdita di dati, pur adottando misure ragionevoli. La qualità video può variare in base alla connessione in palestra.
|
||||
<%= t("legal.terms.s7_body") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>8. Limitazione di responsabilità</h2>
|
||||
<h2><%= t("legal.terms.s8_title") %></h2>
|
||||
<p>
|
||||
Nei limiti consentiti dalla legge italiana, il Fornitore non risponde di danni indiretti, perdita di profitto,
|
||||
o contenuti trasmessi dagli utenti. La responsabilità complessiva verso un cliente professionale non eccede,
|
||||
ove possibile, l’importo pagato negli ultimi 12 mesi per il piano sottoscritto.
|
||||
<%= t("legal.terms.s8_p1") %>
|
||||
</p>
|
||||
<p>Nulla esclude responsabilità per dolo o colpa grave, né diritti inderogabili del consumatore ove applicabili.</p>
|
||||
<p><%= t("legal.terms.s8_p2") %></p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>9. Recesso, sospensione e cancellazione</h2>
|
||||
<h2><%= t("legal.terms.s9_title") %></h2>
|
||||
<p>
|
||||
Puoi richiedere la chiusura dell’account scrivendo a
|
||||
<a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>.
|
||||
Il Fornitore può sospendere l’account per inadempienza, mancato pagamento o violazione dei Termini.
|
||||
Alla cessazione, i dati sono trattati come indicato in privacy (conservazione limitata o cancellazione).
|
||||
<%= raw t(
|
||||
"legal.terms.s9_body_html",
|
||||
email_link: link_to(MatchLiveTv.privacy_controller_email, "mailto:#{MatchLiveTv.privacy_controller_email}")
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>10. Legge applicabile e foro</h2>
|
||||
<h2><%= t("legal.terms.s10_title") %></h2>
|
||||
<p>
|
||||
I Termini sono regolati dalla <strong>legge italiana</strong>. Per controversie con consumatori si applicano
|
||||
le norme inderogabili di protezione del consumatore e il foro del consumatore ove previsto.
|
||||
Per clienti professionali, foro competente in Italia presso la sede del Fornitore, salvo diverso accordo.
|
||||
<%= raw t("legal.terms.s10_body_html") %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>11. Contatti</h2>
|
||||
<h2><%= t("legal.terms.s11_title") %></h2>
|
||||
<p>
|
||||
<%= MatchLiveTv.privacy_controller_name %><br>
|
||||
<%= MatchLiveTv.privacy_controller_address %><br>
|
||||
Email: <a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>
|
||||
<%= raw t(
|
||||
"legal.terms.s11_body_html",
|
||||
provider_name: MatchLiveTv.privacy_controller_name,
|
||||
provider_address: MatchLiveTv.privacy_controller_address,
|
||||
email_link: link_to(MatchLiveTv.privacy_controller_email, "mailto:#{MatchLiveTv.privacy_controller_email}")
|
||||
) %>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<p class="legal-back"><%= link_to "← Torna alla home", root_path %> · <%= link_to "Privacy", public_privacy_path %></p>
|
||||
<p class="legal-back"><%= link_to t("legal.common.back_home"), root_path %> · <%= link_to t("legal.common.privacy_nav"), public_privacy_path %></p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user