Z ČTÚ se stane dozorce internetu. Obsah by ale úřad posuzovat neměl

4. 10. 2023
Doba čtení: 5 minut

Sdílet

Autor: Jan Vaca, Internet Info
Český telekomunikační úřad (ČTÚ) jako koordinátor digitálních služeb od února začne vykonávat dohled nad dodržováním povinností z nařízení DSA. Dostane i další nové pravomoci.

Více pravomocí a s tím související navýšení dohledu a kontrol čeká na Český telekomunikační úřad (ČTÚ). Od 17. února 2024 se ujme role koordinátora digitálních služeb podle evropského nařízení Digital Services Act (DSA). 

Není to přitom první rozšíření pravomocí v důsledku evropské regulace. Už nyní ČTÚ vykonává dohled nad dodržováním evropských nařízení P2B (online platformy a internetové vyhledávače) a TCO (v systému potírání šíření teroristického obsahu online), nově získává část pravomocí z DGA (akt o evropské správě dat) a očekává, že v budoucnu dostane i působnost mimo jiné ve vztahu k nařízení CSA (boj proti pohlavnímu zneužívání dětí). Na bedra vysočanského úřadu s pěti sty zaměstnanci tak stát přenáší nové úkoly vyplývající z nároků Bruselu.

Přitom jak sám ČTÚ přiznává, o nových evropských pravidlech toho mnoho neví ani veřejnost, ani ti, na které by regulace měla dopadat. „U velké části poskytovatelů pozorujeme nedostatky, ačkoliv povinnosti jsou účinné už od roku 2020,“ poznamenává ke zkušenostem s dohledem nad P2B mluvčí ČTÚ Tereza Meravá

Úřad proto připravil edukaci podnikatelů formou šestnáctistránkového dokumentu Průvodce k P2B a na podzim chce spustit anketu zaměřenou na jejich zkušenosti s dodržováním povinností ze strany online platforem a vyhledávačů. A silnou odezvu nemá ČTÚ ani od spotřebitelů. „Z počtu stížností na P2B usuzujeme, že veřejnost nemá o této normě povědomí,“ potvrzuje Meravá.

Stížnosti, kontroly, sankce

Teď se ČTÚ dočká rozšíření pravomocí. Prakticky to znamená, že v hledáčku úřadu vedle podnikatelů v elektronických komunikacích a poštovních službách bude čím dál více i sektor digitální ekonomiky. Dohlížet bude na online tržiště, internetové vyhledávače, sociální sítě, cloudová úložiště, provozovatele webhostingu a další online platformy. 

„Jakožto koordinátor budeme vyřizovat podněty veřejnosti, provádět kontroly a ukládat sankce za porušení povinností podle DSA,“ vyjmenovává nové úkoly mluvčí. Úřad bude zodpovědný i za certifikaci subjektů mimosoudního řešení sporů nebo udělování statusu důvěryhodného oznamovatele a prověřeného výzkumného pracovníka.

Abychom rozklíčovali, co tyto činnosti budou obnášet, je potřeba si představit nařízení DSA. Jeho smyslem je, aby jednání, které je nelegální v reálném světě, bylo nelegální i na internetu. Poskytovatelé služeb proto budou muset respektovat rozhodnutí soudu nebo jiného orgánu o odstranění obsahu v rozporu se zákonem. 

Samotné nařízení však nelegální obsah nedefinuje a ponechává jeho vymezení na zákonech členských států. ČTÚ by se tak v nové roli neměl stát arbitrem nelegálního obsahu na internetu nebo rozhodovat spory mezi poskytovatelem a uživateli. Tato pravomoc bude i nadále náležet soudům, případně orgánům činným v trestním řízení.

Jan Tomíšek (Rowan Legal): S přípravou na NIS2 neotálejte, později na trhu začnou chybět odborníci Přečtěte si také:

Jan Tomíšek (Rowan Legal): S přípravou na NIS2 neotálejte, později na trhu začnou chybět odborníci

DSA poskytovatelům online zprostředkovatelských služeb ukládá například zveřejnit smluvní podmínky, poskytnout uživatelům kontaktní informace i údaje o moderaci obsahu nebo o systémech cílení reklamy a umožnit oznamování problematického obsahu. 

