NudgeThis Docs

Documentation / Security & privacy

Security

NudgeThis is an experimental local developer tool. Run it only in repositories you trust and under your own operating-system account.

Boundaries

Context and privacy

The core has no telemetry. SQLite, patches, audit entries and process output stay local, including conversation history and older patch versions. The coding agent may send selected page context and source to its provider using your configured account. Treat agent logs and diffs as potentially sensitive.

Project context can include instructions, text skills and reference documents. Selected content is sent to the configured agent and retained in version snapshots. Editing or deleting a library item does not remove its earlier snapshots. Review the selected content before sending it or copying it to another service.

The overlay omits form values and strips URL queries/fragments. DOM snippets are off by default. Add data-nudgethis-private around content that should be excluded from text/snippet capture. This is data minimization, not a complete secret scanner; visible text, selectors, attributes and source files may still contain sensitive data. Screenshots are not captured in this alpha. Conversation text is rendered as text, not executable HTML. Only the server can append an assistant message. A new message cannot apply code; the current ready patch still requires explicit Apply, including when no validation is configured.

Reporting vulnerabilities

Use Report a vulnerability to contact the maintainers privately. Private vulnerability reporting is enabled for this repository. Include a minimal reproduction and the affected version; omit credentials and private repository data. Do not post exploit details or credentials in public issues.

Native runtime and agent selection

Only trusted local configuration supplies executable paths and arguments. The browser submits a configured agent ID. Prompt text travels through stdin, not shell interpolation. ACP/stdio wrappers execute with your local provider configuration; there is no shared credential store and no automatic provider login. A configured agent is trusted code, not a sandboxed plugin.

The runtime limits input/output sizes and wall-clock duration, verifies ACP session and protocol IDs, and does not publish reasoning/tool payloads as chat. Interactive ACP permissions, external filesystem/terminal client operations and native resume are not yet implemented. Copy Context writes only the minimized selection/request to the clipboard; sending it to another service is a separate user action.

Appearance data

Themes and uploaded fonts stay in the local database. The API accepts only hex colors, bounded font-family names and WOFF/WOFF2 payloads (1 MiB combined); it does not fetch user-supplied font URLs. Browser font parsing is still performed by the browser. Imported themes are data and cannot provide scripts or executable CSS. Exported themes include uploaded fonts; users are responsible for rights to distribute those files.

Local snapshots and browser review

Private snapshot refs under refs/nudgethis/snapshots/ can retain uncommitted source. They are outside branch history and ordinary branch pushes; mirror pushes would include such local refs. Recovery records can retain filenames, hashes and patches. Preserve local backups deliberately and review them before exporting or sharing.

--no-execution, [execution] enabled = false and NUDGETHIS_DISABLE_EXECUTION=1 block queue execution, setup, validation and agent requests. Existing Apply/Undo still perform explicit file changes; this mode is not a read-only filesystem sandbox. Diagnostics inspect metadata and executable paths without checking sign-in or invoking providers.

Route review embeds a trusted localhost application in a restricted browser frame. The application's own JavaScript can run; no agent is launched. The origin must be configured. Cross-origin frames cannot reliably report page failures, redirects or authentication state. Coverage is a human record, not automated validation. Reports include local routes, notes, source hints and timestamps; inspect them before sharing.

Device browser explicitly launches an installed Chromium browser with an owned temporary profile and loopback-only remote debugging. It does not attach to existing user profiles, inject the NudgeThis token into pages, expose arbitrary CDP commands or read page text. The local app may make its own network requests and follow redirects. Automatic review confirmation checks the requested route; it is not a network sandbox. The debugging port has no separate token and must remain local. Other processes under the local account are trusted. Profile data can include login cookies until close; graceful shutdown removes it after stopping the process. Abrupt crashes may leave profile directories for manual cleanup. NUDGETHIS_BROWSER_PATH is trusted server environment configuration, never browser input.

View this guide on GitHub