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.
npm install -g personal-artifactAnimation: 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.
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-artifactAsk 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.”
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/uploadpublish { title, enc, html, iv, artKeyWrapped, project?, visibility? }GET /api/artifactslist, newest firstPATCH /api/artifacts/[id]edit, share, expire, restoreGET|POST /api/projectslist 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.