MunkiSee MunkiSee
Log in Get started
Security

The safest data is the data we never collected.

MunkiSee holds a record of when your staff's machines were in use. That is sensitive, and every control below exists because of it — but the first control is the scope: there are no screenshots to leak, no keystrokes to subpoena, and no browsing history to lose, because the agent has no capability to collect any of them.

This page is written to be handed to a security reviewer. If it does not answer your question, ask us — we would rather answer it in writing.

What the agent can and cannot do

Most of this list is absence of capability rather than a setting. That distinction matters in a security review: a default can be changed by whoever holds the admin account, and missing code cannot.

What it collects
  • Whether the device is active, idle or offline, and when that changed
  • Device name, model, operating system and the signed-in user account
  • The device's own IP address and clock offset, for correct attribution across timezones
  • Nothing at all outside the tracking hours you configure — no events are written, not even "offline"
What it has no capability to collect
  • Screen contents — there is no screen-reading code in the agent and no setting to enable
  • Keystrokes. Input is sampled as a yes/no signal that something happened; the keys are never read
  • Applications, window titles, documents or websites
  • Camera, microphone, location or files
  • Anything at all when the tray icon says tracking is off

The tray icon is not optional

The agent shows a permanent system-tray icon reflecting the real tracking state, and an administrator cannot hide it. Covert deployment is not a supported configuration and not a feature request we will take — partly because it is restricted by law in several Australian states, and mostly because a monitoring tool people find out about later is worse than none.

Tenant isolation

The question behind most security questionnaires is "can another customer see my data". Ours is answered structurally rather than by a filter somebody has to remember to write.

Each tenant has its own database. There is no shared activity table with a tenant column, so a missing WHERE clause cannot leak another organisation's data — the query would have to open a different database file. Cross-tenant isolation is covered by automated tests that run on every change, including on the API and the MCP endpoint.

Tenant deletion deletes the database. When an organisation or a tenant is removed, its data store is destroyed before the row that names it is dropped, so a later tenant reusing a code cannot inherit anything.

Encryption and credentials

  • In transit: TLS 1.3 for agent, dashboard and inter-service traffic. HSTS on the web tier. On self-hosted installs the client installer enables TLS by default and pins the server certificate.
  • At rest: AES-256 on the managed cloud, including backups.
  • Passwords: salted hashes, never stored or logged in the clear. Minimum ten characters with mixed classes, plus a dictionary and common-pattern check that rejects passwords which pass the character rules but are still guessable.
  • API tokens and session identifiers: hashed at rest. A copy of the database is not enough to impersonate anyone.
  • Third-party secrets: SSO client secrets are encrypted in the tenant database rather than stored as configuration.
  • Sessions: secure, HTTP-only cookies; every signed-in device is listed in the dashboard and can be revoked individually.

Who can sign in, and to what

Three tiers of account exist, with deliberately different rules. The further an account sits from your data, the stricter they get.

MunkiSee staff

Multi-factor authentication is mandatory and cannot be turned off by policy or by the account holder — an un-enrolled staff account is blocked from every administrative route until it enrols. Production access is limited to named operators and every administrative action is audit-logged. Staff accounts do not have single sign-on: there is no external identity provider in the path to our control plane.

Your organisation's owners

Set when the tenant is created and invited by email. MFA is mandatory here too — a new owner must enrol before any tenant resolves, so there is no window in which the account with the most authority is protected by a password alone.

Your dashboard users

Invited by an owner, by email or by a one-time setup link. MFA is self-service and encouraged rather than enforced, because this tier is where a locked-out user costs you a working day. Single sign-on is available and configurable by your Admin role: Microsoft Entra ID, Google Workspace, Okta, any OpenID Connect provider, or SAML 2.0.

Permissions are per-area rather than a single admin flag — reports, settings, user management, monitoring configuration and backups are separate grants, and API tokens are scoped to the same areas with read and write split.

