zuzdmi studio

Polityka prywatnościPrivacy Policy

Ostatnia aktualizacja / Last updated: 8 września 2026 / September 8, 2026

1. Zakres i administrator

Ta polityka dotyczy aplikacji Zuzdmi, w tym konta, logowania, profilu treningowego, planera, filmów treningowych, płatności, eksportów PDF, funkcji playlist YouTube, telemetrii technicznej i wsparcia użytkownika. Nie dotyczy osobnych stron ani usług dostawców, takich jak Stripe, Google, YouTube, Supabase, Vercel, Resend, GitHub Actions lub Railway.

Administratorem danych jest Zuzanna Dmitruk prowadząca działalność gospodarczą pod firmą zuzdmi Zuzanna Dmitruk, ul. Zabielska 30C, 03-985 Warszawa, Polska, NIP: 9522246839, REGON: 526603688. Kontakt w sprawach prywatności i wsparcia: app.zuzdmi.admin@gmail.com.

Administrator nie wyznaczył Inspektora Ochrony Danych. Aplikacja jest kierowana głównie do użytkowników w Polsce oraz użytkowników polsko- i anglojęzycznych. Aplikacja nie jest przeznaczona dla dzieci poniżej 16 lat.

2. Jakie dane przetwarzamy

Przetwarzamy dane potrzebne do działania aplikacji i funkcji, z których korzystasz. Obejmuje to w szczególności:

  • dane konta i logowania, takie jak adres e-mail, informacje o weryfikacji konta, reset hasła, identyfikatory sesji i dane potrzebne do ochrony konta;
  • dane profilu treningowego i preferencje, takie jak wiek, wzrost, waga, język, poziom zaawansowania, cele, dostępny sprzęt, częstotliwość treningów, ustawienia planu i inne odpowiedzi podane w aplikacji;
  • plany treningowe, postępy, wykonane treningi, zmiany planu, historia korzystania z funkcji i dane widoczne w dashboardzie;
  • rewizje preferencji i dane zadań potrzebne do bezpiecznego przygotowania planu na przyszły tydzień, w tym status bieżącego i przyszłego tygodnia, liczba prób oraz wynik generowania;
  • dane płatności i subskrypcji potrzebne do obsługi Premium, w tym zastosowane kody promocyjne i rabaty oraz daty okresu próbnego i rozliczeń. Dane karty i płatności obsługuje Stripe, a aplikacja otrzymuje dane potrzebne do potwierdzenia statusu subskrypcji i rozliczeń;
  • dane techniczne, bezpieczeństwa i wsparcia, takie jak logi aplikacji, znaczniki czasu, adres IP lub informacje o żądaniu, błędy, zdarzenia bezpieczeństwa, limity antynadużyciowe i pomiary wydajności, gdy są włączone zgodą;
  • dane używane w wewnętrznych raportach Microsoft Power BI, pobierane wyłącznie z zatwierdzonych widoków analitycznych. Mogą one obejmować identyfikator użytkownika i adres e-mail, dane profilu, takie jak wiek, wzrost, waga i płeć, preferencje treningowe, plany i ukończenia treningów, status subskrypcji oraz dane operacyjne i dotyczące korzystania z funkcji;
  • dane YouTube tylko wtedy, gdy korzystasz z opcjonalnych funkcji YouTube, czyli klikasz Play dla konkretnego osadzonego filmu albo rozpoczynasz tworzenie playlisty przez OAuth;
  • dane potrzebne do wygenerowania PDF z planem treningowym, takie jak tydzień planu, tytuły treningów, linki do filmów, miniatury przechowywane w Supabase Storage, dni treningowe i status ukończenia.

3. Cele, podstawy prawne i obowiązkowość danych

Używamy danych po to, aby utworzyć i utrzymywać konto, obsłużyć logowanie, wygenerować i z wyprzedzeniem przygotować plan treningowy, pokazywać postępy, udostępniać funkcje Premium, wygenerować PDF, obsłużyć wsparcie, chronić aplikację przed nadużyciami oraz mierzyć jakość działania, jeśli wyrazisz zgodę na opcjonalną analitykę.

