#agent permissions
##Read-only by default
A freshly enrolled agent cannot change anything. It reports state and waits. That is not a hardening setting you have to find; it is the install.
The agent opens no listening port and accepts no inbound connection. It polls out over TLS. There is no path from the internet to a device through it, because there is nothing on the device to connect to.
##What the agent reads
The complete list, not a summary of it.
| Category | Collected |
|---|---|
| Identity | Hostname, serial number, model, manufacturer, platform and build number |
| Hardware | CPU, memory, disk size, disk health counters, battery cycle count, network interface names and MAC addresses |
| Software | Installed package names and versions as the platform's own inventory reports them |
| Patch state | Installed and missing updates with their vendor severity |
| Licence | Product keys and activation state only where the vendor exposes them locally |
| Session | The signed-in account name, to attribute the device to a person. Not what that account is doing |
| Reachability | Check-in timestamps and uptime |
File contents are never read. The agent sees that a package is installed; it does not open the files that package created.
##What it never does
These are not disabled defaults. The code to do them does not exist in the agent, which is a materially different claim and the one worth making.
- No screen recording or screenshots. No screen capture API is linked.
- No keystroke logging. No input hook is installed.
- No clipboard access.
- No personal file access. Documents, photos, downloads and desktop contents are not enumerated or read.
- No browser history, bookmarks or saved credentials.
- No camera or microphone.
- No location or geolocation, including for a device flagged as lost.
- No network traffic inspection. No packet capture, no TLS interception.
- No remote desktop and no remote shell. There is no mechanism to get a prompt on a user's machine.
- No productivity or activity scoring. Idle time is not reported.
Tell your staff this, in writing
The list above is deliberately quotable. Rolling an agent out without saying what it does creates a suspicion that is far more expensive than the rollout. A short note on the day, naming what is read and what is not, settles it.
##Approved actions
An action is a named, bounded operation on a named device. It requires an admin approval that states the scope before it exists, and it expires if not approved.
action service.restart target desk-04 # this device only parameter spooler # this service only requested by ticket #2231 suggestion approved by ravi.k · 18 Sep 2026 09:21 IST expires 15 minutes if unapproved state before spooler: running, queue 14 jobs state after spooler: running, queue 0 jobs result ok · 1.2s
###The action catalogue
There is a fixed list. An admin cannot write an arbitrary command, and neither can we - which is the control that matters, because it means the worst case is bounded by this list rather than by imagination.
- Restart a named service
- Clear a print queue
- Install an approved patch from a vendor channel
- Uninstall a named package
- Restart the device, within its maintenance window
- Revoke identity sessions for a named account
- Disable or re-enable an account in the linked identity provider
- Run a named, read-only diagnostic and return its output
No arbitrary scripts. No file transfer to a device. If something is not on this list, the answer is that a person does it with their own hands and records what they did.
##The audit log
Every approval, every action, every declined suggestion and every permission change is recorded with the actor, the time and the device state either side. The log is append-only and visible to admins in full.
Nobody can delete an entry, including us. Correcting a mistake means adding a record, not removing one.
18 Sep 09:21 ravi.k approved service.restart · desk-04 · spooler
18 Sep 09:34 ravi.k declined patch KB5062553 · sensitive ring
reason: month-end, revisit 02 Oct
18 Sep 11:02 meena.r changed priority #2240 low → medium
18 Sep 18:04 ravi.k approved identity.revoke · arjun.m · all sessions
19 Sep 09:12 system closed leaver checklist · arjun.m##Data handling
- In transit: TLS 1.3, certificate pinned in the agent. An intercepting proxy will stop the agent reporting rather than let it report through.
- At rest: AES-256 on the database and on backups.
- Region: chosen at workspace creation and fixed after it. Data does not move between regions, including for support.
- Export: everything, at any time, as CSV and JSON - devices, tickets with full history, licences, patch records, the audit log.
- Retention: on cancellation the workspace is readable for 30 days, then deleted - backups included - within a further 30.
- Support access: our staff cannot read your workspace. Access needs a written request from an admin, is scoped to a time window, and appears in your audit log as it happens.
##Who inside your workspace can see what
| Role | Can see | Can approve |
|---|---|---|
| Requester | Their own tickets and their own assigned devices | Nothing |
| Operator | All tickets, all devices, licences, patch state | Only what an admin has delegated, by category |
| Admin | Everything, including the full audit log | All actions |
| Client read-only | Their own org's tickets and device summary | Nothing |
##Limits
Limits - what this does not do
- This is not endpoint protection. It inventories your antivirus and reports its state; it does not detect or block threats.
- Not a remote access tool. There is no screen sharing and no remote shell, so an incident still needs your own remote support tooling.
- Not a backup product. It records whether a backup agent is installed and reporting, not whether your data is recoverable.
- Not a DLP or monitoring product. It cannot tell you what a person did, by design, and no setting changes that.
- Certificate pinning means TLS-inspecting middleboxes will break agent reporting. Allow the agent host to pass through unaltered.
