Guide · access
Use when
A person wants a client or a prospect to read part of a project in a browser, with no account, from a web address.
Looking for something else?
Giving a client a login, an agent or a key (recipe ship-a-brain). Limiting one key to part of a project (recipe share-with-a-view).
Outcome
A Brain has one published page. The page shows the Brain’s Content in a browser and nothing else. The person chose who opens it: anyone with the web address, or only the people on a list. You have the web address from the page’saddress,
and you know the expiry time and whether visitors may download document originals.
Images and derived previews remain readable when downloads are off.
Before you start
- Orient first (recipe orient). Only a signed-in person who manages access can
publish a page. A key or a connected agent is refused with
human_session_required(card rule brain.12). If you have thebrain_pagetool, you act as that person and can publish. Without it, give the person the choices below and ask them to publish. - The Brain must have a published View as its Content and must not be retired (card rule brain.1). If the Content is wrong, fix the View first (recipe share-with-a-view).
- Check the Content as a reader sees it (recipe ship-a-brain, steps 4 to 6). A page shows the same Content to everyone who opens it.
- Ask the person four things.
- Who opens the page: anyone with the web address, or only the people on a
list. For a list, ask for the emails or domains.
*.example.comadmits the subdomains ofexample.com, andexample.comadmits only that domain. - When the page ends, if it should end, and the sentence a visitor reads then.
- Whether visitors may download document originals. Images and derived previews remain readable when downloads are off (card rule brain.18).
- The title, the introduction and the accent color.
- Who opens the page: anyone with the web address, or only the people on a
list. For a list, ask for the emails or domains.
Steps
- Publish the page.
- CLI:
penumbra brains page publish <brain-id> --title "<title>" --access anyone, or--access listed --listed <email or domain>for a list. It asks first; without a terminal it needs--yes. Expect the page, itsaddress:line (the web address),state: publishedand arevision. - API:
PUT /v1/orgs/{org}/projects/{project}/brains/{brain-id}/app, with anIdempotency-Key, atitleand anaccess_modeofpublicorverified. Addviewersfor a list. The answer carriesaddress, the web address. - MCP:
brain_pagewithaction: "publish", atitleandaccess(anyoneorlisted, withviewersfor a list). The project’s approval floor may hold the call: give the person the approval link and do not repeat it. - Read the web address from
addressin the answer. Do not build it from the address name.addressisnullwhen the cell has no page host: tell the person that the page has no web address to give yet. - Expect
brain_app_already_publishedif the Brain has a page already (card rule brain.15). Expectplan_brain_app_limitif the plan has no page left (card rule brain.19). Expectbrain_app_authority_unavailableif the person holds nothing in the project to hand to a page.
- CLI:
- Change the list or the page.
- CLI:
penumbra brains page viewers set <brain-id> --add <entry> --remove <entry>, andpenumbra brains page update <brain-id>for the title, the introduction, the expiry or the downloads. Removing an entry ends the sessions it admitted. - API:
PUT …/app/viewerswithaddandremove, andPATCH …/app. - MCP:
brain_pagewithaction: "update". Change the list withadd_viewersandremove_viewersin a call of its own.
- CLI:
- Open the page as a reader. Ask the person to open the web address in a private
window. Check the overview, the Graph, the Files and the Shapes.
- For a list, ask for a code with an address that is on the list. Ask for one with an address that is not. Both show the same message, and only the first sends an email (card rule brain.16).
- Read who looked.
- CLI:
penumbra brains page activity <brain-id>. - API:
GET …/app/activity. Expect each person’s email, first and last visit and the pages they read (card rule brain.20).
- CLI:
Check
penumbra brains page show <brain-id>(orGET …/app) saysstate: publishedand noreason, and itsaddressis the web address you give the person. Before the first publish, the same read answersstate: unpublishedwithpage: nulland the plan’slimitandused(the CLI saysNot published. 1 of 3 pages on this plan.).- The page shows the Files and the entities of the View, and a File outside the View is not found (card rule brain.18).
- The introduction, the expiry and the downloads are what the person chose.
- For a list, an address that is not on it gets no email.
If it goes wrong
Worth offering
- Offer to set an expiry time with a message when the page is for a short conversation.
- Offer to unpublish the page when the conversation ends
(
penumbra brains page unpublish <brain-id>). The runtime refuses the next read; cached public content may remain visible for up to 30 seconds (card rule brain.17). Pages for a list are not cached. - Offer to check the page again after each new publish of the View.
Report
Name the Brain, its View and what the View includes, in the person’s words. Give the web address fromaddress, who opens the page, the expiry and whether downloads are on. Say
what you checked as a reader. Say what you could not check, such as a page for a
list when you cannot read the email. Say that the person decides when to
unpublish.