Podstawą przetwarzania jest najczęściej wykonanie umowy lub działania przed jej zawarciem, obowiązek prawny w zakresie rozliczeń i księgowości, uzasadniony interes Administratora w zakresie bezpieczeństwa, diagnostyki i obrony roszczeń oraz zgoda dla opcjonalnej analityki. Odtwarzanie YouTube i funkcję OAuth uruchamiasz samodzielnie dla wybranego filmu lub playlisty; szczegóły przepływu opisujemy poniżej.

Wewnętrzne raportowanie w Microsoft Power BI służy analizie działania, wykorzystania i jakości usługi oraz jej ulepszaniu. Jest prowadzone w ramach uzasadnionego interesu Administratora, z dostępem ograniczonym do upoważnionych osób i zatwierdzonych widoków analitycznych.

Podanie danych jest dobrowolne, ale część danych jest konieczna do korzystania z określonych funkcji. Bez adresu e-mail i danych uwierzytelniających nie utworzysz konta ani nie zalogujesz się. Bez danych profilu treningowego aplikacja nie przygotuje spersonalizowanego planu. Bez płatności nie otrzymasz funkcji Premium. YouTube OAuth, odtwarzanie YouTube, eksport PDF i opcjonalna analityka nie są wymagane do podstawowego działania konta.

4. Cookies, storage i zgody

Aplikacja używa niezbędnych cookies i pamięci przeglądarki do logowania, bezpieczeństwa, utrzymania sesji Supabase, zapamiętania języka, zapisania wyborów zgody, resetu hasła, dokończenia onboardingu i obsługi żądanych przepływów aplikacji. Te mechanizmy działają bez osobnej zgody, ponieważ są potrzebne do świadczenia usługi albo do zapamiętania Twoich wyborów.

Przykłady pamięci przeglądarki używanej przez aplikację to zuzdmi_lang dla języka, zuzdmi_privacy_consent_v1 dla decyzji o zgodach, reset-password-recovery-token dla resetu hasła, pamięć sesyjna dla zmian w onboardingu, opcjonalny krótkotrwały znacznik zuzdmi_activation_profile_completed_pending dla pomiaru przejścia po ukończeniu profilu wyłącznie po zgodzie na analitykę oraz krótkotrwałe znaczniki zuzdmi_perf_* używane do technicznego pomiaru nawigacji w bieżącej sesji.

Opcjonalna analityka i wydajność, w tym Vercel Speed Insights, Web Vitals i raportowanie pomiarów nawigacji, są włączane dopiero po zgodzie na analitykę. Miniatury treningów są plikami aplikacji przechowywanymi w Supabase Storage. Ich wyświetlenie nie łączy przeglądarki z YouTube.

Przed kliknięciem Play aplikacja nie ładuje odtwarzacza ani zasobów YouTube. Kliknięcie Play dla konkretnego treningu ładuje osadzony odtwarzacz z youtube-nocookie.com i uruchamia film automatycznie. Od tego momentu YouTube może otrzymać dane techniczne żądania i używać własnych mechanizmów zgodnie ze swoją polityką. Przejście do innego treningu wyłącza odtwarzacz; kolejny film wymaga osobnego kliknięcia Play.

Wybór dotyczący opcjonalnej analityki możesz zmienić z menu aplikacji albo na ekranie logowania. Oba miejsca otwierają ten sam panel zgód bez przekierowania na inną stronę.

Po zalogowaniu zapisujemy także na serwerze Twój wybór analityki, wersję zgody i datę jej zmiany. Opcjonalne pomiary korzystania z interfejsu i rozpoczęcia odtwarzania wymagają aktualnej zgody. Cofnięcie zgody zatrzymuje nowe pomiary; opóźniona synchronizacja starszego wyboru nie przywraca zgody. Pomiar rozpoczęcia odtwarzania nie obejmuje adresu ani tytułu filmu, czasu oglądania ani szczegółowej historii odtwarzania.

Rozszerzona diagnostyka zapisuje wyniki operacji aplikacji, ich daty, czas wykonania i losowe identyfikatory prób. Pozwala rozróżnić błąd techniczny, odrzucenie żądania i udane wykonanie. Nowa historia użycia jest powiązana z pseudonimowym kluczem konta i nadal stanowi dane osobowe. Przy usunięciu konta usuwamy tę historię oraz mapowanie klucza. Dane rozliczeniowe zachowują odrębne zasady przechowywania opisane poniżej.

