ADVERTISEMENT

Which PH news site leaks the most personal data?

Published Nov 26, 2021 01:18 pm

A few days ago, I was a bit triggered when I discovered that our very own Manila Bulletin (MB) has 29 active trackers on the website! And this number is the one reported by Safari’s Intelligent Tracking Prevention feature. Drilling down to details, MB leaks readers’ personal browsing behavior to Google, among others. I DO NOT know what happened, but it was NOT like this before. I already alerted my editor, Mr. Art Samaniego, about it, but as of this writing, I have not heard a response.

Safari’s Intelligent Tracking Prevention feature

For every new website that I encounter, specially those that are becoming a bit popular (or even some popular ones that I have yet to discover), I run it through The Markup.org’s Blacklight tool, a free service that shines a black light to find hidden trackers on websites, similar to what crime scene investigators do to detect evidence that are otherwise cannot be seen by human eyes. I have been routinely doing this, even to the extent of finding some websites blocking this tool. I highly recommend that you bookmark this tool and scan websites so you would know the risks before you access.

So I did a quick run of the popular online news sites from the Philippines. These are, in no particular order, Manila Bulletin, Inquirer, PhilStar, Manila Times, ABS-CBN News, GMA News and Rappler. And here’s what I found:

Blacklight Tool report

The least number of ad trackers: PhilStar with 11

The most number of ad trackers: Inquirer with 49

The least number of 3rd party cookies: PhilStar with 10

The most number of 3rd party cookies: Inquirer with 133

Site that tracks your keyboard and mouse activity: PhilStar and Inquirer

Site that leaks your browsing behavior to Facebook: Inquirer, PhilStar, and Rappler

Site that leaks your browsing behavior to Google: Manila Bulletin, Inquirer, PhilStar, Manila Times, ABS-CBN News, GMA News, and Rappler

I do not know *why* these companies are flooding their websites with trackers. If it is about collecting analytics, then they can use alternatives, like Matomo and Plausible — as a cloud service or self-hosted. If it is about ads, then they can do contextual advertising and sell their own ad space similar to what they do with their print or broadcast services, instead of using adtech to do it.

Haven’t they heard that Safari and Firefox have built-in ad tracker blockers already, which render these trackers and online ads useless? Are they banking on the majority of readers who still use Chrome, which is notorious for leaking *all* your browsing behavior to Google, without any ad tracker blocker? Readerss might not know that these trackers and third party cookies make web pages to load slower, and eats up more of your precious data allocation.

To these companies, Manila Bulletin included, consider your readers — most do not have unlimited data, and better yet, protect their personal browsing behavior.

So which Philippine online news site leaks the most user browsing behavior? The answer is Inquirer.net.

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.