နားလည်ထားရမယ့် အချက်
ဒီ project ဟာ privacy-fundamentals lesson (data footprint) နဲ့ app-permissions-and-tracking lesson (app permission, browser tracking) ကို ပေါင်းစပ်ထားပါတယ်။ Lesson နှစ်ခုစလုံးက ကိုယ့် exposure ရဲ့ ပုံပြည့်ကို သီးခြားစီ မပေးနိုင်ပါ — ဒီ project က account/device တွေအတွက် structured audit တစ်ခု လုပ်ခိုင်းပါတယ်။
Cybersecurity Basics ရဲ့ project တွေက authentication (password, 2FA) နဲ့ phishing recognition ကို ကြည့်ခဲ့တယ်။ ဘယ်တစ်ခုမှ privacy exposure — app permission mismatch, browser tracking, live third-party connection, profile visibility, forgotten session — ကို မထိခဲ့ပါ။
| Category | သုံးသပ်ချက် |
|---|---|
| Apps & Permissions | App တစ်ခုစီရဲ့ permission က ကြေညာထားတဲ့ ရည်ရွယ်ချက်နဲ့ ကိုက်ညီလား |
| Browser Tracking | Browser ရဲ့ cookie နဲ့ tracking-protection setting များ |
| Connected Apps | Main account တွေနဲ့ ဆက်နေသေးတဲ့ third-party integration များ |
| Account Visibility | Default အနေနဲ့ profile/post ကို ဘယ်သူမြင်နိုင်လဲ |
| Active Sessions | Device/session ဘယ်ခု ဆက်ဝင်နေသေးလဲ |
Category တစ်ခုစီအတွက် တိကျတဲ့ finding မှတ်တမ်းတင်ပြီး prioritized improvement list ထုတ်ပါ — priority မရှိတဲ့ audit ဟာ ဖတ်စရာတစ်ခုပဲ ဖြစ်နေတတ်ပါတယ်။
PRIVACY AND PERMISSIONS AUDIT
-----------------------------
PRIVACY AND PERMISSIONS AUDIT
-------------------------------
APPS & PERMISSIONS ---+
BROWSER TRACKING ---+
CONNECTED APPS ---+---> PRIORITIZED IMPROVEMENT LIST
ACCOUNT VISIBILITY ---+
ACTIVE SESSIONS ---+လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
ဒါကို ကိုယ့် device နဲ့ account တွေကို category ၅ ခု အလိုက် sweep တစ်ခု အနေနဲ့ သဘောထားပါ — category တစ်ခုစီအတွက် အာရုံစိုက်တဲ့ မိနစ်အနည်းငယ်ပဲ သုံးပါ၊ ကိုယ်တွေ့ရှိတာကိုပဲ ရေးမှတ်ပါ။
Apps နှင့် permissions
Phone ရဲ့ permission settings ကို ဖွင့်ပြီး app ၅-၁၀ ခုကို သူတို့ access လုပ်နိုင်တာ နဲ့ တကယ်ဘာအတွက်လဲဆိုတာနဲ့ အတူ စာရင်းလုပ်ပါ — flashlight app တစ်ခုက contacts တောင်းနေတာဟာ flag လုပ်သင့်တဲ့ mismatch တစ်ခုပါ။
Browser tracking
Third-party cookies တွေကို block လုပ်ထားလား၊ tracking-protection feature ဖွင့်ထားလား၊ ပုံမှန် page load တစ်ခုမှာ tracker ဘယ်နှစ်ခု block ဖြစ်နေလဲ စစ်ဆေးပါ။
Connected apps
Main email နဲ့ social account တွေရဲ့ 'connected apps' (သို့) 'third-party access' page ကို ဖွင့်ပြီး ခြောက်လ (သို့) ထက်ကျော် အသုံးမပြုတော့တဲ့ integration တွေကို မှတ်ချက်ချပါ။
Account visibility
Main social account ရဲ့ account visibility settings ကို စစ်ပါ — ပုံမှန် (default) အနေနဲ့ ကိုယ့် post နဲ့ profile ကို ဘယ်သူတွေ မြင်နိုင်လဲ ဆိုတာပါ။
Active sessions
အရေးကြီး account နှစ်/သုံးခုရဲ့ active-sessions (သို့) 'where you're logged in' page ကို ဖွင့်ပြီး မသိတဲ့ device ရှိမရှိ မှတ်ချက်ချပါ။
Category ၅ ခုစလုံးက finding တွေကို အောက်က audit function ထဲ ထည့်ပြီး၊ ထွက်လာတဲ့ prioritized report ကို ကိုယ့်ရဲ့ risk အမြင်နဲ့ နှိုင်းယှဉ်ကြည့်ပါ။
အတူတူ စမ်းရေးကြည့်မယ်
function buildPrivacyReport(apps, integrations, today) {
const now = new Date(today);
const permissionFindings = apps
.map((app) => {
const unjustified = app.permissions.filter((p) => !app.justifiedPermissions.includes(p));
return { app: app.name, unjustifiedPermissions: unjustified };
})
.filter((f) => f.unjustifiedPermissions.length > 0);
const integrationFindings = integrations
.map((i) => {
const daysSinceUse = Math.floor((now - new Date(i.lastUsed)) / 86400000);
return { integration: i.name, daysSinceUse };
})
.filter((f) => f.daysSinceUse > 180);
const findings = [
...permissionFindings.map((f) => ({
category: "App Permissions",
subject: f.app,
severity: f.unjustifiedPermissions.length * 3,
detail: `Requests ${f.unjustifiedPermissions.join(", ")} beyond its stated purpose`,
})),
...integrationFindings.map((f) => ({
category: "Connected Apps",
subject: f.integration,
severity: Math.min(5, Math.floor(f.daysSinceUse / 90)),
detail: `Unused for ${f.daysSinceUse} days -- still has account access`,
})),
];
findings.sort((a, b) => b.severity - a.severity);
return findings.map((f, i) => ({ priority: i + 1, ...f }));
}
// Described apps/integrations -- names and permissions only, never real login data.
const apps = [
{ name: "Flashlight Pro", permissions: ["camera", "contacts"], justifiedPermissions: ["camera"] },
{ name: "Messaging App", permissions: ["contacts", "microphone", "camera"], justifiedPermissions: ["contacts", "microphone", "camera"] },
{ name: "Weather Widget", permissions: ["location", "contacts"], justifiedPermissions: ["location"] },
];
const integrations = [
{ name: "Old Quiz App", lastUsed: "2024-11-01" },
{ name: "Cloud Storage Sync", lastUsed: "2026-08-20" },
{ name: "Fitness Tracker", lastUsed: "2025-02-14" },
];
const report = buildPrivacyReport(apps, integrations, "2026-09-06");
for (const item of report) {
console.log(`#${item.priority} [${item.category}] ${item.subject} (severity ${item.severity})`);
console.log(` ${item.detail}`);
}Function ဟာ severity အလိုက် finding လေးခု ပြန်ပေးပါတယ် — 'Old Quiz App' နဲ့ 'Fitness Tracker' တို့ severity 5 အတူတူနဲ့ (၆၇၄ ရက်နဲ့ ၅၆၉ ရက် အသုံးမပြုဖြစ်နေတာ) #1 နဲ့ #2 ရရှိပြီး၊ 'Flashlight Pro' နဲ့ 'Weather Widget' တို့ကတော့ ကြေညာမထားတဲ့ 'contacts' permission တောင်းနေလို့ severity 3 အတူတူနဲ့ ဆက်ပါတယ် — အထက်က console output နဲ့ ကိုက်ညီပါတယ်။၅ မိနစ် စမ်းကြည့်
ကိုယ့် install လုပ်ထားတဲ့ app သုံး/ငါးခု (နာမည်, တောင်းထားတဲ့ permission, ကြေညာထားတဲ့ ရည်ရွယ်ချက်) နဲ့ connected integration နှစ်/သုံးခု (နာမည်, နောက်ဆုံးသုံးခဲ့တဲ့ ရက်) ကို — account credential အစစ်တွေ ဘယ်တော့မှ မပါဘဲ — ဖော်ပြပြီး buildPrivacyReport ကို run ကြည့်ပါ။ ရလဒ်တွေကို rank လုပ်ပြီး ဒီအပတ်ထဲ တကယ်ပြင်မယ့် fix နှစ်ခုကို ရွေးချယ်ပါ။
သတိလေးတစ်ချက်
App တွေက permission အသစ်တွေ ထပ်တောင်းလာနိုင်ပြီး integration တွေက အချိန်ကြာလာတာနဲ့အမျှ တိတ်တဆိတ် စုလာနိုင်ပေမယ့်၊ permission တွေကို တစ်ကြိမ်တည်းပဲ audit လုပ်ပြီး ဘယ်တော့မှ ပြန်မစစ်တော့ခြင်း
Permission mismatch (သို့) stale integration ကို flag လုပ်ပေမယ့် access ကို တကယ် ပြန်ပယ်ဖျက်ခြင်း မလုပ်ခြင်း
EFF — Surveillance Self-Defense — Digital Privacy & Modern Security