Zároveň tyto společnosti budou muset uživatele informovat o tom, proč přistoupily k moderaci obsahu, tedy typicky vysvětlit, z jakého důvodu jejich příspěvek smazaly. Poskytovatelé také budou muset přijmou některá opatření na ochranu dětí. Online tržiště nově budou muset znát identitu obchodníků a informovat spotřebitele o zakoupení nezákonného výrobku nebo služby.

DSA pracuje s mechanismem „Notice and Action“, který uživatelům umožňuje online platformě nahlásit, že nějaký obsah považují za nezákonný. Platforma pak musí toto oznámení posoudit. Podněty důvěryhodných oznamovatelů platformy musejí posoudit prioritně. Jinak ale oproti hlášením běžných uživatelů žádnou další výhodu nemá. DSA nestanovuje žádnou domněnku správnosti, tato hlášení tak budou provozovatelé vyhodnocovat jako všechna ostatní, jen v kratším čase.

Důvěryhodným oznamovatelem se může stát právnická osoba nezávislá na jakémkoliv provozovateli online platforem, která požádá o tento status právě koordinátora. Zpravidla půjde o neziskové organizace, různé spotřebitelské spolky apod. Jednou ročně budou muset podávat zprávu o své činnosti.

Oproti tomu prověřený výzkumný pracovník, nad jejichž certifikací bude ČTÚ rovněž bdít, bude moci získat přístup k údajům od velkých online platforem a internetových vyhledávačů. Dostanou se tak s tímto pověřením i k velmi citlivým údajům a musejí se zavázat, že je dokáží náležitě ochránit. Tito výzkumníci pak také budou muset bezplatně zveřejnit výsledky své práce.

Noví zaměstnanci

„Vzhledem k množství nových povinností se bez posílení personálních kapacit určitě neobejdeme,“ říká za ČTÚ Meravá s tím, že kvůli odlišnosti digitálních agend od telekomunikačních nebo poštovních služeb nebude možné z velké části využít ani stávající státní úředníky. Kolik to ale bude obnášet nových úředníků, regulátor kvalifikovaně odhadnout zatím nedokáže. Přesto už od podzimu chce začít s náborem. 

Krátké vlny: Zásah do srdce soukromé komunikace online Přečtěte si také:

Krátké vlny: Zásah do srdce soukromé komunikace online

„Základem budoucího týmu pro DSA tak je stávající oddělení, které se věnuje P2B,“ dodává mluvčí. Záležet ale bude na tom, zda se podaří zajistit finanční zdroje, jak o tom v srpnu mluvil sekční ředitel Ministerstva průmyslu a obchodu Petr Očko. Podle Meravé zatím jednání s Ministerstvem financí neskončila.

Přes to, co mluvčí říká, ČTÚ odhady, kolik nejspíš bude potřebovat nových úředníků, má. Na kulatém stole k DSA, který začátkem října na Právnické fakultě UK pořádalo Centrum práva, technologií a digitalizace, zástupci ČTÚ řekli, že by úřad čistě pro agendu DSA potřeboval 15 až 20 zaměstnanců. Kdyby regulátor chtěl být aktivní a provádět každý měsíc větší počet kontrol, muselo by jich být patrně ještě více.

CIF25 SE debata

Pro srovnání: studie, kterou si nechal vypracovat budoucí slovenský koordinátor digitálních služeb, Rada pre mediálne služby, navrhla pro agendu DSA na slovenském trhu až 80 úředníků. V praxi se toto číslo má snížit na asi 40 a hned v prvním roce účinnosti DSA má úřad přijmout 16 nových lidí.

Český ČTÚ podobně jako u P2B nařízení avizuje, že ze začátku bude přednostně klást důraz na osvětu uživatelů i poskytovatelů. Chystá se uspořádat setkání se zástupci regulovaného sektoru, na kterém otevře debatu nad optimálním nastavením dohledu.

  • Chcete mít Lupu bez bannerů?
  • Chcete dostávat speciální týdenní newsletter o zákulisí českého internetu?
  • Chcete mít k dispozici strojové přepisy podcastů?
  • Chcete získat slevu 1 000 Kč na jednu z našich konferencí?

Staňte se naším podporovatelem

Autor článku

Redaktor serveru Lupa.cz se zaměřením na telekomunikace, média, IT a právo. Dříve šéfredaktor Právního rádce a mluvčí Českého telekomunikačního úřadu.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).