Microsoft Power BI jest używany do wewnętrznego raportowania poza przeglądarką użytkownika. Nie ładuje kodu ani nie ustawia cookies w aplikacji. Zgoda na opcjonalną analitykę opisana powyżej steruje narzędziami wydajnościowymi i opcjonalnymi pomiarami użycia, a nie dostępem do wewnętrznych raportów operacyjnych.

Cykliczne przygotowanie planu na przyszły tydzień odbywa się po stronie serwera i nie dodaje cookies, pamięci przeglądarki ani nowej kategorii zgody.

5. Dostawcy i odbiorcy danych

Korzystamy z dostawców technologicznych tylko w zakresie potrzebnym do działania aplikacji i wybranych funkcji:

  • Supabase: logowanie, sesje, baza danych, dane konta, wiadomości auth oraz przechowywanie lokalnych miniatur treningów. Region właścicielsko potwierdzony: Europa / Hamburg.
  • Resend: produkcyjny dostawca e-mail skonfigurowany przez Administratora w Supabase Auth do wiadomości transakcyjnych, takich jak weryfikacja konta i reset hasła.
  • Vercel: hosting aplikacji, logi platformy i opcjonalny pomiar wydajności po zgodzie. Region właścicielsko potwierdzony: Europa / Hamburg.
  • GitHub Actions: chronione, cykliczne przygotowanie planów na przyszły tydzień. Zadanie przetwarza identyfikatory użytkowników, bieżące preferencje i ich rewizje oraz zapisuje wygenerowane plany w Supabase; raport operacyjny zawiera agregaty, a przy błędach tylko skróty identyfikatorów.
  • Railway: osobny runtime do renderowania PDF z planem treningowym. Region właścicielsko potwierdzony: Amsterdam, Holandia.
  • Stripe: checkout, portal płatności, subskrypcje, status rozliczeń i webhooki.
  • Microsoft Power BI: wewnętrzna analiza i raportowanie operacyjne na podstawie zatwierdzonych widoków analitycznych bazy danych. Dostęp ma dedykowane konto tylko do odczytu i upoważnione osoby; dane nie są udostępniane przez ten mechanizm anonimowym ani zwykłym uwierzytelnionym użytkownikom aplikacji.
  • Google / YouTube: opcjonalne odtwarzanie filmu dopiero po kliknięciu Play dla danego treningu oraz opcjonalne tworzenie playlisty po rozpoczęciu OAuth. Samo wyświetlenie lokalnej miniatury nie wysyła żądania do YouTube.

6. Google API Services i YouTube OAuth

Funkcja tworzenia playlisty YouTube jest opcjonalna. Aplikacja prosi o dostęp do zakresu Google API Services https://www.googleapis.com/auth/youtube.force-ssl tylko wtedy, gdy samodzielnie rozpoczniesz tworzenie playlisty.

Ten zakres może technicznie obejmować szerokie uprawnienia do konta YouTube, ale Zuzdmi używa go tylko do utworzenia playlisty i dodania do niej wybranych filmów treningowych oraz sprawdzenia kompletności i kolejności elementów playlisty. Playlisty tworzone przez aplikację są domyślnie niepubliczne („unlisted”). W związku z tym przepływem aplikacja przetwarza identyfikator utworzonej playlisty, identyfikatory wybranych filmów i elementów playlisty oraz wynik i diagnostykę operacji.

Dane użytkownika Google nie są sprzedawane, wynajmowane ani ujawniane reklamodawcom, brokerom danych lub innym niepowiązanym podmiotom. Są przekazywane do Google/YouTube wyłącznie w celu wykonania operacji na playliście zleconej przez użytkownika. W zakresie technicznie niezbędnym do działania i zabezpieczenia aplikacji dane związane z tą funkcją mogą być przetwarzane przez Vercel jako dostawcę hostingu oraz Supabase jako dostawcę bazy danych i infrastruktury aplikacji. Dostawcy ci działają na rzecz Administratora i nie mogą wykorzystywać danych do własnych, niezwiązanych celów.

