20-20-20 Vision for Workplaces · last updated 03/09/2026
Everything an application-control, endpoint-protection or firewall policy needs, on one page. It is written to be forwarded to whoever manages your endpoints without you having to edit it.
This describes the 20-20-20 Vision for Workplaces edition, which is the one deployed across company-owned machines. The Free and Pro editions differ and are not covered here.
A desktop reminder that prompts people to look away from their screen periodically, for eye strain. It is a tray application. It does not capture the screen, read documents, record input, or watch what anybody is doing.
| Publisher | 20-20-20 VISION LTD, registered in England and Wales, company no. 17357658 |
|---|---|
| ICO registration | ZC265169 (UK Information Commissioner's Office) |
| Application id | com.eyerest.app.teams |
| Installer | Per-machine MSI, x64 |
| Install path | %ProgramFiles%\20-20-20 Vision Teams\ |
| Runs as | The signed-in user. No service, no scheduled task, no driver |
| Elevation at run time | None. It never asks for it and never needs it |
The application id, the install path and the file names below still read
Teams. That was this tier's previous name; the product is now
20-20-20 Vision for Workplaces, but the strings the build itself uses have not changed
yet, and an allowlist rule has to match what is on disk rather than what the product is
called. When a release changes them, this page changes with it.
| File | What it is |
|---|---|
20-20-20 Vision Teams.exe |
The application: the tray icon and its window. |
eyerest-detect.exe |
Detection helper. Reports whether a camera or microphone is in use, or an application is fullscreen, so a reminder does not interrupt a call or a presentation. |
A small unfamiliar executable launched by a larger one is the kind of thing application control is built to stop, so it is worth setting out what this one does.
It is a precompiled, self-contained executable. It runs no scripts and loads nothing at run time, which is what lets it work under Constrained Language Mode where script-based tools do not. The application launches it at startup, it runs for the life of the session, and it talks to its parent over standard output.
It makes no network connections at all, opens no files, and writes
nothing. It reads two things and only two: the per-application camera and microphone
consent keys under HKCU, and the media session state Windows already
exposes for whatever is playing. That is how "someone is on a call" is answered without
touching a camera, a microphone or a file.
One outbound destination. Nothing else.
| Host | Port | Purpose | Frequency |
|---|---|---|---|
admin.20-20-20-vision.com |
443 | Licence check-in, and adherence figures if you have enabled them | On launch, then once a day |
No other host is contacted by the Workplaces build. There is no telemetry endpoint, no crash reporter, no analytics, no update server and no content delivery network at run time.
The table above is the application. If you take the optional route of syncing one security group, a scheduled task of yours reaches the same host on the same port, from a server you choose rather than from any desktop. Details under what is sent.
If you block that host, licensing stops. The application keeps working for up to 14 days from its last successful check, or until your licence expiry if that comes first. After that it stops reminding people.
This applies to Ringfencing too. An application permitted to run but not permitted to reach its licence authority will appear to work and then quietly stop reminding anybody a fortnight later. If you use ThreatLocker or anything similar, permit that host as well as the executables. It is the single most common cause of what looks like a fault in our software.
On a licence check: an identifier for the signed-in account, the
machine name, and the application version. That is the whole request. The identifier is
the account's user principal name where the machine has one, and
DOMAIN\user where it does not - taken from whoami, not from
any directory lookup of ours.
The account identifier can be replaced with an unreadable digest by policy, if you would rather we did not hold readable account names - at the cost of making licences harder for your own administrators to manage.
Optional: syncing one security group. If you would rather not maintain the list of people by hand, you can schedule a script we generate on a server of yours that can read one security group you nominate. It posts that group's members to the same host over 443. Three things worth stating plainly, because they are what a review usually asks:
DOMAIN\user and the account SID. If you
turn on manager sync, the script also reads each member's manager attribute and, to
match that manager to somebody on your list, the manager's user principal name and SID.
Nothing about group memberships beyond the one you nominated, no department, telephone
number, job title or mail attributes, and nothing whatever to do with credentials. It is a
plain text file, so whoever runs it can read exactly what it collects before they
schedule it.It is optional. Pasting a list into the dashboard needs nothing from your directory at all, and is a perfectly good answer for a list that does not change often.
If adherence reporting is enabled, which is off unless you switch it on in two separate places: how many break reminders a machine showed in a week, how many were taken and how many were skipped. Three numbers and the week they belong to.
Nothing else goes with them: no licence identifier, no account, no machine name, no installation identifier, no timezone and no locale. We do not log the network address they arrive from. Submissions are added into a total on arrival rather than stored individually, so no per-person breakdown can be produced from them - by us or by anyone else.
What never leaves the machine, in any configuration: rest history, statistics, settings, and anything about which applications are in use. Camera and microphone detection is a yes/no answered locally; no audio or video is captured, accessed or transmitted.
Workstation checks run in the browser, not on the desktop. Nothing about them is installed, and the application above is the same whether you use them or not. What they do for health and safety and HR is on the workstation checks page.
| Where staff answer | admin.20-20-20-vision.com/check, from a link in an email. No sign-in |
| Emails come from | no-reply@20-20-20-vision.com, shown as "[Your organisation] via 20-20-20 Vision", with the reply-to address you choose |
| Who signs in | Assessors, line managers, auditors and administrators, by single-use email link to admin.20-20-20-vision.com. No passwords |
no-reply@20-20-20-vision.com.| Location | Contents |
|---|---|
%ProgramFiles%\20-20-20 Vision Teams\ |
The application. Written at install, not at run time |
%APPDATA%\20-20-20 Vision Teams\ |
Per-user settings, the licence grant, and statistics |
HKLM\SOFTWARE\Policies\20-20-20 Vision |
Your configuration. Read-only to the application |
The application reads its policy at launch and never writes to that
HKLM key. That is deliberate: it is what makes a locked setting a lock,
since the application runs unelevated and could not modify it even if it tried.
Both executables need permitting under AppLocker, WDAC, ThreatLocker, Airlock, Carbon Black or equivalent. Publisher-based rules are the ones to prefer: a hash-based rule has to be reissued at every release and generates a fresh block and a fresh approval request each time.
A default-deny product will block this application on first run, as it would any application it has not seen before. There is nothing specific to us in that, and nothing we can do from our side inside your tenant.
Our setup script is a separate question. For organisations with
neither Group Policy nor Intune, the dashboard generates a small script that writes the
configuration and calls msiexec. Application control commonly blocks script
interpreters and what they launch, so if you run ThreatLocker or similar, deploy through
your existing tooling instead. The MSI and the ADMX template are all you need; the
script is a convenience for organisations with no tooling, not the intended route for
one that has it. Both routes are set out step by step in the
deployment guide.
Does it monitor employees? No. Nothing records how anybody works: rest statistics stay on the machine and are visible only to the person using it, and adherence figures, where enabled, carry no identifier and are added into a total on arrival, so no per-person figure exists to be produced. If your organisation uses workstation checks, those are named records, because the law requires you to keep them: whether each person's workstation was assessed, what was fixed, what training they completed and whether an eye test was offered. They are compliance records, not monitoring, and they are never joined to break data.
Does it need administrator rights? To install, yes, as any per-machine MSI does. To run, never.
Does it check for updates, or phone home for configuration? No. The consumer builds fetch a small configuration document at startup; the Workplaces build skips that call entirely, which is why the network table above has one row rather than two. It never downloads anything and never updates itself - your existing tooling deploys the MSI, on your schedule. The application version is sent on the licence check, and the only thing it is used for is telling your administrators, by email, that some of their machines are behind a release you have not deployed yet.
Does it need Active Directory or Entra ID? In practice, yes. A
licence belongs to a person rather than a machine, and matching a person across their
laptop and their desk PC needs a directory-backed account: the SID, user principal
name or DOMAIN\user the machine reports. An estate of standalone machines
with local accounts has nothing stable to match on, and Workplaces is not the right product
for it.
Do users need an account with us? No. Users don't sign up, set a password or enrol in anything. A licence is picked up from the Windows account somebody is already signed in to.
Can the user uninstall it? The application can be closed by the user unless your policy says otherwise. Uninstalling requires administrator rights.
What happens offline? It keeps working for up to 14 days from its last successful licence check, or until your licence expiry if that comes first, then stops reminding. A machine that is on a network at all renews that window daily, so it only applies to one genuinely away.
Is there a data processing agreement? Yes. Your organisation is the data controller and 20-20-20 VISION LTD is your processor. Ask and we will send it. If you use workstation checks, we also give you our DPIA and a staff privacy notice template.
Technical and security questions go to dev@20-20-20-vision.com and reach the people who write the code.
If your estate enforces application control or egress filtering, tell us how it is managed and we will make sure you get a build that fits it.