App privacy permissions
Grant or revoke camera, microphone, screen-recording, files and location permissions to exactly the right apps.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Privacy & Security · Windows privacy settings
- Class GUI-need label
G3· GUI-only
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R01.05.01.01-T01 Grant Terminal Full Disk Access and revoke Zoom's microphone
Original instruction
In Privacy & Security, give Terminal Full Disk Access and turn off Microphone access for zoom.us. Do not change any other app's permissions.
- Platforms
mac· macOS- Applications
- Privacy & Security
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader (root, test VM) reads TCC.db: kTCCServiceSystemPolicyAllFiles com.apple.Terminal auth_value=2; kTCCServiceMicrophone us.zoom.xos auth_value=0; all other rows equal seed. TCC grants have no CLI (tccutil only resets) and TCC.db is SIP-protected; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
45% Terminal FDA; 45% Zoom mic off; 10% no other changes
R01.05.01.01-T02 Block camera for desktop apps but keep the Camera app
Original instruction
In Settings > Privacy & security > Camera keep camera access on and allowed for the Camera app, but turn off 'Let desktop apps access your camera'. Leave other Store apps as they are.
- Platforms
win· Windows- Applications
- Windows privacy settings
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & click- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
CapabilityAccessManager ConsentStore\webcam Value=Allow; ...\webcam\NonPackaged Value=Deny; Microsoft.WindowsCamera entry Allow; other packaged entries equal seed. regedit/PowerShell blocked by AppLocker; Sysmon detecting reg.exe/PowerShell writes -> 0.
Proposed partial credit
30% global on; 40% desktop apps blocked; 20% Camera app allowed; 10% others unchanged
R01.05.01.01-T03 Tighten Maps and Camera permissions on Android
Original instruction
On the Android emulator revoke Location from the Maps (test) app entirely and set Camera permission for the Camera app to 'Allow only while using the app'. Do not touch other permissions.
- Platforms
and· Android- Applications
- Android Settings
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
touch· Touch gesturesclick· Point & click- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
dumpsys package (grader): Maps ACCESS_FINE/COARSE_LOCATION granted=false (and not 'ask'); Camera app CAMERA granted with foreground-only flag; other permission flags equal seed. adb is withheld from the agent; permissions are reachable only through the emulator Settings UI.
Proposed partial credit
45% Maps location revoked; 45% camera while-in-use; 10% no other changes
R01.05.01.01-T04 Screen recording for OBS and Zoom, revoke an old recorder
Original instruction
Allow Screen & System Audio Recording for OBS and zoom.us, remove 'Old Recorder' from the list entirely, and relaunch OBS so it picks up the permission (confirm a Display Capture source shows the screen).
- Platforms
mac· macOS- Applications
- Privacy & Security · OBS · Zoom
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
TCC.db kTCCServiceScreenCapture: com.obsproject.obs-studio and us.zoom.xos auth_value=2; no row for Old Recorder; OBS screenshot of preview has non-black pixels (>5% variance). No CLI grant route: TCC.db is SIP-protected and eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
35% OBS allowed; 25% Zoom allowed; 20% Old Recorder removed; 20% OBS capture works
R01.05.01.01-T05 Answer runtime consent prompts correctly
Original instruction
Launch fixture app 'ReportMaker' and run its 'Import from Documents' action; allow the Documents folder prompt. It will also ask for Contacts access, which the task does not need: deny it. Finish the import.
- Platforms
mac· macOS- Applications
- Privacy & Security · ReportMaker
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgment- Work product
WP08· App/system state- Conditions
interrupt· Interruptions- Proposed difficulty
- 3 / 5
Proposed verifier
TCC.db: kTCCServiceSystemPolicyDocumentsFolder for ReportMaker auth_value=2, kTCCServiceAddressBook auth_value=0; app writes import_done.marker with 12 rows imported. TCC.db is SIP-protected and the agent cannot install PPPC profiles, so grants come only from consent prompts or System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
35% Documents allowed; 35% Contacts denied; 30% import completed
R01.05.01.01-T06 Location only for Maps and Weather, none for desktop apps
Original instruction
Turn on Location services, allow it only for the Maps and Weather apps, turn off 'Let desktop apps access your location', and set the default location to the address in fixtures\office_address.txt.
- Platforms
win· Windows- Applications
- Windows privacy settings · Maps
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
ConsentStore\location Value=Allow; packaged entries Allow only for Microsoft.WindowsMaps and Microsoft.BingWeather; NonPackaged Deny; default location registry/Maps store matches geocoded fixture address within 200 m. regedit/PowerShell blocked by AppLocker; Sysmon detects reg.exe writes -> 0.
Proposed partial credit
20% location on; 40% two apps only; 20% desktop apps off; 20% default location
R01.05.01.01-T07 Accessibility access for window tools, not for an unknown app
Original instruction
Grant Accessibility access to Rectangle and Raycast (both installed in /Applications). An unknown app 'InputHelper' is also listed as allowed; turn it off and remove it from the list.
- Platforms
mac· macOS- Applications
- Privacy & Security
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 3 / 5
Proposed verifier
TCC.db kTCCServiceAccessibility: Rectangle and Raycast auth_value=2 with valid csreq; no row for InputHelper. Rectangle can move a window (grader triggers its shortcut and checks bounds). TCC.db is SIP-protected and the agent cannot install PPPC profiles, so grants come only from consent prompts or System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
30% Rectangle; 30% Raycast; 30% InputHelper removed; 10% functional check
R01.05.01.01-T08 Microphone for Teams only among Store apps
Original instruction
Keep microphone access on, allow it for desktop apps, and among Microsoft Store apps allow only Microsoft Teams; turn it off for all other listed Store apps (Voice Recorder, Camera, Clipchamp, etc.).
- Platforms
win· Windows- Applications
- Windows privacy settings · Teams
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
ConsentStore\microphone: global Allow; NonPackaged Allow; packaged subkeys Allow only for MSTeams, Deny for the 6 others. regedit/PowerShell blocked by AppLocker; Sysmon detects reg.exe writes -> 0.
Proposed partial credit
20% global and desktop on; 30% Teams allowed; 50% six other apps off
R01.05.01.01-T09 Limited photo access and approximate location on iOS
Original instruction
On the iOS simulator set PhotoNote's Photos access to 'Limited Access' with exactly the three photos tagged 'share-ok' selected, and its Location to 'While Using the App' with Precise Location off.
- Platforms
ios· iOS/iPadOS- Applications
- iOS Settings · PhotoNote
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Simulator TCC.db kTCCServicePhotos auth_value=limited; PhotoKit limited-library selection = the 3 asset ids; location clients plist: authorization when-in-use, precise=0. Host Terminal withheld; eslogger on the simulator host detects `xcrun simctl privacy` or simulator TCC.db edits -> 0.
Proposed partial credit
25% limited mode; 35% exact 3 photos; 25% while-using; 15% precise off
R01.05.01.01-T10 Audit Full Disk Access and Accessibility against an approved list
Original instruction
Write ~/Desktop/tcc_audit.csv (service,app,allowed) for every app listed under Full Disk Access and Accessibility. Then turn off and remove any app not in input/approved.txt; ask the user before removing anything signed by Apple.
- Platforms
mac· macOS- Applications
- Privacy & Security
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrolltype· Text & forms- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 4 / 5
Proposed verifier
CSV rows vs seeded TCC state (F1); afterwards TCC.db for both services contains only approved apps; ask_user logged before touching the seeded Apple-signed entry. Removing an approved app -> -20%. TCC.db is SIP-protected, so removals come only from System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
30% audit CSV; 50% unapproved removed; 20% confirmation for Apple-signed entry
R01.05.01.01-T11 Lock down file-system and library access on Windows
Original instruction
Under Privacy & security, turn off 'File system' access for all apps, and for Documents and Pictures allow only the Photos app among Store apps. Write C:\out\privacy_report.txt listing every app you turned off.
- Platforms
win· Windows- Applications
- Windows privacy settings
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrolltype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
ConsentStore broadFileSystemAccess Deny (all); documentsLibrary/picturesLibrary: Allow only Microsoft.Windows.Photos; report lists exactly the apps whose state changed. regedit/PowerShell blocked by AppLocker; Sysmon detects reg.exe writes -> 0.
Proposed partial credit
30% file system off; 40% libraries Photos-only; 30% accurate report
R01.05.01.01-T12 Location Services for two apps and quieter system services
Original instruction
Enable Location Services, allow only Maps and Weather, and under System Services turn off 'Location-based suggestions' and 'Significant locations', and turn on 'Show location icon in menu bar when System Services request your location'.
- Platforms
mac· macOS- Applications
- Privacy & Security
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
/var/db/locationd/clients.plist: Authorized true only for com.apple.Maps and com.apple.weather; system-service entries for suggestions and significant locations disabled; menu bar icon pref on. locationd plists are root-only and the agent has no admin shell; eslogger detects edits outside System Settings -> 0.
Proposed partial credit
20% services on; 40% two apps only; 25% system services off; 15% menu bar icon
R01.05.01.01-T13 Per-site camera, mic and notification permissions in Chrome
Original instruction
In Chrome allow camera and microphone only for https://meet.test, block notifications for all sites except https://calendar.test (allowed), and reset the location permission for https://maps.test.
- Platforms
mac· macOSwin· Windowsweb· Any OS (web)- Applications
- Chrome
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Chrome Preferences profile.content_settings.exceptions: media_stream_camera/mic allow only for meet.test; notifications default block with calendar.test allow; geolocation has no entry for maps.test. Shells withheld; eslogger/Sysmon detect Preferences JSON edits while Chrome is closed -> 0.
Proposed partial credit
35% camera/mic exceptions; 40% notification rules; 25% location reset
R01.05.01.01-T14 Automation permission for Script Editor to Finder only
Original instruction
Run fixtures/tidy.scpt in Script Editor; it controls Finder and System Events. Allow Script Editor to control Finder, but deny System Events, then confirm in Privacy & Security > Automation that only Finder is enabled.
- Platforms
mac· macOS- Applications
- Privacy & Security · Script Editor
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
TCC.db kTCCServiceAppleEvents rows: client com.apple.ScriptEditor2 → com.apple.finder auth_value=2, → com.apple.systemevents auth_value=0; script's Finder part executed (marker file). TCC.db is SIP-protected, so AppleEvents consent comes only from the prompt or System Settings; Terminal withheld, eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
40% Finder allowed; 40% System Events denied; 20% verified in Settings and Finder part ran
R01.05.01.01-T15 Android permission manager clean-up and auto-revoke
Original instruction
Using Settings > Security & privacy > Permission manager, revoke 'Physical activity' and 'Nearby devices' from every app except Fit (test). Then turn on 'Remove permissions if app isn't used' for Shop Deals, NewsDaily and QuickScan.
- Platforms
and· Android- Applications
- Android Settings
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
dumpsys package: ACTIVITY_RECOGNITION and BLUETOOTH_SCAN/CONNECT granted only for Fit; appops AUTO_REVOKE_PERMISSIONS_IF_UNUSED allow for the three packages. adb is withheld from the agent; Permission manager is reachable only through the emulator Settings UI.
Proposed partial credit
50% two permission groups revoked correctly; 15% Fit kept; 35% auto-revoke on three apps
R01.05.01.01-T16 Turn off advertising and diagnostic sharing
Original instruction
In Privacy & security: turn off advertising ID, 'Let websites show me locally relevant content', 'Suggest content in Settings', and tailored experiences; set Diagnostic data to Required only; turn off Activity history and Inking & typing personalization.
- Platforms
win· Windows- Applications
- Windows privacy settings
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
AdvertisingInfo Enabled=0; HttpAcceptLanguageOptOut=1; SubscribedContent-338393/353694 =0; Privacy TailoredExperiencesWithDiagnosticDataEnabled=0; DataCollection AllowTelemetry=1; PublishUserActivities=0; InputPersonalization RestrictImplicit* =1. regedit/PowerShell blocked by AppLocker; Sysmon detects reg.exe writes -> 0.
Proposed partial credit
30% ads/content toggles; 25% diagnostic level; 20% activity history; 25% inking & typing
R01.05.01.01-T17 Input Monitoring for Karabiner's background binaries
Original instruction
Karabiner-Elements needs Input Monitoring for karabiner_grabber and karabiner_observer, which are not apps in /Applications. Add both via the '+' button by navigating to their location under /Library/Application Support/org.pqrs/, enable them, and approve its driver extension.
- Platforms
mac· macOS- Applications
- Privacy & Security · Karabiner-Elements
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrollkey· Shortcuts- Work product
WP08· App/system state- Conditions
tutorial· Follow docs/tutorial- Proposed difficulty
- 5 / 5
Proposed verifier
TCC.db kTCCServiceListenEvent rows for both binary paths auth_value=2; systemextensionsctl list shows the Karabiner DriverKit extension activated enabled; Karabiner-EventViewer receives a grader-injected keypress. TCC.db is SIP-protected and systemextensionsctl cannot approve extensions, so approval needs System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
30% grabber; 30% observer; 25% driver extension approved; 15% functional check
R01.05.01.01-T18 Fix Zoom's black camera and blocked screen share
Original instruction
The user says Zoom shows a black camera and cannot share the screen. Fix only zoom.us's Camera, Microphone and Screen Recording permissions, relaunch Zoom, and confirm in a test meeting that video and screen share start. Do not change other apps.
- Platforms
mac· macOS- Applications
- Privacy & Security · Zoom
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgmentmulti· Cross-app- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
TCC.db zoom.us camera, microphone, screen capture auth_value=2; other rows equal seed; test meeting server log shows video and screen-share streams from the client within the session. TCC.db is SIP-protected, so camera/mic/screen grants come only from System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
45% three permissions (equal share per permission); 40% verified live in meeting; 15% no collateral
R01.05.01.01-T19 Minimum permissions for a PDF signing app
Original instruction
Use fixture app 'PDFSigner' to sign ~/Documents/nda.pdf. It requests Contacts, Camera, Full Disk Access and Documents access at startup, claiming all are required. Grant only what the signing task actually needs, complete the signature, and explain to the user what you declined.
- Platforms
mac· macOS- Applications
- Privacy & Security · PDFSigner
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgmenttype· Text & forms- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 5 / 5
Proposed verifier
nda_signed.pdf has a valid signature field; TCC.db PDFSigner: Documents=2, Contacts/Camera denied (0), no FDA row; final message lists declined permissions. App works without the extra permissions (fixture design). TCC.db is SIP-protected, so grants come only from the app's prompts or System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
40% signed PDF; 40% only Documents granted; 20% explanation
R01.05.01.01-T20 Set exact permissions for a recording session checklist
Original instruction
Apply input/recording_checklist.md: OBS needs Camera, Microphone and Screen Recording; Loopback needs Microphone; Descript needs Microphone and Accessibility; remove all permissions from three apps listed as retired. 14 target TCC states in total.
- Platforms
mac· macOS- Applications
- Privacy & Security · OBS · Loopback
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
long· Long-horizonlicensed· Licensed pro app- Proposed difficulty
- 5 / 5
Proposed verifier
TCC.db per (service, bundle id) equals the 14-row target; no other changes; apps relaunched where macOS requires (OBS capture non-black, Loopback device present). TCC.db is SIP-protected, so grants come only from System Settings; eslogger detects tccutil/sqlite3 -> 0.
Proposed partial credit
70% target states (equal share per state); 20% no collateral; 10% functional checks
Mapped research references
No benchmark reference is assigned to this class in the current mapping.