Aplikacja nie używa dostępu Google do czytania prywatnych filmów, usuwania treści, zarządzania komentarzami, reklam, profilowania reklamowego, sprzedaży danych Google/YouTube, szkolenia modeli AI ani celów niezwiązanych z funkcją playlisty. Możesz nie korzystać z tej funkcji, usunąć utworzoną playlistę na swoim koncie YouTube, usunąć konto w aplikacji albo cofnąć dostęp aplikacji w ustawieniach konta Google.

Kody autoryzacyjne OAuth i tokeny dostępu Google są przesyłane przez szyfrowane połączenia HTTPS i przetwarzane wyłącznie po stronie serwera. Nie są zapisywane w pamięci przeglądarki ani w bazie danych. Aplikacja żąda dostępu online, nie żąda dostępu offline i nie przechowuje tokenów odświeżania Google. Token dostępu jest używany tylko do ukończenia rozpoczętej przez użytkownika operacji na playliście.

Poufność danych Google chronimy przez ograniczenie dostępu do autoryzowanego personelu i niezbędnych systemów, przechowywanie sekretów w chronionej konfiguracji serwerowej, walidację losowego stanu OAuth, bezpieczne ustawienia cookies przepływu oraz minimalizację zapisywanych danych. Przechowywana diagnostyka może zawierać identyfikatory filmów, playlisty i elementów playlisty oraz statusy operacji, ale nie zawiera tokenów dostępu ani tokenów odświeżania Google.

Użycie i przekazywanie przez aplikację informacji otrzymanych z Google API Services jest zgodne z Google API Services User Data Policy, w tym z wymaganiami Limited Use, w zakresie zastosowania do tej funkcji.

Sposób przetwarzania danych przez Google opisuje Polityka prywatności Google. Korzystanie z YouTube podlega także Warunkom korzystania z YouTube.

7. Transfer poza EOG

W związku z korzystaniem z dostawców technologicznych, w szczególności Supabase, Resend, Vercel, GitHub Actions, Stripe, Railway, Microsoft Power BI, Google/YouTube oraz ich podwykonawców, dane osobowe mogą być przekazywane poza Europejski Obszar Gospodarczy. W takich przypadkach dostawcy stosują odpowiednie mechanizmy prawne, w szczególności standardowe klauzule umowne, decyzje stwierdzające odpowiedni stopień ochrony lub inne środki przewidziane przez RODO.

8. Automatyczna personalizacja planu

Aplikacja może automatycznie personalizować plan treningowy na podstawie informacji podanych przez Ciebie, takich jak preferencje, poziom zaawansowania, cele, dostępny sprzęt, częstotliwość treningów lub inne ustawienia aplikacji. Personalizacja służy wyłącznie dostosowaniu treści i funkcji aplikacji. Administrator nie podejmuje wobec Ciebie decyzji opartych wyłącznie na zautomatyzowanym przetwarzaniu, które wywoływałyby skutki prawne lub w podobny sposób istotnie na Ciebie wpływały.

9. Dane medyczne i szczególne kategorie danych

Zuzdmi nie jest usługą medyczną i nie służy do diagnozowania, leczenia, profilaktyki zdrowotnej ani udzielania porad medycznych. Nie wpisuj do aplikacji danych medycznych, informacji o stanie zdrowia, diagnozach, leczeniu, kontuzjach, niepełnosprawności ani innych szczególnych kategorii danych osobowych.

Dane o treningach, preferencjach, aktywności fizycznej lub celach mogą pośrednio ujawniać informacje o stylu życia lub aktywności fizycznej, ale aplikacja nie wymaga podawania danych medycznych.

10. Retencja i usuwanie danych

Dane konta, profilu treningowego, planów i postępów przechowujemy przez czas aktywności konta. Po usunięciu konta dane są usuwane albo anonimizowane, z wyjątkami potrzebnymi do rozliczeń, bezpieczeństwa, obowiązków prawnych, obsługi roszczeń lub obrony przed roszczeniami.

Dane płatności, faktur, rozliczeń, reklamacji oraz dokumentacji podatkowo-księgowej przechowujemy przez okres wymagany prawem, co do zasady przez 5 lat liczonych od końca roku kalendarzowego, w którym upłynął termin płatności podatku, chyba że dłuższe przechowywanie jest wymagane lub uzasadnione prawem.

