Today StaffCounter is the first solution in the world that offers End-2-End Encryption (E2EE). All of the data captured from employee’s computers will be encrypted and decrypted only for account owner. Since this update, we hope to start an innovation for the entire industry of computer surveillance. The employee’s productivity data captured from end-point devices will be encrypted before transfer to our cloud service. The main difference with SSL encryption is that data still kept encrypted when it reaches StaffCounter cloud storage and further, it kept encrypted even in all types of running instances of the database, execution contexts, and processing algorithms within our cloud servers. When you login into your account the data is delivered to the web browser in initial encrypted form and being decrypted on-the-fly right in Web Browser page by using the Java-Script program and encryption features of the browser. Here we explain how to update or install new StaffCounter agent software and set up E2EE encryption feature.
We would like to announce that “End-2-End Encryption” feature is published now and available in experimental mode for new user accounts. The E2EE in StaffCounter is similar with Homomorphic encryption because it permits system to perform computations on its encrypted data without first decrypting it. In this case, the computations are sorting and aggregation. As any other time-tracking solution StaffCounter record the frequency and duration of each application, document and web site opened by the employee, calculate the time spent for each item, and then sort the results for reports. This allows visualizing employee productivity for better analysis. But now, the architecture of E2EE in StaffCounter allows to protect the employee name, and its productivity content from the StaffCounter server itself, since the content is encrypted always.
In order to try the E2EE feature, you need to download the new StaffCounter Agent v. 9.2 for Windows with “End-2-End Encryption” support and follow the step described below.
According to our “End-2-End Encryption” architecture, an encryption link is created between employee computers and the web browser where account owners browse employee dashboard reports. The link is abstract since there is no direct data transfer between computer and web browser instance, but these two parts are the only elements in the encryption chain. All existing solutions such as Timedoctor, ActivTrak, Desktime, Workpuls , ActivityWatch etc, also employ encryption during data transfers from computers to cloud servers, while storing the data inside the server or backup storage. But these operations are separated and exist many points when your data processed in clear form. In Staffcounter solution, there are only two points when your data is in the clear form: employee’s computers memory, and the web browser memory of the account manager. Since you own these two points, there is a strong privacy exposure barrier and StaffCounter vendor can not break it.
Enable Encryption settings
Visit profile section and click “Enable Encryption”. Please note this option will not affect existing devices and data for your account.
Click Backup Keys to download the backup file for your Master Encryption Key. This will allows you to access your data in offline mode and also restore the access to your account in case you forgot the password.
Install new StaffCounter Agent
For Update – just reinstall StaffCounter over the existing version. For fresh install – Install it and open StaffCounter in order to connect it to your account. Learn more how to connect it .
When the device is added – it will start to upload only anonymous data about employee productivity in plain form, until you confirm the encryption for it, in the account profile, described in the next chapter.
Confirm new devices with encrypted data
After a successful update or installation of the new StaffCounter Agent application, you need to visit Dashborad again. You should see the notice to Confirm new devices with encryption support. Follow confirmation link>
On the Profile page – Encryption section – check the new device and click Confirm Encryption.
Done. Within an hour the confirmation will be received by StaffCounter agent app on the computer and it will start collecting and encrypting all productivity data according to the settings.
Browse encrypted dashboard and reports
You will notice no many changes in your Dashboard and report despite all information is encrypted. This is possible with on-the-fly decryption process right in Web Browser thanks to Web Crypto API standard available in the majority of browsers like Chrome, Firefox, Opera, Safari and others. The specially developed Java Script code works in the web browser and constantly decrypts all encrypted strings within a web page content returned by StaffCounter service.
How does E2EE affect time tracking, productivity categorization and productivity alerts functionality?
Time tracking, productivity reports will work in the same way, but productivity rules needs to be re-assigned.
In fact, the encrypted opaque data have an identical structure as clear text data. For example, before encryption StaffCounter uses the string “winword.exe” or “gmail.com” to calculate the total time spent in the application and assign the productivity category.
After encryption is Enabled, StaffCounter uses the tokenized strings that are looking as “w6Wd4SSxgK9EqmHuR4EAWw==” or “UssM8UxGazi4kDxn5JDO4g==” to calculate the same total time or assign the productivity category. This is possible because a single encryption key is used to encrypt all data uploaded by computers from a certain account/organization to StaffCounter Server. So the specific application name, title, or URL address maintains the same tokenized text form within the data of a single account. This allows to process encrypted data in the same way, but with the highest anonymization and privacy level.
Encrypted email reports
All reports generated to account email will contain encrypted data. This allows the protection of confidentiality even after the data retention period in your organization. We are working to publish Web Browser plugin that will allow decrypting StaffCounter reports in any web-based email such as gmail or outlook.
StaffCounter allows downloading all data for a specific computer or department. This data includes a raw productivity log of user actions in chronological order and screenshots. With encryption enabled, this backup will be encrypted. In order to view the data you need to install SafeJKA Browser plugin.
The E2EE functionality is open source and placed within jsec.js file available online on data.staffcounte.net. Encryption is based on Web Crypto API available in the majority of web browsers and executed only in Web Browser memory. StaffCounter service helps to store and exchange Public Keys and opaque encrypted data between User account owner and computer with StaffCounter Agent application.
StaffCounter End-2-End Encryption specification in brief:
- Each user account and StaffCounter Agents installed on computers generate its own RSA key pair with 2048 bit private and public keys.
- User account owner generate random AES 256 bit encryption key referred as MasterKey.
- MasterKey is protected with user account password by using PBKDF/AES-256 intermediate key and stored in StaffCounter service as an encrypted blob.
- User account encrypt MasterKey with RSA-SHA1 and send it to computers by using StaffCounter service as an encrypted blob.
- StaffCounter Agent encrypts sensitive information in productivity data with AES-256 bit MasterKey: application name, window title, URL address, keystrokes, clipboard, chat text, document name, screenshots, camera-shots, voice data. Meta-data such as the type of action, time, and duration are stored in clear form.
- PBKDF key derivation used to protect user account password and generate intermediate encryption keys.
- User account password is never transferred to StaffCounter server in clear form.
- Once enabled, data encryption can not be disabled in StaffCounter account and Agent applications.
StaffCounter service does not perform crypto operations and store only public keys or opaque encrypted data. We are working to continue improvements to allow user account owners to store MasterKey and respective RSA SecretKeys only in the browser memory of the trusted computer. Currently, we are working under SafeJKA plugin for Web Browsers that will implement strong authentication and encryption ownership principle.