Versioning is the point
Every policy carries a version number. When you materially change a published policy, the version increments, and acknowledgements are recorded against the version that was current at the time. An employee who acknowledged v1 of the expense policy has not acknowledged v2 — the system knows the difference, and shows you who is outstanding.
Policies move through draft → published → archived. Drafts are invisible to employees, so you can prepare a revision without anyone acknowledging a document you are still editing. Archiving retains the policy and its acknowledgement history rather than deleting it.
Content
A policy is either written directly in the system or uploaded as a PDF. PDFs are served through an authenticated route and rendered inline, so employees read the document in the portal rather than downloading copies that then circulate out of date.
Acknowledgement
Policies flagged as requiring acknowledgement present an explicit confirmation to the employee. The record stores the policy, the version, the employee and the timestamp. Nothing else — this is evidence, not analytics.