
What Countersign does
Countersign answers one recurring question: can you prove everyone was told? You share a document, notice, policy or link from your WordPress admin, decide who it goes to, and each person confirms they’ve been made aware of it. Every confirmation is logged with a date and the exact wording they agreed to, and you can export the whole register at any time. It’s designed to be effortless for the people acknowledging — no accounts, no passwords, just a personal code and one tap.
Sharing
- Share a title plus an optional note, an optional external link (e.g. a SharePoint or Drive location), and an optional private file attachment.
- Target each item to everyone or to specific people — each person sees only what’s addressed to them.
- Write your own acknowledgement statement per item (what the person is confirming), or use the sensible default.
- An overview screen shows every shared item with an “acknowledged / total” count and the names and timestamps of who has confirmed.
Acknowledgement (the person’s view)
- A single shortcode,
[countersign], turns any WordPress page into the acknowledgement page. - People enter their personal access code, see only their items, open or download any files or links, and confirm with a clear confirmation step.
- The code is remembered for the session, with a “Switch” option to clear it.
People & access codes
- Maintain a roster; each person gets a unique access code (8+ characters, letters and numbers, not case-sensitive).
- Set the length of auto-generated codes, assign a custom code, regenerate a code, or copy one to the clipboard in a click.
- Remove someone and their code stops working immediately, while their past records are kept.
Audit trail
- Every acknowledgement is recorded with the person’s name, the item, the date and time, the exact statement confirmed, the code used, the IP address and the device (browser user-agent).
- One-click CSV export of the full register for your own records or audits.
Security & privacy (self-hosted by design)
- All data lives in your own WordPress database and on your own server — nothing is sent to a third party.
- File attachments are stored in a protected folder with unguessable names, never in the public Media Library. People receive a signed link that expires after one hour and is verified against their code and the item’s recipients before the file is served.
- Uploads are type-checked and rejected if the real file type can’t be verified.
- Access-code attempts are rate-limited per IP with a short lockout to slow guessing.
- Fonts use the visitor’s own device by default — nothing loads from Google unless you switch it on.
- The admin area is protected by your normal WordPress login.
Make it yours
- Customise brand colour, text colour, page and card backgrounds, the “awaiting” status colour, and heading/body fonts, with a live preview and one-click reset.
- The look applies to both the acknowledgement page and the admin screens.
Translation-ready
- The entire interface is translatable, with a
.pottemplate included so you can localise it into any language.
What’s included
- The complete plugin, ready to install via Plugins → Add New → Upload.
- Built-in setup and usage notes, full changelog, and the translation template.
- Licensed GPLv2 or later.
Requirements
- A self-hosted WordPress site (wordpress.org), not WordPress.com.
- For attachment uploads, PHP’s
fileinfoextension is recommended so document types verify correctly.
Changelog:
Version 1.0.0
Initial release
- Share documents, notices and links (guidelines, SOPs, etc.) with your team.
- Per-doctor access codes — doctors sign in with a code, no WordPress login needed.
- Recipient targeting: send to everyone or to specific doctors; each doctor sees only what is addressed to them.
- One-tap acknowledgement of receipt with a confirmation step.
- Audit trail of every acknowledgement (name, item, date, statement) with CSV export.
- "Shared" overview showing acknowledged-of-total counts per item.
- Admin area protected by the normal WordPress login; doctor page added via the [countersign] shortcode.
Version 1.1.0
Appearance settings
- Added: Appearance tab to change colours (brand, text, page and card backgrounds, "awaiting" status colour) and heading and body fonts.
- Added: Live preview that updates as you choose colours and fonts.
- Added: Reset to defaults option.
- Changed: Colour and font choices apply to both the doctor-facing page and the admin screens for a consistent look.
Version 1.2.0 — 24 June 2026
Security & private attachments
- Added: Uploaded files are now stored in a protected folder instead of the public Media Library, with randomised, unguessable filenames.
- Added: Doctors receive a signed, time-limited download link (expires after one hour) rather than a direct file URL. Every download is verified against the doctor's access code and the document's recipient list before the file is served.
- Added: Upload restrictions — only common document and image types are accepted; script and executable files are rejected.
- Changed: File handling moved off the Media Library; the share form now uploads directly into the protected store.
- Changed: Removing a shared item now also deletes its stored file from the server.
- Maintenance: Database updates automatically on activation to support secure file storage.
Version 1.3.0
- Flexible access codes
- Added: Set the length of auto-generated codes (4–16 characters) from the Doctors tab.
- Added: Give any doctor a custom access code, either when adding them or later via "Change code".
- Added: Regenerate a random code for an existing doctor, and a Copy button next to each code.
- Custom codes accept letters and numbers (4–20 characters), are not case-sensitive, and are checked to be unique before they are saved.
- Maintenance: Added an author link to the plugin header.
Version 1.4.0 — 25 June 2026
Hardening, translation readiness & privacy = Security :
- Per-IP rate limiting + short lockout on access-code attempts.
- Minimum access-code length raised to 8 (existing shorter codes still work).
- Uploads rejected if the real file type can't be verified (no extension fallback).
- Fixed :
- "Specific doctors" with none selected no longer silently shares with Everyone.
- Audit :
- Each acknowledgement now records code used, IP address and device (user-agent), shown in the Audit tab and CSV export.
- Privacy :
- Google Fonts off by default; system fonts used unless enabled in Appearance.
- i18n :
- All interface text translatable; languages/countersign.pot included.
- Admin :
- New "Advanced" tab: opt-in "delete all data on uninstall" + security/privacy notes.
- Added uninstall.php to remove tables, options and private files when opted in.
Only logged in customers who have purchased this product may leave a review.
SYS-TECH supports this product Supported
Product support includes:
- ✔ The seller will answer product related questions
- ✔ Assistance with reported bugs and issues
- ✔ Help with included third-party assets
However, product support does not include:
- ✖ Customization services
- ✖ Installation services

Reviews
There are no reviews yet.