Private portfolios
Create a Private portfolio when client work must stay off the public CDN and site builder—files upload into private storage, show a lock in the library, cannot be embedded on public pages, and reach clients only through the portal, project teams, or granted downloads.
What a Private portfolio is
ArtInStack is public-first for the CMS: the Media library and normal Public portfolios use the public CDN path so site pages, embeds, and marketing galleries stay fast to publish.
A Private portfolio is a guided create choice for client-only work. Files you upload into that collection are stored as private media (lock icon in the library). They are not meant for the public site or page editor. Clients reach them through the Client Portal, team Projects, or download flows you grant—not by guessing a public image URL.
Think of it this way: a Public portfolio is curated for people who have not hired you yet; a Private portfolio is organized for people who have.
Why Private matters for photography workflows
Many jobs should never sit on a public hostname—even if you never turn on a public portfolio page:
| Situation | Why Private helps |
|---|---|
| Client proofs before announcement | Wedding or portrait selects that must not leak before the couple shares them |
| NDA / unreleased commercial | Product, campaign, or corporate work under contract |
| High-value finals | Delivery masters you only hand off after payment or portal grant |
| Intellectual property control | You decide who may view or download; public CDN paths are world-readable if someone has the object path |
Private storage is about where the file lives and which product surfaces can use it. It is not a substitute for contracts, model releases, or license terms—those still live in your agreements and (when you use them) Portal Manager releases and Media → Documents.
What Private is not
Do not confuse Private portfolios with these other toggles:
| Setting | What it actually controls |
|---|---|
| Enable public page | Whether /portfolio/{slug} exists for visitors |
| Use as resource collection | Portal file-share packaging—not private object storage by itself |
| Portal invitation / grant | Who may open the client room |
| Older “public / unlisted / password” copy | Link visibility patterns—not the Private create path documented here |
Turning Enable public page off does not move files into private storage. Only creating a Private portfolio (and uploading into it) does.
How to create one
- Open Portfolio → New Portfolio.
- On step 1, choose Private (client-only gallery).
- Complete the remaining fields and save. Enable public page stays off for Private collections.
- Open the collection → Media tab and upload into this gallery. New files are born private (lock icon).
- Grant the collection in Portal Manager (invites / widgets) when the client should see it.
You cannot pull existing public library files into a Private gallery in the current product. Upload fresh into the Private collection. If you later need the same frames on the public site, upload (or re-upload) into a Public portfolio or the public media library.
Private vs Public is chosen at create. The edit dialog does not offer a switch that migrates storage between public and private buckets.
Lock icons and hard blocks
| Surface | Behavior |
|---|---|
| Media library | Private files show a lock |
| Page editor / CMS media pickers | Private files are hidden / not selectable |
| Page editor portfolio dropdowns | Confidential (Private) collections show a lock and are not selectable for site blocks |
| Portal Manager portfolio pickers | Lock visible; Private collections remain selectable for invites and widgets |
| Owner dashboard | You can still open and manage Private collections and their media |
How Private interfaces with the rest of the platform
Client Portal
Invited clients view Private galleries with signed display and download URLs after entitlement checks. Portal delivery does not publish a permanent public CDN link as the only access path.
See Invite clients to portal and Downloads and client access.
Digital downloads and store products
When a product or fulfillment zip is built from a confidential (Private) portfolio, the download package follows private storage rules. Purchase emails use time-limited download tokens that sign from the correct bucket—not a forever-public object URL.
Teams / Projects
Uploads inside Dashboard → Projects (team collaboration) also write private media. Project files are not public library assets; teammates and clients on the project use authenticated project URLs and downloads.
Courses
- Intro video on a course is selected from the public media library (marketing-facing).
- Lesson videos may be selected from public or private media; new uploads from the Add Lesson media picker are stored as private.
Public site and page builder
Private media and Private portfolios are blocked from CMS embeds on purpose. Showcase work belongs in Public portfolios and the public library.
Related docs
- What is a gallery? — Media vs Portfolio vs visitor gallery
- Create your first gallery — New Portfolio flow
- Add media to a gallery — curation on the Media tab
- Downloads and client access — download toggles and portal
- Digital product templates and delivery — Gallery Delivery / Video Pack with Private portfolios
- Client delivery overview — portal room
Verifying your setup
- You created a collection with Private on step 1 and see a lock on the portfolio in portal pickers.
- Files uploaded into that collection show a lock in Media and do not appear in page-editor media pickers.
- A portal invitation can grant the Private gallery; a public page block cannot select it.
- You did not rely on “Enable public page off” alone as a privacy strategy for sensitive masters.
