Podprocesorzy i dostawcy unistudy.pl
Wersja 1.0 · Poprzednie wersje
Dostawcy aktywni
| Dostawca | Siedziba | Rola | Przekazywane dane | Lokalizacja przetwarzania | Mechanizm transferu | DPA podpisana (data, wersja) | Zakaz trenowania | Retencja u dostawcy | Ustawienia wymagane |
|---|---|---|---|---|---|---|---|---|---|
| Supabase, Inc. | USA | baza Postgres, Storage, Auth | wszystkie dane Konta, pliki audio, transkrypty, notatki | UE, Frankfurt (AWS eu-central-1) | dane w EOG; dostęp supportu z USA: SKU w DPA [sprawdź DPF] | DPA w warunkach dostawcy | n/d (nie trenuje) | do usunięcia przez nas; backupy 7–30 dni wg planu | projekt w regionie eu-central-1; RLS na każdej tabeli; bucket prywatny; PITR |
| Vercel, Inc. | USA | hosting Next.js, funkcje serverless, logi | ruch HTTP, adresy IP, logi funkcji (bez treści) | region funkcji fra1; sieć brzegowa globalna | DPF [sprawdź] + DPA | DPA w warunkach dostawcy | n/d | logi 1–30 dni wg planu | regions: ["fra1"] w vercel.json; logi bez treści; Log Drains wyłączone lub do UE |
| Inngest, Inc. | USA | kolejka i orkiestracja zadań w tle | identyfikatory zdarzeń, Konta, nagrań, zadań; nigdy treść | USA [sprawdź opcję regionu UE] | SKU w DPA [sprawdź] | DPA w warunkach dostawcy | n/d | historia zdarzeń wg planu | payload zdarzeń tylko z ID; test CI sprawdzający brak pól z treścią |
| ElevenLabs, Inc. | USA | transkrypcja (Scribe), opcjonalnie głos lektora | pliki audio nagrań, transkrypty; teksty do odczytania przez lektora | USA | DPF (ElevenLabs deklaruje certyfikację; sprawdź wpis) + DPA | DPA w warunkach dostawcy | wymagać w DPA: dokumentacja nie opisuje opt‑outu z trenowania dla API; w koncie wyłączyć „Data use” | Zero Retention Mode (enable_logging=false) tylko Enterprise; w innych planach historia pozostaje do usunięcia przez API (co dokładnie: sekcja „ElevenLabs: co da się usunąć przez API” poniżej, sprawdzono 2026-10-11) | opt‑out „Data use” przed pierwszym nagraniem; aplikacja usuwa kopię każdego odsłuchu i transkryptu zaraz po zapisaniu wyniku (z ponowieniami), a Ustawienia pokazują licznik zaległości i akcję „Wyczyść historię u dostawcy”; ELEVENLABS_ZERO_RETENTION=true tylko na koncie Enterprise; brak Voice Cloning; 2FA |
| AssemblyAI, Inc. | USA | transkrypcja rezerwowa | pliki audio, transkrypty | UE przez api.eu.assemblyai.com | dane w EOG; DPA ze SKU na dostęp z USA [sprawdź] | DPA w warunkach dostawcy | uzyskać pisemny opt‑out: dostawca deklaruje, że obecnie nie trenuje, ale warunki na to pozwalają | wg DPA; żądać usuwania po przetworzeniu | EU‑pinned w kodzie (src/lib/ai/stt/assemblyai-config.ts: domyślny base URL = api.eu.assemblyai.com, na produkcji inny host rzuca błąd bez ASSEMBLYAI_ALLOW_NON_EU=true; test w CI); opt‑out mailowo potwierdzony |
| Anthropic, PBC | USA | korekta transkryptu, notatki, słownik, fiszki, quizy, tutor, wyjaśnienia | fragmenty transkryptów, materiały (tekst/obraz slajdów; pliki PDF materiałów wgrywane do Files API), pytania Użytkownika | USA | DPF [sprawdź wpis „Anthropic”] lub SKU w DPA | DPA w warunkach dostawcy | tak, warunki komercyjne API (brak trenowania na danych klientów) | zwykłe wywołania API: ok. 30 dni (warunki dostawcy [sprawdź]), dłużej przy naruszeniach polityk; pliki w Files API: do czasu usunięcia przez nas (sekcja „Anthropic: Files API” poniżej) | Files API używane wyłącznie do PDF‑ów materiałów (streszczanie slajdów); aplikacja usuwa plik przy usunięciu materiału i konta; sprawdzić ustawienia prywatności w Console; rozważyć Zero Data Retention, jeśli dostępne dla konta |
| Voyage AI, Inc. | USA | embeddingi do wyszukiwania semantycznego | fragmenty transkryptów i notatek (tekst) | USA | SKU w DPA [sprawdź] | DPA w warunkach dostawcy | wymagać w DPA | [sprawdź] | opt‑out z ulepszania modeli w koncie; alternatywa: embeddingi w UE lub lokalne |
ElevenLabs: co da się usunąć przez API
Sprawdzono w dokumentacji API ElevenLabs (elevenlabs.io/docs/api-reference) dnia 2026-10-11. Aplikacja (zadanie L023) usuwa to, co API pozwala usunąć, zaraz po zapisaniu wyniku u nas.
| Co | Można usunąć przez API? | Jak | Co robi aplikacja |
|---|---|---|---|
| Odsłuch lektora (TTS) w „History” | tak | DELETE /v1/history/{history_item_id}; identyfikator przychodzi w nagłówku odpowiedzi syntezy history-item-id | zapisuje id w audio_renders.provider_history_item_id, po zapisie pliku w Storage usuwa element (3 próby z rosnącą pauzą); przy niepowodzeniu id zostaje i jest liczone jako zaległość |
| Lista odsłuchów w historii | tak | GET /v1/history?page_size=…&start_after_history_item_id=… (do 1000 na stronę, kursor last_history_item_id) | wylicza ją tylko operator poleceniem pnpm legal:provider-sweep (na całym koncie, domyślnie na sucho, z wpisem w dzienniku dostępu); akcja „Wyczyść historię u dostawcy” w Ustawieniach usuwa wyłącznie elementy zapisane w danych danej osoby, bo konto jest wspólne |
| Transkrypt Speech to Text (Scribe) | tak | DELETE /v1/speech-to-text/transcripts/{transcription_id} | zapisuje id w transcripts.provider_history_item_id razem z zapisem segmentów, usuwa w osobnym kroku zadania (nie psuje zadania); przy niepowodzeniu id zostaje i jest liczone jako zaległość |
| Lista transkryptów STT | nie (API nie dokumentuje listowania) | – | zaległe transkrypty znamy tylko z naszej bazy; transkryptów utworzonych poza aplikacją nie da się przez API wyliczyć i trzeba je usunąć w panelu ElevenLabs |
| Zapytanie bez zapisu (Zero Retention Mode) | tylko Enterprise | parametr zapytania enable_logging=false | gdy ELEVENLABS_ZERO_RETENTION=true, każde żądanie STT ma enable_logging=false (wtedy ElevenLabs niczego nie zapisuje, więc usuwanie jest pomijane); dokumentacja nie opisuje, czy tryb działa razem z trybem webhook – sprawdzić na koncie Enterprise przed włączeniem |
Ograniczenia: ElevenLabs może trzymać dane techniczne i logi poza „History” (okres wg DPA – [sprawdź po podpisaniu DPA]); usunięcie z API dotyczy historii i transkryptów, nie kopii zapasowych dostawcy.
Anthropic: Files API
Aplikacja wgrywa PDF materiału (slajdy, skrypt) do Files API Anthropic jeden raz na materiał, żeby model
mógł streścić slajdy strona po stronie (zadanie T034); identyfikator pliku zapisuje w
materials.anthropic_file_id. Plik nie jest używany do niczego innego. Do czasu usunięcia leży u Anthropic
(zwykła retencja wywołań API go nie obejmuje). Usuwanie (zadanie L045) przez DELETE /v1/files/{file_id}:
| Zdarzenie | Co robi aplikacja |
|---|---|
| Użytkownik usuwa materiał | najpierw usuwa plik z Files API (3 próby z rosnącą pauzą), dopiero potem wiersz; gdy Anthropic nie odpowiada, materiał zostaje i można spróbować ponownie |
| Użytkownik usuwa konto (po 30 dniach) | krok zadania delete-account usuwa wszystkie pliki Files API konta przed wierszami, w których leżą ich identyfikatory; nieudane usunięcia nie zatrzymują usuwania konta, ale ich liczba trafia do dziennika usuniętych kont (leftover_anthropic_files), żeby operator dokończył je ręcznie w Console |
| Plik już nie istnieje u dostawcy (HTTP 404) | traktowane jako sukces, więc ponawianie jest bezpieczne |
Tak samo przy usunięciu konta aplikacja usuwa zaległe odsłuchy i transkrypty z historii ElevenLabs
(leftover_elevenlabs_* w dzienniku, gdy się nie udało), a przy usunięciu pojedynczego nagrania albo odsłuchu
– ich kopię w historii ElevenLabs. Usunięcie z API dotyczy plików i historii, nie kopii zapasowych dostawcy.
Dostawcy planowani (uruchomienie wymaga wpisu powyżej i zawiadomienia Użytkowników)
| Dostawca | Rola | Uwagi |
|---|---|---|
| Stripe Payments Europe, Ltd. | płatności Plan Pro, faktury | Stripe: DPF, DPA w warunkach; dane kart nigdy u nas |
| Resend (Resend, Inc.) | kody logowania, powiadomienia | treść e‑maili bez cytatów z zajęć |
| Biuro rachunkowe | faktury, księgowość | umowa powierzenia, dane do faktur |
Zasady doboru i kontroli dostawców
- Przed uruchomieniem: DPA podpisana, mechanizm transferu ustalony (wpis DPF zweryfikowany z datą albo SKU 2021/914 moduł 2 lub 3 + krótka ocena skutków transferu), zakaz trenowania zapisany w umowie lub warunkach, retencja znana, ustawienia opt‑out zrobione i udokumentowane zrzutem ekranu z datą.
- Minimalizacja: dostawca dostaje tylko to, co jest potrzebne do jednej czynności. Nigdy nie wysyłamy całego konta ani nazwisk z ustawień przedmiotów.
- Przegląd raz na 12 miesięcy: aktualność DPF, zmiany warunków dostawcy, nowe opcje regionu UE lub zero
retention. Wynik przeglądu zapisany w
docs/legal/wewnetrzne/z datą. - Zmiana dostawcy = aktualizacja tej strony, Polityki prywatności (pkt 12), rejestru czynności i e‑mail do Użytkowników 14 dni wcześniej.
Historia zmian
- 1.0 (2026-10-12): pierwsza lista.