// Adds dimensions UUID, Author and Topic into GA4
Thursday, September 24, 2026
30.8 C
Singapore

Singapore’s Online Safety Commission resolves over 90% of 500+ reported cases in its first three months

SINGAPORE: Three months after beginning operations, Singapore’s Online Safety Commission (OSC) has handled more than 500 reports of online harm, resolving over 90% of eligible cases, most of them involving doxxing and online harassment, according to Minister for Digital Development and Information Josephine Teo and OSC Commissioner Francis Ng, speaking on the gov.sg podcast Let’s Table It.

The OSC was created to give victims of online harm a direct statutory mechanism for content removal, which was something that did not exist before the body was set up.

“Before the OSC existed, victims had no direct means of being able to take down harmful content online,” Commissioner Ng said. “I think the OSC decisively changed that game by creating a statutory reporting mechanism.”

How it works

When a report comes in, it is assigned to a case resolution officer who assesses whether it meets the criteria for action. The OSC has teams on standby seven days a week to help handle these reports.

For eligible cases, the OSC contacts the platform with what it calls a “flag.” In most cases, that flag alone is sufficient to get the content removed. If not, a formal direction, which may be in the form of a legal notice requiring the platform to disable or block the content, follows.

The OSC covers 13 categories of harm to individuals, including doxxing, intimate image abuse, online harassment, and image-based child abuse. For the five most severe categories, victims can report directly to the OSC without going to the platform first.

Platforms that fail to comply with an OSC direction face criminal liability. So do individuals who ignore OSC notices to appear for questioning. “Fines can be imposed, as well as potentially imprisonment,” Ng said. “Take our notices seriously and please turn up.”

Teeth in action

The OSC recently issued its first notice requiring a communicator to come in for statement recording. The individual initially thought the call was a scam, with them asking, “When are you guys going to ask me for my bank account?” However, they did turn up to the statement recording, were educated on the harm caused, and conveyed an apology to the victim.

Ng described the approach to some cases as deliberately softer than the full force of the law. “Hurt people hurt people,” he said, noting that some perpetrators of online harm have themselves been emotionally hurt. In such cases, the OSC writes to acknowledge their pain while explaining why their conduct crossed the line, giving them a chance to self-correct before a formal direction is issued.

What success looks like

For Minister Teo, success is not a high case count, but it is having fewer cases. “The proof of the pudding is in the eating. The sheer lived experience of people online, what you hear your friends say, what you hear your colleagues say. That would be the great test.”

For Ng, it is never losing sight of the individual behind each case. “To the victim that makes the report to us, that one case is his or her everything.”


Read also: Fake SPF pop-up alerts claiming your device is ‘locked’ are back; Police warn of phishing scam demanding urgent fine payment

Hot this week

LTA: EV and PHEV owners get a vote on Singapore’s new differentiated licence plates; poll opens Sep 25 on OneMotoring

LTA and SCDF are launching an online poll from 25 September to 9 October for EV and PHEV owners to choose between three licence plate designs, one green and two blue, after earlier green designs dr...

Police arrest man after six-hour standoff at Bukit Batok block where bicycle and other items were thrown

A 47-year-old man locked himself in his home and threw shoes, a hairdryer, and even a bicycle from the 20th floor. After a six-hour standoff with police, officers sawed through the door to arrest him.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks