ADVERTISEMENT

1SAMBAYAN Shifts to Archaic Membership Application After Mobile App Fiasco

Published Jun 16, 2021 01:33 pm

1SAMBAYAN App

Following the discovery of serious privacy and security flaws in the 1SAMBAYAN membership app (1Sama Ako) last weekend, a Statement on the 1Sama Ako Data Breach was issued by Br. Armin Luistro, FSC, 1SAMBAYAN Convenor/Head of Membership Committee.

According to Br. Armin, upon receipt of information related to the data breach last Saturday, 12 June 2021, the system was immediately placed in maintenance mode to prevent further access to their data. He added that the culprit was the API (Application Programming Interface) used for the app’s latest version and has been patched already. The former DepEd Secretary also said that the “hacker” (the guy who disclosed the data breach through Manila Bulletin’s Tech News Editor Art Samaniego) was a professional with malicious intent.

I tried installing the 1Sama Ako app on my spare Android device Monday afternoon, but the sign-up/create an account page is no longer functioning properly. The app was created by a certain Creative Synergy, Inc. (whose website defaults to a non-HTTPS version), the same people behind the Too Close social distancing app, FMA – Know Your Rights app and the V4Leni app. Google search points to Vicente “Enteng” Romano III as the CEO of Creative Synergy, Inc. Romano served as Tourism Undersecretary during the last Aquino administration. He resigned after assuming responsibility for the “Pilipinas Kay Ganda” controversy.

On the same statement, 1SAMBAYAN asked interested volunteers to download the Membership Application Form from their website https://1sambayan.org with instructions to send accomplished forms to an email address.

This archaic approach to encourage volunteer sign-ups made me think if the IT people behind the coalition thought of using Google Forms or Microsoft Forms instead of asking people to download an Excel worksheet, fill it up, and send it back to them via email. Haven’t they thought that this could more of a potential cybersecurity nightmare on their part?

Also, where can we find the Privacy Policy or Privacy Statement related to this data collection process? Where will the information collected be used? Just asking for a friend.



My Take on the 1SAMBAYAN Website

First and foremost, this is not something political from my side. I have high respect for some of the people behind the coalition. It is part of my advocacy to promote online privacy, security, and safety.

Surfing to the 1SAMBAYAN website (or to any website), the first thing I check is what the EFF Privacy Badger (install it as an add-on in your favorite web browser) has blocked. For this website, it has blocked one (01) potential tracker – Google Analytics.



Whoever is the acting Data Privacy Officer (DPO) of 1SAMBAYAN should ensure that things like advising website visitors, especially those who will accomplish their membership application form, on what kinds of data are to be collected, processed, stored, and for which valid purpose is the data collection being done.

All the best to our friends at 1SAMBAYAN.

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.