Thuta Learning
Digital Privacy & Modern Security
AdvancedSecurityintermediate

App Permission များနှင့် Tracking

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • App Permission များနှင့် Tracking concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • Diagram/checklist ကို ဖတ်ပြီး threat/control/decision ဘယ်လို ဆက်စပ်နေသလဲ ခြေရာခံနိုင်ရန်
  • ကိုယ့် digital life (သို့) developer workflow မှာ ဘယ်လို အသုံးချသင့်သလဲ ရှင်းပြနိုင်ရန်

နားလည်ထားရမယ့် အချက်

App တစ်ခုချင်းစီက install လုပ်တဲ့အခါ permission တွေ တောင်းတယ်—camera, microphone, photos, contacts, location, files, Bluetooth, notifications။ permission တစ်ခုက app ရဲ့ တကယ့် purpose နဲ့ ကိုက်ညီသင့်တယ်။

Maps app က location တောင်းတာက ရှင်းရှင်းလင်းလင်း အဓိပ္ပာယ်ရှိတယ်။ Flashlight app က location, contacts, microphone တောင်းတာကတော့ မရှိပါဘူး—malice ယူဆမယ့်အစား မေးခွန်းထုတ်ထိုက်တယ်။

Tracking technology—cookie, device identifier, analytics, advertising identifier—တွေက company တစ်ခုကို သူတို့ product ကို ဘယ်လို သုံးနေလဲဆိုတာ နားလည်စေတယ်။

Analytics အားလုံး malicious မဟုတ်ပါ

legitimate product analytics က team တစ်ခုကို bug ပြင်ဖို့၊ product ကို user တွေကိုယ်တိုင် အကျိုးရှိစွာ တိုးတက်စေဖို့ ကူညီပေးတယ်။ ရည်ရွယ်ချက်က awareness ပါ—tracking အားလုံးကို ငြင်းပယ်တာ မဟုတ်ပါ။

  • Account visibility setting
  • Ad/privacy control
  • install လုပ်ထားတဲ့ app တစ်ခုချင်းစီရဲ့ တကယ့် permission
  • လိုအပ်တော့မယ့် app တွေအတွက် ဆက်ဖွင့်ထားတဲ့ location sharing
  • ချိတ်ဆက်ထားတဲ့ third-party application
  • ဆက် login ဝင်နေဆဲ device (သို့) session

ဒါကို နေ့စဉ် လုပ်ဖို့ မလိုပါဘူး။ လအနည်းငယ်တစ်ကြိမ် (သို့) app အသစ် install ပြီးတိုင်း တိတ်ဆိတ်ငြိမ်သက်တဲ့ review တစ်ခုက purpose လွန်မြောက်နေတဲ့ အရာကို ဖမ်းယူပေးနိုင်တယ်။

text
PERMISSION VS STATED PURPOSE
----------------------------
App: Flashlight          Requests: camera, location, contacts
Stated purpose: light the camera flash
  camera    -> MATCH    (needed to control the flash)
  location  -> MISMATCH (not needed for a flashlight)
  contacts  -> MISMATCH (not needed for a flashlight)

