The audit trail is now protected against deletion by ordinary users
Security fix
The folder holding the audit trail (C:\ProgramData\ProcessView\Audit Trails) is now protected so that ordinary Windows users cannot delete or rename the audit database. Reading, and the application's own recording, are unaffected. Why it matters: the audit trail's integrity checks detect whether records have been altered, but they cannot detect a trail that has been deleted, because the checking data is stored inside the file being deleted — a deleted audit trail is replaced by an empty one on the next start and looks like a new installation. This change closes that gap. Whether it succeeded is now visible: the audit trail configuration screen shows a Folder protection row alongside the record count, and if you switch the audit trail on while the folder is unprotected the application says so at that moment — the point at which somebody has decided to rely on the trail. It applies automatically, the first time ProcessView+ runs after updating, and on a new installation the installer applies it before the first run. Nothing is prompted and no action is required. What administrators should know: the change alters NTFS permissions on that one folder. Members of the local Administrators group and SYSTEM are unaffected and retain full control. Any tool running as a standard user that needs to delete or move files in that folder — some backup and archiving agents — will no longer be able to; a move counts as a delete. Tools that only read the folder are unaffected, as is anything running as SYSTEM or an administrator. ProcessView+ also owns that folder's permission list from now on: any entry added to it by hand is removed the next time ProcessView+ starts, and each removal is named in the startup diagnostics log and recorded in the audit trail. Grant the access on a parent folder instead, or use an identity that already has it. A README-permissions.txt file in the folder explains the same thing to whoever finds the permissions first. If the protection cannot be applied, that is recorded in the audit trail and reported on screen — treat it as a finding rather than a nuisance, because it means the trail is recording while unprotected. Reversing the protection requires an elevated command prompt, removes a control rather than adjusting a setting, and is undone again at the next start.
The FTP upload has been removed, and replaced
Security fix
Up to and including 1.37, ProcessView+ could upload a completed data file to an FTP site. It transmitted the user name, the password and the contents of the file in clear, where anyone able to observe the traffic could read them, and our secure deployment guidance had advised against using it. Rather than continue to ship it with a warning attached, 1.38 removes it — the upload, the credential screen, and the stored FTP address, user name and password. What replaces it is a copy to a folder you nominate, described under Improvements below: a local folder, a mapped drive, or a network path. Authentication is Windows', no credential is stored by the product, and the destination is protected by your own permissions. If your site was using FTP, the upload stops at 1.38 and nothing prompts anyone — set a destination folder as part of the upgrade, and check the audit trail afterwards, where each copy is recorded. In practice very few installations can have been affected: the screen for entering the FTP address and credentials was reachable only from a configuration screen superseded some releases ago, so on a current installation those details could not be entered or changed, and an installation with the option ticked was uploading to whatever an older version had left behind. If you find FTP settings in a settings file they are now unused, and the password in them should be treated as one that has been transmitted in clear.
The MQTT broker password is no longer stored in plain text
Security fix
Up to and including 1.37 the MQTT broker password was written into the settings file exactly as typed, in a directory every Windows account on the PC can read — so anyone able to open a file could read it, whatever their role in ProcessView+. From 1.38 it is encrypted with Windows DPAPI before it is written. The conversion is automatic: an existing password keeps working and is re-saved in protected form the next time the MQTT settings are saved. Two things to know. First, the boundary: the protection is tied to the machine rather than to one Windows account, because every account that runs ProcessView+ has to be able to use it — so reading the settings file is no longer enough, but running code on that PC still is. It removes the casual exposure; it does not make the password safe on a machine you do not trust. Second, and more important on upgrade: the old password has been readable in a file for as long as it has been configured, so change it at the broker rather than treating this release as protecting it retrospectively. ProcessView+ tells you so when it opens a password stored the old way. A settings file moved to a different PC loses the password by design — it can only be read on the machine that saved it — and ProcessView+ says so and asks for re-entry rather than connecting with a blank password and reporting it as a rejected login, which can lock out a broker account.
The web dashboard is no longer published to every network
Security fix
The optional web dashboard is off by default and we continue to recommend leaving it off. When it was switched on, though, it bound every network interface on the PC — on the dual-homed machine a chamber network deserves, that included the business network. From 1.38 it serves only the PC it runs on unless you tick a new box, Allow access from other computers, on the Web Server screen. If you were reaching the dashboard from another machine, it stops working at 1.38 until that box is ticked. This narrows who can reach the dashboard and changes nothing else: it is still plaintext HTTP with no authentication of any kind, so everything it shows — live readings, chamber names, profile status, alarm state — is visible to anyone who can reach the port. If you need it, restrict the port with your firewall as well. HTTPS and authentication are a separate piece of work and have not shipped.