Russia greatly expands SORM surveillance requirements

aa_is_op1 pts0 comments

Risky Bulletin: Russia greatly expands SORM surveillance requirements - Risky Business Media

-->

-->

-->

Risky Bulletin Newsletter

June 01, 2026

Risky Bulletin: Russia greatly expands SORM surveillance requirements

Written by

Catalin Cimpanu<br>News Editor

This newsletter is brought to you by Truffle Security , the makers of Trufflehog. You can subscribe to an audio version of this newsletter as a podcast by searching for "Risky Business" in your podcatcher or subscribing via this RSS feed . You can also add the Risky Business newsletter as a Preferred Source to your Google search results by going here .

Risky Business Player

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap");

body {<br>margin: 0px;

.audio-player {<br>font-family: "Inter", sans-serif;

.icon {<br>background-image: url("https://risky.biz/static/img/icons/subscribe-icons.svg");<br>display: block;<br>width: 33px;<br>height: 33px;<br>background-size: 528px 111px;

Your browser does not support the audio element.

Risky Bulletin: Recently patched PAN 0day exploited in the wild

&#9654;

0:00 /

7:05

Subscribe &nbsp;

document.addEventListener("DOMContentLoaded", function () {<br>const players = document.querySelectorAll(".audio-player");

function resizeElements(player) {<br>const logo = player.querySelector(".logo");<br>const subscribeIcons = player.querySelectorAll(".icon");<br>const subscribeContainer = player.querySelector(".subContainer"); // Select subContainer by class<br>const subText = player.querySelector(".subText"); // Select subText by class

if (player.offsetWidth {<br>icon.style.transform = "scale(0.7)";<br>icon.style.transformOrigin = "center";<br>icon.style.verticalAlign = "middle";<br>});

// Remove padding from subText and set font-size to 12px<br>if (subText) {<br>subText.style.padding = "0";<br>subText.style.fontSize = "12px";

// Set gap in subContainer to 0px<br>if (subscribeContainer) {<br>subscribeContainer.style.gap = "0px";<br>} else {<br>// Reset scaling, alignment, and visibility<br>if (logo) {<br>logo.style.display = "block";<br>logo.style.transform = "scale(1)";<br>logo.style.verticalAlign = "baseline";<br>subscribeIcons.forEach(icon => {<br>icon.style.transform = "scale(1)";<br>icon.style.verticalAlign = "baseline";<br>});

// Reset padding and font-size in subText<br>if (subText) {<br>subText.style.padding = "0 20px"; // Default padding<br>subText.style.fontSize = "inherit"; // Default font-size

// Reset gap in subContainer<br>if (subscribeContainer) {<br>subscribeContainer.style.gap = "6px"; // Default gap

function handleResize() {<br>players.forEach(player => {<br>resizeElements(player);<br>});

// Run on initial load and resize<br>handleResize();<br>window.addEventListener("resize", handleResize);<br>});

// Custom Audio Player<br>document.addEventListener("DOMContentLoaded", function () {<br>const players = document.querySelectorAll(".audio-player");

players.forEach(function (player) {<br>// Skip if already initialized<br>if (player.dataset.initialized === "true") return;

// Mark player as initialized<br>player.dataset.initialized = "true";

const audio = player.querySelector(".audioElement");<br>const playPauseBtn = player.querySelector(".playPauseBtn");<br>const progressBar = player.querySelector(".progressBar");<br>const currentTimeEl = player.querySelector(".currentTime");<br>const durationEl = player.querySelector(".duration");

if (!audio || !playPauseBtn || !progressBar || !currentTimeEl || !durationEl) {<br>console.error("One or more player elements not found:", { audio, playPauseBtn, progressBar, currentTimeEl, durationEl });<br>return;

playPauseBtn.addEventListener("click", () => {<br>if (audio.paused) {<br>audio.play();<br>playPauseBtn.textContent = "⏸";

// GA4 event for starting audio<br>gtag("event", "audio_play", {<br>"content_title": "Risky Bulletin: Recently patched PAN 0day exploited in the wild",<br>"content_type": "audio"<br>});<br>} else {<br>audio.pause();<br>playPauseBtn.textContent = "▶";<br>});

audio.addEventListener("timeupdate", () => {<br>if (audio.duration) {<br>progressBar.value = (audio.currentTime / audio.duration) * 100;<br>currentTimeEl.textContent = formatTime(audio.currentTime);<br>});

audio.addEventListener("loadedmetadata", () => {<br>durationEl.textContent = formatTime(audio.duration);<br>});

progressBar.addEventListener("input", () => {<br>if (audio.duration) {<br>audio.currentTime = (progressBar.value / 100) * audio.duration;<br>});

function formatTime(seconds) {<br>const minutes = Math.floor(seconds / 60);<br>const secs = Math.floor(seconds % 60);<br>return `${minutes}:${secs

' style="width: 100%; height: 156px;">

The Russian government has greatly expanded the amount of personal and technical data that mobile operators and internet service providers must collect from their customers and share with state authorities.<br>This data collection is part of a surveillance system used in Russia named SORM, which stands for the System for Operative Investigative Activities. SORM works through special equipment installed at local telcos that collects data on the company's traffic and uploads it to a government database where the police and...

audio player style const subtext risky

Related Articles