hayDocs
Documentation / Distribute

Keep releases in your personal registry

Publish code for your account without listing it in the public marketplace.

A personal registry holds private plugin releases for the Hay account you are signed into. Only that account can read their discovery, catalog, release metadata and artifact bytes. A private release is uploaded to the Hay service; it is different from an installed copy or source folder kept only on your Mac.

Publish only for yourself

  1. Open Plugins / Share & publish and select the installed plugin.
  2. If you skipped optional handle setup, finish that same profile first; there is no separate private publisher identity. Then choose Personal registry · Only you under Publish to.
  3. Choose the plugin name and version, then select Review publication.
  4. Check the private destination, identity, version, permissions, code and digest.
  5. Select I reviewed this code and want to publish it to my private registry., then choose Publish private release.
  6. Wait for the matching receipt. Your published releases shows the history for the selected destination.

The release contains code and manifest only. Workspace records, documents, conversations, credentials and grants are excluded. Text deliberately embedded in HTML or JavaScript remains part of that code, so inspect it before publishing.

Browse and install

In Plugins / Registry, choose Personal registry · Only you from Saved registries. Hay validates the current account online and reads that account’s private registry. Review installation and grant capabilities separately, just as for a public release.

The host receives the exact personalRegistryURL from the authenticated account service. Its form is https://plugins.hay.so/private/<owner-id>/. The path identifies the owner; knowing it does not grant access. Copying it into another person’s Hay or a normal browser does not share the releases.

Credentials and isolation

Hay keeps its account credential encrypted outside workspace snapshots. The trusted host adds it only to the account/API origin or the signed-in account’s exact personal registry base. Private requests cannot redirect or escape that base path. Public and custom registries receive no credential; the renderer, plugins, model providers and install links never receive the token.

Private responses use Cache-Control: private, no-store and Vary: Authorization. Missing or revoked sessions receive HTTP 401. A different signed-in account receives HTTP 404. Private metadata and artifact bytes are stored separately from public release tables and are absent from public marketplace search, catalog and artifact routes.

Signing out of the app removes this Mac’s credential and attempts server-session revocation. Signing out on the web revokes only that browser session; it does not revoke the app’s separate private-registry credential. It does not delete local installed copies, workspace records or private release history. Reading or publishing private releases requires a valid online account session.

Versions and scope

Public and private releases have independent immutable histories. The same ID/version cannot be overwritten with different bytes within its destination. Changing the publication selector does not change an existing release’s visibility or move it between registries.

There is no sharing, organization access, anonymous private download, promotion or deletion API in this version. Use a separate, deliberate public publication review when deciding what should be public; do not treat a private registry path as a sharing link.

The publisher API documents private publication routes. The operator record distinguishes implemented behavior from verified deployment.

Verification scope

Packaged Hay successfully loaded the signed-in account’s live personal registry; it was empty. Private publication, owner isolation, approved installation with empty records and no grants, session restart and revocation passed separate isolated checks. No private release was published in production. The operator record preserves that distinction.

SDK 0.1 · Package and registry format v1