Security and data handling
The first question any industrial customer asks is where the screenshots go and who can see them. This page answers it directly. Everything here is a description of what the code does, not a promise we hope to keep.
What is uploaded
Three kinds of photograph: trend screens, controller faceplates, and nameplates. They are the inputs the analysis works from.
What those images can contain
Whatever is on the screen you photograph. Typically that is loop tag names, setpoints, alarm limits and the current process value — and sometimes a plant or unit name in the corner of the display. If it is in the picture, it travels with the picture. Frame the screen so it shows only what you need.
How images are stored
Uploads are signed server-side and stored as authenticated assets, not public files. A photograph of a plant console has no business at a publicly guessable URL, so delivery uses signed authenticated URLs. There is no directory to browse and no way to read an image without a signature we issued for a specific request.
Which processors touch them
- Vision API — the photographs are sent to a commercial vision API on a paid tier for analysis, and what comes back is structured text, not an image. The provider is named in our privacy policy.
- Cloudinary — stores the photographs as authenticated assets.
- Resend — sends email, so it handles your address and any message we send you, not your photographs.
- PayPal — processes payment. Card details never reach this application.
- Hetzner Online GmbH — hosts the application.
Whether your images train a model
Uploaded images are processed by a commercial vision API on a paid tier, under terms that prohibit the provider from using customer data to train its models. The provider is named in our privacy policy.
How long images are kept
Uploaded images are kept while your account is open. There is no automatic deletion schedule yet. To have your images and records removed, email [email protected] and we will delete them.
How to have data deleted
Deleting a loop removes its records — the configuration, the sessions and the reports — from our database, and deletes its photographs from storage at the same time. A plant goes once its loops are gone. For anything not tied to a loop, write to support and we will delete it.
What is never uploaded, and what PIDSnap is not connected to
PIDSnap has no connection to any control system, in either direction. It cannot read a DCS or historian, and it cannot write a value to a controller. The loop's tuning values are not scraped from anything — you type them, and the intake form asks you to confirm them before they are used. The deterministic engine that computes every tuning value never receives a photograph at all; photographs only reach the vision model that reads shapes out of them.
Accounts and passwords
Passwords are hashed with argon2 and are never stored in a recoverable form. Sessions are server-side and can be revoked, so signing out actually signs you out everywhere the session was used.
Payments
Checkout happens on PayPal's own pages. We receive a confirmation that the payment completed, not a card number.
Reporting a problem
If you have found a security issue, write to [email protected] with "Security report" in the subject.