UploadFrom the contractor’s own link, the portal, or by an administrator on their behalf. The same evidence, whichever route it came in by.
ExtractionTesseract locally or AWS Textract, or a bundled extractor where neither is available. Extracted fields are suggestions on a review screen.
ReviewApprove, or decline with a reason. The decline is the message that tells the contractor what to upload again. An approval is silent, because the portal already shows it.
ExpiryCaptured at review and monitored from then on. Warnings go out before the date, not after it, and an expired document can hold a barrier release.
Document groupsWhat a trade needs, plus what a particular site needs on top. Changing a requirement notifies the people it now applies to.
Where it livesApproved documents can be mirrored into a SharePoint document library, and removed from it again when the retention policy disposes of the original.