Surowe zdarzenia techniczne, przepływu, wydajności, bezpieczeństwa i historii zmian mają standard retencji do 12 miesięcy od zdarzenia lub zakończenia sprawy technicznej, z możliwością krótszego okresu albo dłuższego zachowania tylko przy uzasadnionym incydencie, sporze, obowiązku prawnym lub dochodzeniu roszczeń. Stan oczekujący OAuth YouTube jest krótkotrwały i służy dokończeniu rozpoczętego przepływu. Raport cyklicznego generowania planów zawiera agregaty i skróty identyfikatorów błędów oraz podlega tym samym zasadom retencji danych technicznych.

PDF z planem treningowym jest generowany na Twoje żądanie i zwracany jako plik do pobrania. Aplikacja nie używa PDF jako stałego magazynu danych; powiązane logi i diagnostyka podlegają zasadom retencji dla danych technicznych.

11. Prawa użytkownika, kontakt i skarga

Możesz żądać dostępu do danych, sprostowania, usunięcia, ograniczenia przetwarzania, przeniesienia danych, sprzeciwu wobec przetwarzania oraz cofnięcia zgody tam, gdzie przetwarzanie opiera się na zgodzie. Cofnięcie zgody nie wpływa na zgodność z prawem przetwarzania przed jej cofnięciem.

Możesz wylogować się, zarządzać płatnościami przez Stripe, usunąć konto z menu aplikacji i zmienić opcjonalne zgody z menu aplikacji lub ekranu logowania. W sprawach prywatności napisz na app.zuzdmi.admin@gmail.com. Możesz też złożyć skargę do Prezesa Urzędu Ochrony Danych Osobowych.

1. Scope and controller

This policy applies to the Zuzdmi application, including the account, sign-in, training profile, planner, training videos, payments, PDF exports, YouTube playlist features, technical telemetry, and user support. It does not cover separate provider websites or services, such as Stripe, Google, YouTube, Supabase, Vercel, Resend, GitHub Actions, or Railway.

The controller is Zuzanna Dmitruk conducting business under the name zuzdmi Zuzanna Dmitruk, ul. Zabielska 30C, 03-985 Warsaw, Poland, NIP: 9522246839, REGON: 526603688. Privacy and support contact: app.zuzdmi.admin@gmail.com.

The Controller has not appointed a Data Protection Officer. The application is intended mainly for users in Poland and Polish- or English-speaking users. The application is not intended for children under 16.

2. Data we process

We process data needed to operate the application and the features you use. This includes in particular:

  • account and sign-in data, such as email address, account verification information, password reset, session identifiers, and data needed to protect the account;
  • training profile and preference data, such as age, height, weight, language, level, goals, available equipment, training frequency, plan settings, and other answers provided in the application;
  • training plans, progress, completed workouts, plan changes, feature history, and data visible in the dashboard;
  • preference revisions and job data needed to safely prepare the next week's plan, including current/future-week status, retry count, and generation result;
  • payment and subscription data needed to provide Premium, including applied promotion codes and discounts, trial dates, and billing dates. Stripe handles card and payment details, while the application receives data needed to confirm subscription status and billing;
  • technical, security, and support data, such as application logs, timestamps, IP address or request information, errors, security events, abuse-prevention limits, and performance measurements when enabled by consent;
  • data used in internal Microsoft Power BI reports and obtained only from approved analytics views. It may include a user ID and email address, profile data such as age, height, weight, and gender, training preferences, plans and workout completions, subscription status, and operational and feature-usage data;
  • YouTube data only when you use optional YouTube features, meaning you click Play for a specific embedded video or start playlist creation through OAuth;
  • data needed to generate a PDF with the training plan, such as plan week, workout titles, video links, thumbnails stored in Supabase Storage, training days, and completion status.

3. Purposes, legal bases, and required data

We use data to create and maintain the account, handle sign-in, generate and prepare the training plan in advance, show progress, provide Premium features, generate PDFs, provide support, protect the application from abuse, and measure quality when you consent to optional analytics.

The legal basis is usually performance of a contract or pre-contract steps, legal obligation for billing and accounting, the Controller's legitimate interest in security, diagnostics, and legal-claim defense, and consent for optional analytics. You start YouTube playback and the OAuth feature yourself for a selected video or playlist; the flow details are described below.

