Plain-language data handling
Your prompt is your business.
The workbench fills templates inside your browser. It does not send your template, variable values, or rendered prompt to this server or to a model provider.
What stays in the browser
By default, your work is held only in the page’s memory and is lost when you close it. If you enable “Remember this work on this device,” the current template and filled values are saved in this browser’s local storage. Unchecking that option removes the saved copy when browser storage is accessible. “Clear all work” also clears the on-screen template and values. If a save or deletion fails, the workbench shows a warning: current edits may be unsaved, and an older saved copy may remain. To keep a complete working copy, export with filled values included. Clear this site’s storage in your browser settings if deletion cannot be verified.
Workbench tabs in the same browser profile share one saved copy. When this page detects that copy has changed or been removed outside the page, it keeps your on-screen draft but pauses saving and turns Remember off without deleting the other copy. Export with filled values to keep the local draft; turning Remember back on asks before replacing the shared saved copy. This is best-effort change detection, not version history or an atomic cross-tab lock: simultaneous writes, older open versions, or unavailable storage can still cause conflicts. Export important drafts before editing in multiple tabs.
Local storage is not encrypted by this application. Other people using the same browser profile may be able to see it. Browser extensions and your device are outside our control. Avoid entering credentials or sensitive personal information.
Prompt Test Bench projects
The Test Bench keeps two prompt variants, case inputs, response drafts, exact recorded prompts/responses, model labels and review notes locally. It makes no model calls, uploads no project content and sends no interaction events, even if workbench counts were enabled. It uses a separate browser-storage entry from the workbench. Remember is off by default; turning it off pauses saving but leaves the last saved project. Use “Remove saved copy” to delete that stored project while retaining on-screen work. Other-tab changes pause saving as a best-effort precaution, not an atomic lock or history system.
Project JSON downloads contain all project content, including drafts and responses. Markdown comparison reports also include recorded content; prompt packs contain the rendered prompts for every case. None is automatically redacted. Imports replace the current project after confirmation and normalize CRLF/CR line endings to LF for editing. Recording a result stores a snapshot of the current prompt; later prompt edits mark older results stale. Recording another response retains earlier prompt/response snapshots, model labels, review notes, device-clock recording dates and the rules at recording. These earlier entries are included in project/report exports and optional browser storage. Up to 20 recordings per variant/case are kept; no automatic pruning occurs. Earlier entries can be explicitly deleted after confirmation; deleting a case or replacing a project also removes its history from that working copy. Imported older records have unavailable original dates/rules. This is local recording history, not full project-version recovery or verified model execution metadata. Browser-local projects are not part of the server’s backups. When you paste into an outside model service, its policies apply.
Task-pack previews fetch only allowlisted public starter files from this website; ordinary file requests are logged as described below. A fixed pack name in a URL fragment selects the preview, never private project data or an arbitrary download URL. Preview does not change your current or saved project. Confirmed starter loading replaces this tab's project, turns Remember off and leaves the previous saved project intact; download unsaved work first. Explicitly turning Remember on afterward can replace that saved copy. No preview/load interaction event or private project content is uploaded. Reloading can restore the older saved project, not the unsaved starter.
Case dataset imports read CSV or tab-separated text locally. Column mapping and preview do not change the project; confirmed append preserves existing cases, while confirmed replacement removes their responses and history from that working copy. Prompt variants stay unchanged. The source file and staging text are not saved separately or uploaded; imported cases become part of the project and its optional browser storage/downloads. CSV datasets are not complete project backups.
Saved-baseline comparison reads a second project locally without replacing the current project. That baseline is read-only, held in this tab only, excluded from Remember and current-project exports, and cleared on reload or replacement of the current project. Keep the original baseline download. The baseline comparison report includes paired inputs, exact recorded prompts, responses and saved review notes from both projects; it is not redacted or re-importable. No comparison content is uploaded.
Manual review criteria are shared across a Test Bench project and are saved/exported only after Apply. They are not inserted into model prompts. A started review retains its criteria, per-criterion assessments, case checks, device-reported start time, decision and note. Restarting archives prior manual work; up to ten earlier reviews per recorded response are retained without automatic trimming. Explicit deletion removes an earlier review from the working copy, not downloaded files. Editing within a review is not a keystroke audit log. Changing criteria or checks makes bound judgments out of date without deleting them. Project version 4, optional browser saving, trial history and reports include this review context; older imports have no fabricated assessments or dates. No reviewer identity, content upload or additional interaction event is collected.
Optional JSON structure contracts are local case checks, not model instructions. Adding one upgrades a Test Bench project to at least format 5 and its response worksheet exports to version 2; existing format-4 projects remain unchanged. Contracts are retained in project data, recording-time rules, manual review snapshots, browser saving and applicable reports. Copying a contract to all cases requires confirmation, preserves their other checks and historical records, and makes changed review contexts out of date. No schema document is fetched remotely, no code is executed from a contract and no new interaction event or project content is uploaded. Older clients reject the new versions rather than silently omit structure checks.
Saving a project recommendation opts into format 6 and retains up to five independent evidence snapshots with the choice, rationale, intended use/limits, next-evidence note and unverified device date. Each snapshot includes current names, sources, variants, checks, criteria and latest recorded responses with their review contexts, but not unrecorded response/model drafts or earlier recordings. Snapshot response/model editor fields are initialized from retained latest records, or blank when no record exists. Later edits do not rewrite it. Deleted cases and older private source text can remain inside these snapshots. Project JSON, full comparison Markdown reports, HTML handoffs and optional browser storage include all saved decisions and their evidence; deleting current cases does not redact them. Delete a decision explicitly to remove that snapshot from the working copy, not previously downloaded/shared files. The 10 MB project limit and browser quota still apply. Unsubmitted decision-form text is not saved/exported and is cleared by reload/project replacement. No identity, content upload or new interaction event is collected; a recommendation is not verified approval or an automatic deployment.
Read-only HTML review handoffs are generated locally and contain current case inputs/prompts, latest recorded responses, model/date labels and their saved review notes, including earlier review contexts for those recordings. Response/model draft content and earlier recordings are omitted and flagged, but current inputs/prompts can still contain private edits. Saved project recommendations and their complete evidence snapshots are also included, even when evidence has changed or current cases were deleted. This is not redaction. Inspect all cases, decisions and expandable details before sharing. The file has no scripts, remote assets, uploads or tracking and works offline; it is an unsigned snapshot, not a live view, editable backup or re-importable project. The sharing guide generates its sample from an already-public project using an ordinary file request; it does not read your local project. No handoff content or export event is sent to the server.
Optional downloaded worksheet runner
The local Node.js runner is separate from this website. Its default dry-run sends nothing and writes no files; with an explicit --run flag it sends each selected rendered prompt directly from your machine to your configured model endpoint. Expected rules and other rows are not sent. That provider's privacy, retention and charges apply; a chat subscription may not include API credit. The website does not receive the key, prompts, responses or runner usage.
The runner accepts credentials only through the PROMPTKB_API_KEY environment variable, not URL credentials/query strings or CLI key arguments. Environment variables are not a secret store. It does not intentionally persist the key, request headers or raw provider error bodies. Successful model outputs, prompts and worksheet content remain unredacted; inspect them before sharing. Checkpoints retain an endpoint/model/settings record, unverified device dates, request durations, statuses, finish reasons and available provider-reported token counts. Missing usage is null, not zero; costs are not inferred. The completed worksheet stores those unsigned receipts; browser project import retains only its response text/model labels and matching assignments, not the runner metadata. Preserve the worksheet separately.
Checkpoints use a per-output lock, restrictive file permissions and atomic replacement. An in-flight marker is saved before each request. Uncertain failures stop without automatic retry; after manual inspection, an explicit skip can leave those rows blank and continue untouched rows. An interrupted process can leave a lock that must not be removed while another runner uses the output. Neither file writes nor request limits guarantee remote billing bounds, transactionality with the provider, or recovery from every machine failure. No public inference service or new server-side content collection was added.
Copy, import and export
Copy writes the rendered prompt to your clipboard. Text downloads contain that rendered prompt. Template exports leave out filled variable values by default; select “Include filled values in export” to keep those values in the file too. Both export modes include the template name and literal template text. This is not automatic redaction: review those fields for sensitive content before sharing. Exporting does not change the work on screen. The export choice resets to excluding values when you load, import, restore, or clear a template’s values. Files created by earlier versions may include filled values.
“Clear filled values” keeps the template name and text, but clears all current variable values, including temporarily hidden fields retained during editing. It asks for confirmation. If Remember is enabled, the app attempts to update the saved copy; a failure warning means older saved values may remain. Clearing the page cannot erase downloaded files, your clipboard, or copies elsewhere. Imports are read locally and are not uploaded. Once you paste a prompt into another service, that service’s policies apply.
What the server observes
Like most websites, the web server receives your IP address, browser user agent, requested URL and request time. Access logs are private, rotate at 10 MiB, and retain up to seven rotated files for up to seven days. The current active file may remain longer until it rotates. Do not put private text in URLs.
The experiment monitor counts successful workbench, dashboard and privacy-page requests and daily distinct salted IP/user-agent combinations for those pages as rough visitor proxies. Test Bench, guide and example-file requests use the ordinary server access logging described above, but are not included in these visitor/view totals or sent as product events. Known bots and our own checks are excluded heuristically, not perfectly. The public dashboard shows aggregate counts only. Daily hashes differ and are not designed as persistent cross-day identifiers. They are a pseudonymous measurement, not a guarantee of anonymity; aggregates are retained as experiment history. No third-party analytics, advertising trackers or application cookies are used.
Optional counts and explicit ratings
Automatic interaction reporting is off by default. If you enable “Share counts,” successful copy, text download, template import and template export actions send a JSON body containing only a fixed event name. Both template export modes use the same export event; clearing values sends no event. No prompt text, template name, filled value, word count, clipboard content, account ID or persistent client identifier is included. Your choice is stored separately in local storage. Turn the checkbox off to stop future automatic reports from this page. Updated open tabs also check the saved choice before each automatic report and when they receive a relevant storage change. Removing or clearing the choice turns reporting off in those tabs and attempts to abort pending automatic requests; requests already sent may still be counted. A choice enabled elsewhere does not automatically turn an already-off page back on, though a newly loaded page can restore the saved opt-in. Already-counted events cannot be withdrawn because they are not linked to an identity. Browser Do Not Track and Global Privacy Control signals disable automatic reporting.
If the saved choice cannot be checked or an opt-in cannot be saved, automatic reporting stays off on that page; explicit ratings remain available. If turning reporting off cannot remove the saved choice, an older enabled preference may remain for other tabs or future visits. The notice explains how to turn it off in other tabs or clear site storage. This is best-effort browser-local coordination, not an atomic network cutoff: storage failures, simultaneous changes and older open app versions can limit it. Reload old tabs to use the current behavior.
Rating buttons are separate: clicking “Send rating: useful” or “Send rating: needs work” explicitly submits that fixed rating, even if automatic counting is off. Ratings do not include a free-text field. Do not send sensitive data to the endpoint; it accepts only allowlisted event names and rejects other fields.
These requests still expose ordinary network metadata to our server, including IP address and user agent, under the access-log policy above. The event service uses short-lived, in-memory hashed addresses for rate limiting; it does not write addresses or user agents to its counter database. It stores only UTC day, event name, count, and service timestamps. Daily totals are shown publicly on the experiment dashboard. Known bot/self-check user agents are excluded, and abuse limits may drop events. Counts are voluntary event receipts, not verified people, complete usage, or unique ratings. Network failure or retry can cause undercounting or duplicates.
Before this feature was introduced on November 2, 2026, product interactions were not measured. Earlier interaction data remains unavailable; it is not backfilled as zero.
The public experiment record
The dashboard contains sanitized operational metadata, reviewed owner instructions, costs, resource measurements and agent-authored progress. It does not expose raw logs, user prompts, credentials or agent session transcripts. A separate collector runs even when the autonomous agent is inactive.
About this service
PromptKB is an early experiment built and maintained by an autonomous coding agent. Templates are illustrative starting points, not evaluated guarantees. There are no accounts, payments or hosted model inference. An optional downloaded runner can call an endpoint you configure from your own machine; its provider costs and policies are separate. Availability and future development are not guaranteed.
Policy published November 2, 2026; updated the same day for explicit ratings and optional content-free event counts, and November 3 for browser-storage failure guidance, explicit export contents, clearing values separately from instructions, the guide’s logging/measurement scope, shared-tab saved-copy conflict handling, and cross-tab revocation/storage-failure behavior for optional counts. The November 3 Test Bench addition uses separate opt-in local project storage and sends no interaction events; its ordinary page requests are outside existing visitor/view totals. November 3 also added local read-only HTML handoffs with explicit unredacted contents and omissions. No additional server-side content collection was introduced. Changes to data collection should be documented here before deployment.