Security at InstaShare
Know the boundary before you publish.
InstaShare turns local Claude Code sessions into public-by-link pages. This document explains the safeguards, the data flow, and the limits without treating a public link as a private vault.
Data flow
- The installed skill locates the active Claude Code JSONL on your machine.
- Its curated text patterns replace recognized credentials in memory.
- The transformed transcript is sent to InstaShare over HTTPS.
- The server reads the transcript, computes statistics, and extracts supported inline images.
- The transcript is stored in MongoDB and extracted images are stored in a publicly readable Azure Blob container.
- A public page renders the stored conversation for anyone holding its URL.
HTTPS protects transport to the service. It is not end-to-end encryption: the InstaShare server must process the content to provide the service.
Local secret redaction
The published skill currently recognizes common formats for Anthropic, OpenAI, AWS, GitHub, Slack, Stripe, and Google credentials; JWTs; PEM private keys; common authorization and cookie headers; InstaShare control tokens; and several KEY, TOKEN, SECRET, and PASSWORD-style environment assignments. Matches are replaced before the HTTP body is created. The original session file is not modified.
What it does not cover
Redaction is pattern matching, not comprehensive data-loss prevention. It may miss proprietary formats, ordinary prose passwords, unusual cookies, private source code, customer information, filenames, and other sensitive material. It does not inspect pixels in screenshots or images. Direct API clients do not receive the skill’s local redaction automatically.
A report of zero matches is not proof that a transcript is safe to publish. Review high-risk conversations and customize the readable skill for your environment.
Public-link model
A share’s random slug reduces casual discovery but is not a password. A recipient can forward the URL, copy the transcript, download images, or capture the page. Shared pages are omitted from the sitemap and marked noindex for compliant search engines, but crawler directives are not access control and cannot retract copies.
Use InstaShare only when public-by-link access is appropriate. Do not use it for regulated, highly confidential, or access-controlled information unless you have independently removed that material.
Control tokens and account sessions
Delete token
Each new share receives a random delete token. Its SHA-256 hash is stored with the chat, while the plaintext is returned to the client and may be saved in the local sidecar. Anyone holding the valid delete URL may be able to remove that share.
Device claim token
The skill stores a random per-device claim token locally. The server stores its hash and uses it to group uploads. After Google sign-in, claiming links the token and its shares to the account. Revocation prevents that token from attaching or authorizing later uploads.
Account and advanced upload tokens
Browser accounts use Google OAuth and database-backed sessions. Advanced upload tokens are intended for headless workflows; their plaintext is shown at creation and server-side records retain a hash. Keep every plaintext control token out of repositories, shared transcripts, logs, and issue trackers.
Storage and images
Transcript documents and account records are stored in MongoDB Atlas. Supported inline images are decoded and stored in Azure Blob Storage under content-derived names. The image container is publicly readable because the public transcript must load those assets without authentication.
Images can be cached by browsers and network infrastructure. Deleting a share removes its database record and requests deletion of recorded blobs, but InstaShare cannot erase copies already downloaded, forwarded, captured, indexed, or retained in independent caches.
Operational providers and notifications
InstaShare runs on Microsoft Azure, uses MongoDB Atlas for its database, Azure Blob Storage for extracted images, Google for account sign-in, SendGrid for operational email, and IPinfo for approximate network-location lookup when upload notifications are enabled. A new-upload notification may contain the public URL, delete URL, transcript statistics, client IP, and approximate IP location.
These operational flows are described more fully in the Privacy notice. They are not a claim that provider infrastructure is risk-free.
Deletion and revocation
Anonymous users can delete with the share-specific delete URL. Owners can delete from My shares. Device revocation stops a device token from being used for future linked uploads but does not delete existing shares. Hosted content is otherwise retained until deleted or removed for operational, legal, or abuse reasons.
Reporting a security issue
Report suspected vulnerabilities or exposed control tokens privately to alex@botmakers.net. Include the affected route or component, reproduction details, and impact. Do not place live credentials, private transcripts, or personal information in a public issue.