Audit and accountability

Administrative actions are written to a durable, searchable audit log — including the changes people most want to be able to prove later: who widened the tracking hours, who turned on out-of-hours monitoring and confirmed it, who deleted activity, who added or removed a user.

Some entries cannot be cleared. The audit log has a purge for routine noise, but records of account recovery and of monitoring-scope changes are exempt from it, so the trail that matters in a dispute cannot be tidied away by somebody with dashboard access.

Enrolment is controlled from your side: an optional device approval queue holds new machines until an administrator accepts them, and a blocked-device list refuses named hostnames outright, including machines that were previously enrolled and deleted.

Recovery, backups and retention

Locked out. Every install is issued single-use recovery keys, verifiable offline, so a self-hosted customer with no reachable administrator is not dependent on us being online to get back in. A recovery session is scoped to resetting one password and then burns itself, and using one writes an audit entry that cannot be deleted.

Backups. Scheduled archives with configurable retention, optionally protected by a passphrase you hold — so an archive that leaves your control is not readable by whoever finds it.

Retention. Detailed activity is kept for the period your plan allows, and you can configure it downward. Past that boundary the raw events are rolled into hourly summaries and deleted rather than archived: trends survive, the minute-by-minute detail does not linger, and deletion means deletion.

Where your data lives

Managed cloud. Hosted in the region agreed at signup, in a database dedicated to your organisation. Our sub-processors are named in the Data Processing Agreement — infrastructure, Stripe for billing (billing contact and invoice data only, never activity data), and a transactional email provider for invites and reports. You are notified in advance of any addition, with a right to object.

Self-hosted, on Enterprise. Activity data never leaves your infrastructure and we have no access to it whatsoever. The only thing a self-hosted install exchanges with us is licence state and seat counts — no activity, no user names, no device names. Offline builds are available for air-gapped sites, where even that exchange is replaced by a signed licence bundle.

If data residency is an absolute requirement rather than a preference, the self-hosted deployment removes the question rather than answering it.

How it is built and run

Continuous integration runs the full test suite on every change, including the measurement pipeline and the cross-tenant isolation checks. Dependencies are tracked and updated; production access is segregated and limited to named operators.

Service health is published on the status page. Incident response follows internal escalation runbooks, and our breach-notification commitments — notice without undue delay, in time for you to meet your own statutory deadlines, with the detail regulators require — are contractual, in clause 8 of the DPA.

Certifications, and what we will not claim

MunkiSee does not currently hold ISO 27001 or a SOC 2 report. We would rather say that plainly here than have you find it out in week three of a procurement cycle. The controls described on this page are real and we will evidence them; an audited attestation of them is not something we have today.

What we do provide: completed security questionnaires, the named sub-processor list with entities and regions for your tenant, the DPA with Standard Contractual Clauses where relevant, and the audit rights in clause 10 of the DPA — including inspection, satisfiable by third-party attestation where an inspection would touch another customer's data.

Reporting a vulnerability

If you believe you have found a vulnerability in MunkiSee, tell us through the contact form and mark it as a security report. We aim to acknowledge within two business days and will keep you updated until it is closed.

We ask for reasonable disclosure: give us a chance to fix it before publishing, do not access or modify data belonging to anyone else while testing, and do not run denial-of-service or social-engineering tests against us or our customers. We will not pursue action against anyone who reports in good faith within those bounds. We do not currently run a paid bounty programme, and we will credit you if you would like us to.

On this page
Documents

Security review under way?

Send us your questionnaire. We answer them ourselves, in writing, and we will tell you where the answer is "not yet".

Contact us

Last reviewed August 2026. This page describes the current implementation and is kept in step with it; where a commitment is contractual rather than descriptive, the DPA and Terms of Service are the binding version.

The shortest privacy review is the one with nothing to review.

14 days, no seat limit, no card. Hand the scope list above to your staff and see how the conversation goes.

Start a free trial Talk to sales