Internal reporting in Microsoft Power BI is used to analyze the operation, use, and quality of the service and to improve it. It is carried out under the Controller's legitimate interest, with access restricted to authorized persons and approved analytics views.

Providing data is voluntary, but some data is necessary for specific features. Without an email address and authentication data you cannot create an account or sign in. Without training profile data the app cannot prepare a personalized plan. Without payment you will not receive Premium features. YouTube OAuth, YouTube playback, PDF export, and optional analytics are not required for basic account operation.

4. Cookies, storage, and consent

The application uses necessary cookies and browser storage for sign-in, security, Supabase session handling, language selection, consent choices, password reset, onboarding completion, and requested app flows. These mechanisms work without separate consent because they are needed to provide the service or remember your choices.

Examples of browser storage used by the application include zuzdmi_lang for language, zuzdmi_privacy_consent_v1 for consent choices, reset-password-recovery-token for password reset, session storage for onboarding changes, the optional short-lived zuzdmi_activation_profile_completed_pending transition marker used only after analytics consent, and short-lived zuzdmi_perf_* markers used for technical navigation timing in the current session.

Optional analytics and performance tools, including Vercel Speed Insights, Web Vitals, and navigation-measurement reporting, are enabled only after analytics consent. Workout thumbnails are application assets stored in Supabase Storage. Displaying them does not connect the browser to YouTube.

Before you click Play, the application does not load the YouTube player or YouTube resources. Clicking Play for a specific workout loads an embedded player from youtube-nocookie.com and starts the video automatically. From that point, YouTube may receive technical request data and use its own mechanisms under its privacy policy. Moving to another workout removes the player; the next video requires another Play click.

You can change the optional analytics choice from the app menu or sign-in screen. Both entry points open the same consent panel without navigating to another page.

After sign-in, we also store your analytics choice, consent version, and change date on the server. Optional measurements of interface use and playback starts require current consent. Withdrawal stops new measurements; delayed synchronization of an older choice does not restore consent. Playback-start measurement does not include the video URL or title, viewing duration, or a detailed playback history.

Extended diagnostics record application-operation outcomes, dates, execution duration, and random attempt identifiers. This distinguishes technical errors, rejected requests, and successful operations. New usage history is associated with a pseudonymous account key and remains personal data. Account deletion removes this history and the key mapping. Billing data retains the separate retention rules described below.

Microsoft Power BI is used for internal reporting outside the user's browser. It does not load code or set cookies in the application. The optional analytics consent described above controls performance tools and optional usage measurements, not access to internal operational reports.

Scheduled next-week plan preparation runs server-side and does not add cookies, browser storage, or a new consent category.

5. Providers and recipients

We use technology providers only where needed to operate the application and selected features:

  • Supabase: sign-in, sessions, database, account data, auth email handling, and storage of local workout thumbnails. Owner-confirmed region: Europe / Hamburg.
  • Resend: production email provider configured by the Controller in Supabase Auth for transactional messages, such as account verification and password reset.
  • Vercel: application hosting, platform logs, and optional performance measurement after consent. Owner-confirmed region: Europe / Hamburg.
  • GitHub Actions: guarded scheduled preparation of next-week plans. The job processes user identifiers, current preferences and their revisions, and writes generated plans to Supabase; its operational report contains aggregates and only hashed identifiers for failures.
  • Railway: separate runtime for rendering PDFs with the training plan. Owner-confirmed region: Amsterdam, Netherlands.
  • Stripe: checkout, billing portal, subscriptions, billing status, and webhooks.
  • Microsoft Power BI: internal analysis and operational reporting based on approved database analytics views. A dedicated read-only account and authorized persons have access; this mechanism does not expose data to anonymous or ordinary authenticated application users.
  • Google / YouTube: optional video playback only after you click Play for that workout, and optional playlist creation after you start OAuth. Displaying a local thumbnail does not send a request to YouTube.

6. Google API Services and YouTube OAuth

YouTube playlist creation is optional. The application requests access to the Google API Services scope https://www.googleapis.com/auth/youtube.force-ssl only when you start YouTube playlist creation.

