Artifacts

For people who use more than one AI tool

Every artifact your AI tools make, in one private place.

Claude Code, Codex, Gemini CLI and Cursor all leave reports, dashboards and one-pagers behind. Artifacts gives them one home: a site of your own, private by default, shareable when you choose.

Already have an account? Install once, then ask any tool:
npm install -g personal-artifact

Animation: someone asks their AI coding tool for a personal artifact, the tool replies with a link, and clicking it opens the published page.

Publishes from

  • Claude Code
  • Codex
  • Gemini CLI
  • Cursor
  • and any tool that can run a command

Why

The pages pile up. The links get lost.

Agents are good at making self-contained HTML: a load test write-up, a chart of last week's numbers, a memo for a client. Each tool leaves those files in a different folder, and the good ones are gone by the time someone asks for them.

Artifacts is one place they all publish to. Your own account, your own list, a real URL for each page. A team that shares AI tools gets a private shelf instead of a pile of attachments.

How it works

Install once. Then just ask.

  1. Install once

    Run one command on your computer. It signs you in through the browser and teaches every AI tool you have how to publish. You never type another command.

    npm install -g personal-artifact && personal-artifact
  2. Ask your AI tool

    In Claude Code, Cursor, Codex or Gemini CLI, say what you want as a personal artifact: an architecture diagram, a dashboard, a memo. The tool builds the page and publishes it for you.

    “Make a personal artifact of the architecture diagram for our SaaS.”
  3. Click the link

    The tool replies with a link. Open it to see the page, file it into a project, share it with an expiry or a passphrase, or edit it in place.

    https://artifacts.pallason.com/a/saas-architecture

Needs Node.js 20 or newer. Prefer the command line? artifact-publish ./page.html "Title" publishes any HTML file by hand.

What you get

Built for keeping, not just hosting.

  • Private by default

    A new artifact is yours alone. Nobody else can open it until you flip it to shared.

  • Share on your terms

    A shared link can expire after a day or a week, and can ask strangers for a passphrase.

  • Encrypted end to end

    Every artifact is sealed before it is uploaded. The site stores only ciphertext; not even the person running it can read the page.

  • Projects

    File artifacts into folders per client or topic. Your agent can pick the folder when it publishes.

  • Edit in place

    Fix a word on the page it is published at. The page never reloads, so a reader keeps their place.

  • A trash that forgives

    A deleted artifact waits seven days before it is really gone. Restore it with one click.

  • An API for agents

    Everything on the screen has a JSON endpoint behind a token, so a tool can list, publish and edit too.

Encryption, exactly

Some pages the site itself cannot read.

Every artifact is sealed on your machine before it is uploaded. The site keeps ciphertext and keys wrapped under a key it has never held, and hands them back to a browser that decrypts them. A twelve-word recovery phrase is the way back if you forget your password.

The claim is narrow on purpose. It is not zero-knowledge about you: the site still sees everything in the second list.

Encrypted

  • The page itself, on every artifact
  • The key that opens it, wrapped under your account key
  • Nothing after the # of a shared link ever reaches the site

Not encrypted

  • Your email, the title, the project
  • Size, dates, whether and how it is shared
  • Which addresses opened which link
  • Artifacts from before encryption, until you click their lock

The script that decrypts is served by this site, pinned by an integrity hash and generated from the open-source CLI package on npm, so it can be read before it runs. That is the one limit no browser-based design removes; docs/encryption.md spells it out.

Open source, on npm

personal-artifactv2.1.0

Publish self-contained HTML artifacts to your own private site from any coding agent, encrypted end to end if you choose. MIT licensed. Run it, read it, or host your own copy.

Installs
personal-artifact, artifact-publish
Skills for
Claude Code, Codex, Gemini CLI, Cursor
Runs on
Node.js 20+ on macOS, Linux, Windows
Hosting
Free tier of Vercel and MongoDB Atlas

Reading this as an agent?

The whole site is an API.

Tokens are issued at /settings. Send one as a bearer token and every screen has a matching endpoint: publish, list, edit, file into a project, share, restore from the trash. The short version lives at /llms.txt. Uploads are ciphertext: the CLI does the encryption, and a raw call has to do the same.

  • POST /api/upload publish { title, enc, html, iv, artKeyWrapped, project?, visibility? }
  • GET /api/artifacts list, newest first
  • PATCH /api/artifacts/[id] edit, share, expire, restore
  • GET|POST /api/projects list or make a folder
curl -X POST https://artifacts.pallason.com/api/upload \
  -H "Authorization: Bearer $ARTIFACT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"Load test report","enc":1,"html":"<ciphertext>","iv":"…","artKeyWrapped":{…}}'

Give your artifacts a home.

Free to use. One command to connect. Every tool you already have.

Artifacts — one private home for everything your AI tools make