ProofCanvas
Client proofing for designers: private galleries for images, 3D models and boxes folded from flat dielines.
Version 1.0.0 · Requires WordPress 6.2+ and PHP 7.4+
Quick start
- Install: Plugins → Add New → Upload Plugin → choose
proofcanvas.zip→ Install → Activate. - Create the client page: ProofCanvas → Settings → Create client page. Every client's private link opens on this page.
- Add a client: ProofCanvas → + New Client. Enter their name, click Generate for a password, copy it, and save.
- Add a proof: + New Proof → choose the client → pick Image, 3D Model or Box from Dieline → add the file → write what you changed → save.
- Share: open the client, click Copy link, and send the link and password to your client.
Clients & links
Each client has their own gallery, private link and (optionally) password. A client only ever sees their own proofs.
| Setting | What it does |
|---|---|
| Password | Stored encrypted. It cannot be shown again after saving. Type a new one to change it; changing it signs the client out. |
| Require password | Off = anyone with the link can view. On = the client must enter the password. |
| Send requests to | Optional email address for this client's notifications. Leave blank to use the default from Settings. |
| Sign out everyone | Ends every open session for this client's link. |
| Replace private link | Creates a new link; the old one stops working immediately. Use this if a link was shared with the wrong person. |
You can also show one client's gallery on any page with [proofcanvas client="ID"]. The client ID is in the address bar when you edit that client.
Proofs
A proof is one design you want approved. Each proof has a client, a name, a type (Image, 3D Model or Box from Dieline), "Changes made" notes and a status:
- Awaiting Review: new or updated, waiting for the client.
- Changes Requested: set automatically when the client asks for changes.
- Revised: set this after you update the design; it also marks that proof's open requests as done.
- Approved: set automatically when the client approves.
Image proofs open in a full-screen viewer with zoom (mouse wheel, pinch, click), drag-to-move and swipe between images.
3D models
Choose 3D Model and upload a .glb, .gltf, .obj or .stl file. Optionally add a preview image for the gallery thumbnail.
Colors look dark or washed out? Lower the material's Metallic value in your 3D tool; very metallic surfaces reflect their surroundings instead of showing their own color.
Box from Dieline BETA
Turn a flat tuck-end carton dieline into a 3D box your client can spin and fold.
- Choose Box from Dieline and add the flat dieline image (JPG or PNG).
- ProofCanvas detects the four walls, the folds between them, the front panel and the top and bottom lids automatically.
- Check the outlines in Box Setup: green = front, blue = other walls, orange dashed = lids. Drag a line if it is off.
- Optional: enter the real box height in mm to see all dimensions.
- Click Preview Box to watch it fold, then save.
Extra pieces on the same sheet
If your dieline sheet also carries wrap labels (for example for a tube or cylinder that ships with the box), ProofCanvas finds them and shows them standing next to the box in the same 3D view. Choose Open tube (with base), Closed cylinder or Top cap for each piece, and enter the label size from your dieline (around + glue overlap) for an exact wrap.
Client requests
When a client approves or requests changes you get an email, and the request appears under Requests and on the proof itself. Mark requests Done when handled, or set the proof to Revised to close them all.
Settings & branding
| Setting | What it does |
|---|---|
| Client page | The page with the [proofcanvas] shortcode that private links open on. |
| Send client requests to | Default notification email (falls back to the site admin email). |
| Keep clients signed in for | 1, 7 or 30 days. |
| Branding | Your logo and accent color on the login screen and gallery. |
| Remove all data on delete | When on, deleting the plugin removes clients, proofs and requests and moves protected files back to the media library. |
Security
- Client passwords are stored as secure hashes. Sessions use signed, HttpOnly cookies.
- 5 wrong passwords from one IP = 15 minute lockout. Every attempt is shown in the Access Log (Settings).
- Proof files are moved into a private uploads folder that blocks direct access, and are only served to viewers allowed to see the client who owns them.
- Proof files are hidden from the WordPress media REST API and attachment pages; the client page is excluded from search engines.
- Use HTTPS. The Security panel warns you if your site is not on HTTPS.
Nginx-only hosting: the private folder's .htaccess rule is ignored by Nginx. The folder name is long and random, so files still cannot be guessed, but you can add a deny all rule for /wp-content/uploads/proofcanvas-private-* for full protection.
Caching
ProofCanvas tells caching plugins and browsers never to cache the client page. Some host-level caches ignore that; if a client sees an old version, exclude the client page in your caching plugin or host panel and clear the cache once after updating ProofCanvas.
Translating
All text uses the proofcanvas text domain. A template is included at languages/proofcanvas.pot. Translate it with Loco Translate or Poedit and save proofcanvas-xx_XX.mo in wp-content/languages/plugins/.
Developer hooks
| Filter | Use |
|---|---|
proofcanvas_capability | Capability needed to manage proofs. Default edit_posts. |
proofcanvas_notify_email | Change the recipient of a request email. Receives the address, client and proof. |
proofcanvas_client_ip | Return the visitor's real IP behind Cloudflare or another proxy. |
FAQ
Do clients need a WordPress account?
No. They open their private link and enter the password if you require one.
Can one client see another client's proofs?
No. Each link only shows that client's gallery, and files are only served to viewers allowed to see the client who owns them.
I lost a client's password.
Passwords cannot be recovered. Open the client, type a new password and save, then send it to them.
Credits
3D viewer built with three.js (MIT License), bundled in assets/vendor/three/.
Website: proofercanvas.com · Support: contact us through the CodeCanyon item page.