This scope can technically include broad YouTube account permissions, but Zuzdmi uses it only to create a playlist and add the selected training videos to that playlist, and to verify the completeness and order of its items. Playlists created by the application are unlisted by default. In connection with this flow, the application processes the created playlist ID, selected video and playlist-item IDs, and the operation result and diagnostics.

Google user data is not sold, rented, or disclosed to advertisers, data brokers, or other unrelated parties. It is transferred to Google/YouTube only to perform the playlist operation requested by the user. To the extent technically necessary to operate and secure the application, data connected with this feature may be processed by Vercel as the hosting provider and Supabase as the database and application-infrastructure provider. These providers act on behalf of the Controller and may not use the data for their own unrelated purposes.

The application does not use Google access to read your private videos, delete content, manage comments, serve ads, build ad-targeting audiences, sell Google/YouTube data, train AI models, or pursue purposes unrelated to the playlist feature. You can avoid using this feature, delete the created playlist in your YouTube account, delete your account in the application, or revoke the application's access in your Google account settings.

Google OAuth authorization codes and access tokens are transmitted over encrypted HTTPS connections and processed only on the server. They are not stored in browser storage or in the database. The application requests online access, does not request offline access, and does not store Google refresh tokens. The access token is used only to complete the playlist operation initiated by the user.

We protect the confidentiality of Google data by restricting access to authorized personnel and necessary systems, keeping secrets in protected server configuration, validating a random OAuth state, applying secure flow-cookie settings, and minimizing stored data. Stored diagnostics may contain video, playlist, and playlist-item IDs and operation statuses, but do not contain Google access or refresh tokens.

The application's use and transfer of information received from Google API Services adheres to the Google API Services User Data Policy, including the Limited Use requirements where they apply to this feature.

Google's processing of data is described in the Google Privacy Policy. Use of YouTube is also subject to the YouTube Terms of Service.

7. Transfers outside the EEA

Because we use technology providers, in particular Supabase, Resend, Vercel, GitHub Actions, Stripe, Railway, Microsoft Power BI, Google/YouTube, and their subprocessors, personal data may be transferred outside the European Economic Area. In such cases, providers use appropriate legal mechanisms, including standard contractual clauses, adequacy decisions, or other safeguards provided by GDPR.

8. Automated plan personalization

The application may automatically personalize your training plan based on information you provide, such as preferences, level, goals, available equipment, training frequency, or other app settings. This personalization is used only to adapt app content and features. The Controller does not make decisions about you based solely on automated processing that would produce legal effects or similarly significantly affect you.

9. Medical data and special categories of data

Zuzdmi is not a medical service and is not used for diagnosis, treatment, health prevention, or medical advice. Do not enter medical data, health-status information, diagnoses, treatment information, injuries, disability information, or other special categories of personal data into the application.

Data about workouts, preferences, physical activity, or goals may indirectly reveal information about lifestyle or physical activity, but the application does not require medical data.

10. Retention and deletion

Account, training profile, plan, and progress data is kept while the account is active. After account deletion, data is deleted or anonymized, with exceptions needed for billing, security, legal duties, legal claims, or defense against claims.

Payment, invoice, settlement, complaint, tax, and accounting records are kept for the period required by law, generally for 5 years counted from the end of the calendar year in which the tax payment deadline expired, unless longer storage is required or justified by law.

Raw technical, flow, performance, security, and plan-change event data has a retention standard of up to 12 months from the event or the end of the technical matter, with shorter retention where possible and longer retention only for a justified incident, dispute, legal duty, or claim. Pending YouTube OAuth state is short-lived and used to complete the flow you started. The scheduled plan-generation report contains aggregates and hashed failure identifiers and follows the same technical-data retention rules.

The PDF with the training plan is generated at your request and returned as a downloadable file. The application does not use the PDF as a permanent data store; related logs and diagnostics follow the retention rules for technical data.

11. User rights, contact, and complaints

You may request access, correction, deletion, restriction of processing, data portability, objection to processing, and withdrawal of consent where processing is based on consent. Withdrawal of consent does not affect processing that was lawful before the withdrawal.

You can sign out, manage payments through Stripe, delete your account from the app menu, and change optional consent from the app menu or sign-in screen. For privacy requests, contact app.zuzdmi.admin@gmail.com. You may also lodge a complaint with the Polish Data Protection Authority.