Share a model without moving it to the cloud
Use a narrow, expiring PrintStash link for model review while keeping the rest of a self-hosted library private.
Emailing an STL works when the other person only needs the bytes. It works less well when they need to check a preview, compare G-code revisions, or read the note explaining why one slice is preferred.
A PrintStash share link exposes one model page from your own server. The recipient does not need an account, and the model does not have to be uploaded to a marketplace or hosted library.
Keep the shared surface small
The public page is separate from the authenticated application. It receives a restricted model projection instead of a normal logged-in API response. The recipient cannot browse collections, search for other models, inspect print history, or change anything.
File downloads are optional and disabled by default. A view-only link can still show a mesh or G-code preview and the metadata needed for review. When several G-code revisions exist, you can expose all of them or select a subset.
This is useful for:
- asking a client to check a part before a batch is printed;
- sending one known-good revision to another hobbyist;
- letting a collaborator inspect dimensions and notes without creating an account;
- showing a finished model page with more context than an attachment provides.
Treat the URL like a temporary password
The token is long and random, stored as a hash, checked on every request, and limited to one model. It also expires and can be revoked immediately.
Those controls do not stop a recipient from forwarding the URL. Pick an expiry that matches the work, enable downloads only when necessary, and revoke the link when the review is finished. For continuing access to a collection, create a user and assign a view role instead.
Make the server reachable safely
A link from http://192.168.1.20:3000 only works on your LAN. To share it outside the house, the recipient needs a safe route to the server.
For known collaborators, a VPN can keep PrintStash private. For a normal public hostname, use the production Compose file behind a reverse proxy with TLS. Do not publish the API container directly. The reverse proxy guide covers the required layout.
The step-by-step expiring link guide shows the current options and revocation flow.