App: Maps                Requests: location
Stated purpose: show maps and directions
  location  -> MATCH    (core to the app's purpose)

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

အောက်က function က app list တစ်ခုလုံးအတွက် "permission က purpose နဲ့ ကိုက်ညီလား" check ကို tစ်ပြိုင်နက် လုပ်ပေးတယ်—category တစ်ခုစီအတွက် expected permission list ကို lookup table တစ်ခုက သတ်မှတ်ပေးတယ်။

App တစ်ခုချင်းစီအတွက် category ရဲ့ expected list ထဲ မပါတာဟာ mismatchedPermissions ထဲ စုစည်းပြီး ဘယ်ပါမစ်ရှင်ဖြစ်ဖြစ်စေလဲ အတိအကျပါ REVIEW အဖြစ် flag လုပ်တယ်။

Flashlight app

camera, location, contacts တောင်းတယ်—location, contacts ကို mismatch အဖြစ် flag လုပ်တယ်။

Maps app

location တစ်ခုတည်း တောင်းတယ်—clean, OK ပြန်လာတယ်။

install လုပ်ထားတဲ့ app တိုင်းကို ဒီလို check run ကြည့်ခြင်းက "တစ်နေ့နေ့ review လုပ်သင့်တယ်" ဆိုတဲ့ မှုန်ဝါးတဲ့ ခံစားမှုကို တိတိကျကျ list တစ်ခုအဖြစ် ပြောင်းပေးတယ်။

Privacy Settings Review

အတူတူ စမ်းရေးကြည့်မယ်

javascript
function reviewAppPermissions(apps) {
  const purposeToExpectedPermissions = {
    flashlight: ["camera"],
    maps: ["location"],
    messaging: ["contacts", "notifications", "microphone", "camera"],
    photoEditor: ["photos", "camera"],
  };

  return apps.map((app) => {
    const expected = purposeToExpectedPermissions[app.purposeCategory] || [];
    const mismatches = app.requestedPermissions.filter((p) => !expected.includes(p));
    return {
      name: app.name,
      requestedPermissions: app.requestedPermissions,
      mismatchedPermissions: mismatches,
      flag: mismatches.length > 0 ? "REVIEW — permission does not match stated purpose" : "OK",
    };
  });
}

const apps = [
  { name: "BrightTorch", purposeCategory: "flashlight", requestedPermissions: ["camera", "location", "contacts"] },
  { name: "TrailMaps", purposeCategory: "maps", requestedPermissions: ["location"] },
];

console.log(JSON.stringify(reviewAppPermissions(apps), null, 2));
You should see
[
  {
    "name": "BrightTorch",
    "requestedPermissions": [
      "camera",
      "location",
      "contacts"
    ],
    "mismatchedPermissions": [
      "location",
      "contacts"
    ],
    "flag": "REVIEW — permission does not match stated purpose"
  },
  {
    "name": "TrailMaps",
    "requestedPermissions": [
      "location"
    ],
    "mismatchedPermissions": [],
    "flag": "OK"
  }
]

၅ မိနစ် စမ်းကြည့်

purposeCategory အသစ် "weatherApp" ကို ထည့်ပါ—"location" နဲ့ "notifications" သာ တောင်းရမည်ဟု မျှော်လင့်ထားပါ။ "contacts" ကိုပါ တောင်းတဲ့ weather app တစ်ခုကို apps list ထဲ ထည့်ပြီး function က mismatch ကို မှန်ကန်စွာ flag လုပ်ကြောင်း စစ်ဆေးပါ။

သတိလေးတစ်ချက်

setup လုပ်ချိန် app တောင်းတဲ့ permission အားလုံးကို ၎င်းက app ရဲ့ တကယ့် purpose နဲ့ ကိုက်ညီသလားဆိုတာ မစစ်ဆေးဘဲ ပေးလိုက်ခြင်း။

tracking အားလုံးကို သဘာဝအရ malicious ဟု သဘောထားပြီး legitimate analytics ကလည်း product ကို user တွေအတွက် တိုးတက်စေနိုင်တယ်ဆိုတာကို လွဲချော်ခြင်း။

EFF Surveillance Self-DefenseDigital Privacy & Modern Security

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • setup လုပ်ချိန် app တောင်းတဲ့ permission အားလုံးကို ၎င်းက app ရဲ့ တကယ့် purpose နဲ့ ကိုက်ညီသလားဆိုတာ မစစ်ဆေးဘဲ ပေးလိုက်ခြင်း။
  • tracking အားလုံးကို သဘာဝအရ malicious ဟု သဘောထားပြီး legitimate analytics ကလည်း product ကို user တွေအတွက် တိုးတက်စေနိုင်တယ်ဆိုတာကို လွဲချော်ခြင်း။
  • ဒီ course က Cybersecurity Basics course အသစ် မဟုတ်ပါ — password/2FA/phishing/malware/encryption/backup အခြေခံကို Cybersecurity tutorial ကနေ လေ့လာပြီးသားလို့ ယူဆထားပါတယ်။ ဒီ course က Passkeys, Public Wi-Fi/VPN, Browser Security, Privacy, developer-focused Auth/API security, AI security လို အသစ်ထပ်ဖြည့်တဲ့ အပိုင်းကိုသာ သင်ပေးပါတယ်။

လေ့ကျင့်ခန်း

purposeCategory အသစ် "weatherApp" ကို ထည့်ပါ—"location" နဲ့ "notifications" သာ တောင်းရမည်ဟု မျှော်လင့်ထားပါ။ "contacts" ကိုပါ တောင်းတဲ့ weather app တစ်ခုကို apps list ထဲ ထည့်ပြီး function က mismatch ကို မှန်ကန်စွာ flag လုပ်ကြောင်း စစ်ဆေးပါ။

You'll know it worked when: [ { "name": "BrightTorch", "requestedPermissions": [ "camera", "location", "contacts" ], "mismatchedPermissions": [ "location", "contacts" ], "flag": "REVIEW — permission does not match stated purpose" }, { "name": "TrailMaps", "requestedPermissions": [ "location" ], "mismatchedPermissions": [], "flag": "OK" } ]

App Permission များနှင့် Tracking | Thuta Learning