// Adds dimensions UUID, Author and Topic into GA4
Sunday, September 13, 2026
28.8 C
Singapore

Ex-ISD boss breaks silence on Mas Selamat

Under his watch, Singapore’s worst security breach happened. Six years later, former ISD director Pang Kin Keong tells Challenge, a civil service magazine, what he and his officers went through. Excerpts:

“To have an incident of this national security magnitude happen under your leadership…that’s an awful feeling…I’ll be honest. When I read the newspapers or my email (I felt) like slumping and going back to bed, under the covers.

“This difficulty of keeping up the morale intensified over time…After eight, nine months, and we still have absolutely no trace of him, how do you keep on telling them (his staff),  ‘it’s okay. You need to keep plugging away.’

“I wanted at least to be able to say, yes, the mistake happened under me, but I rectified it under my watch as well.

“Loyalty is a two-way thing. You can’t expect your officers to be loyal to you unless you’re loyal to them…When they have that confidence in you, they’ll go to the ends of the world for you.”

Pang, 47, moved on to become permanent secretary of the Law Ministry in 2010 and the Ministry of Transport in 2012.

Hot this week

‘Life is but a bunch of unwanted surprises’: Singaporean says having an emergency fund helps him stay calm

After going through consumer debt, he said rebuilding his finances taught him the value of having money set aside for emergencies.

171 Sungai Kim Kim victims win civil suit against factory and two Singaporean directors seven years after toxic waste disaster

Seven years after the Sungai Kim Kim disaster, 171 victims have secured a civil court victory against four defendants, including two Singaporean nationals. The amount of damages will be decided later.

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