ADVERTISEMENT

India mandates pre-installation of government cyber safety app on all smartphones

Published Dec 3, 2025 12:08 am
An Indian government-run cybersecurity app "Sanchar Saathi" is seen on a mobile phone in New Delhi, India, Tuesday, Dec. 2, 2025. (AP Photo/Manish Swarup)
An Indian government-run cybersecurity app "Sanchar Saathi" is seen on a mobile phone in New Delhi, India, Tuesday, Dec. 2, 2025. (AP Photo/Manish Swarup)
NEW DELHI (AP) — India’s telecoms ministry has directed smartphone manufacturers to pre-install a government-run cybersecurity app on all new devices, according to a government order, raising concerns of data privacy and user consent in one of the largest handset markets in the world.
The Ministry of Communications' order issued Monday asked smartphone makers to pre-install the government’s “Sanchar Saathi” app on all new devices within 90 days and to prevent users from deleting it. The order also requires manufacturers to push the app onto older models through a software update, extending the mandate beyond phones available in the market.
The ministry said the app, which is available to India’s 1.2 billion smartphone users, was essential in “curbing misuse of telecom resources for cyber frauds and ensuring telecom cyber security.” But privacy advocates say the order marks an effort to erode user privacy and consent.
“This is the beginning. It is government testing the waters,” said Nikhil Pahwa, a digital policy expert and founder of the tech site MediaNama. “Once a government app is forcibly pre-installed on our devices, what’s to stop them from pushing future apps that could be used for surveillance?”
Amid growing criticism, India’s telecom minister, Jyotiraditya M. Scindia, on Tuesday called the app a “voluntary and democratic system" and said users can choose to activate it and “easily delete it from their phone at any time.”
Scindia did not clarify Monday’s directive instructing smartphone manufacturers to ensure the app’s “functionalities are not disabled or restricted.”
The “Sanchar Saathi” app, which was released in January, was designed to let users block and track lost or stolen phones and to identify and shut down fraudulent mobile connections. Since its launch, it has drawn more than 5 million downloads and helped recover more than 700,000 lost devices, according to government data.
Pahwa said the main concern is that the app’s role could eventually expand, giving authorities greater ability to “access device status.” He said the order also removes user consent as a choice.
“Phones are our personal spaces. We have a choice to have what we want on them. Here the government is taking away that choice,” he said.
The order is also expected to face resistance from smartphone companies like U.S.-based Apple, whose internal policies prohibit preinstalling third-party apps on its devices, including those developed by governments.
It also comes as several governments take similar steps.
In Russia, authorities have recently promoted the MAX messaging service, which must be pre-installed on all smartphones. Critics say the platform functions as a surveillance tool, noting that MAX openly states it will provide user data to officials upon request.

Related Tags

WORLDNEWS
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.