Prd/components/sepolicy-patch/patches/0001-helpdesk-prop.patch
Lucy Doupalů be9f14ce34 Helpdesk - operator console + patched GrapheneOS Dialer for call handling
A small helpdesk system: an office Pixel running a patched GrapheneOS Dialer
answers technician calls, records both call legs as separate channels, and a
Ruby backend transcribes them through Whisper and files an AI summary against
the caller.

Squashed to a single commit for sharing. No credentials are included; secrets
live outside the repo in /etc/helpdesk/env on the server or a gitignored
.claude/env.local locally. See .claude/env.local.example for the shape.

Start at README.md, then docs/architecture.md.
2026-07-27 18:50:32 +02:00

53 lines
2.3 KiB
Diff

diff --git a/private/priv_app_all.te b/private/priv_app_all.te
index 49cbc8fc1..de1e0dfa6 100644
--- a/private/priv_app_all.te
+++ b/private/priv_app_all.te
@@ -174,6 +174,9 @@ get_prop(priv_app_all, incremental_prop)
# allow privileged apps to read the device config flags.
get_prop(priv_app_all, device_config_aconfig_flags_prop)
+# Helpdesk: the patched Dialer reads its backend config (ro.helpdesk.* / persist.helpdesk.*)
+get_prop(priv_app_all, helpdesk_prop)
+
# allow privileged apps to read boot reason property
get_prop(priv_app_all, system_boot_reason_prop)
diff --git a/private/property.te b/private/property.te
index 384cd3c06..e3e65b5cb 100644
--- a/private/property.te
+++ b/private/property.te
@@ -1,5 +1,7 @@
# Properties used only in /system
system_internal_prop(adb_timeout_prop)
+# Helpdesk backend config (ro.helpdesk.* / persist.helpdesk.*) — read by the Dialer (priv_app), set by shell (dev)
+system_internal_prop(helpdesk_prop)
system_internal_prop(adbd_prop)
system_internal_prop(adbd_tradeinmode_prop)
system_internal_prop(aiseal_prop)
diff --git a/private/property_contexts b/private/property_contexts
index df2d360c0..88ac9d761 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -88,6 +88,8 @@ persist.pcc.audit_mode.batching.max_batch_size u:object_r:pcc_audit_mode_client
persist.pcc.audit_mode.batching.flush_time_ms u:object_r:pcc_audit_mode_client_prop:s0 exact int
persist.profcollectd.enabled u:object_r:profcollectd_enabled_prop:s0 exact bool
persist.profcollectd.node_id u:object_r:profcollectd_node_id_prop:s0 exact string
+persist.helpdesk. u:object_r:helpdesk_prop:s0
+ro.helpdesk. u:object_r:helpdesk_prop:s0
persist.sys. u:object_r:system_prop:s0
persist.sys.safemode u:object_r:safemode_prop:s0
persist.sys.tap_gesture u:object_r:gesture_prop:s0
diff --git a/private/shell.te b/private/shell.te
index 5d3cabc39..75df16511 100644
--- a/private/shell.te
+++ b/private/shell.te
@@ -108,6 +108,9 @@ set_prop(shell, userspace_reboot_test_prop)
# Allow shell to set this property to disable charging.
set_prop(shell, power_debug_prop)
+# Helpdesk: allow shell to re-point the patched Dialer at a backend live (dev/provisioning).
+set_prop(shell, helpdesk_prop)
+
# Allow shell to set this property used for rollback tests
set_prop(shell, rollback_test_prop)