Upload and validation
The type of a file is decided from its first bytes rather than its extension. The server generates the name, because a name supplied by the user both collides and can carry a path.
Document management usually starts as a folder. Two years later nobody can say who uploaded what, which copy is current, or who is able to open it.
We keep a document as part of the record it belongs to rather than as a file on its own. It sits under the customer, the patient or the order, and it inherits the permissions of that record.
Talk to us about thisThe type of a file is decided from its first bytes rather than its extension. The server generates the name, because a name supplied by the user both collides and can carry a path.
Who agreed to what, when, and against which wording is kept as its own record. The version they agreed to is stored alongside the consent itself, because the wording changes later.
A new copy of a document does not overwrite the old one. Which version applied at which point stays visible, and that is the place to look when a query comes back later.
Files do not sit in a directory the web server hands out. Every download goes through the application and permission is checked there, otherwise anyone who knows the address can open the file.
How long each type of document is kept, and how it is removed, is written down at the start. A document kept forever eventually becomes a liability.
For sensitive documents reads are logged as well as changes. When a leak is suspected, the question to answer is who had access.
Permitted types are defined as a list at the start and everything else is refused. Images can also be re-encoded on upload, which both strips embedded content and removes the location data held inside a photo.
A consent record and a legally binding electronic signature are different things. The system records who approved what and when. If a legally valid signature is required, that goes through an authorised provider and is planned as separate work.
Either on your own server or on one we manage. Where special category data such as health or identity documents is involved, access is role based, the retention period is written down and a deletion path exists.
They can be migrated, but the real work is not moving the files. It is working out which record each one belongs to. If the folder structure is inconsistent this becomes the longest part of the project, so we measure it up front.
This page covers one topic. The full scope and pricing live on the related service page.
We move sites weighed down by WordPress and Elementor to a static build without touching the design. The plugin stack and the update burden disappear.
A slow site loses visitors before it appears. We measure and cut image, font and JavaScript weight. Fast is a measurement, not a feeling.
Sites that work with a screen reader, with a keyboard and with low vision. Accessibility is both a legal requirement and a way to stop losing visitors.