REFERENCE / 05

About & security

A local-first tool for a local file. The security model is deliberately small enough to audit: bind loopback, check who is asking, never phone home.

License
MIT
Runtime
Node >=20.19
Host
127.0.0.1
Telemetry
none

01 / PURPOSE

Understand the setting before you change it.

GSD's config.json is powerful but opaque. The Config Manager exists to close that gap: every key gets a plain-language explanation, every enumerated value gets a meaning, and every edit is validated before it reaches disk.

The reference on this site is generated from the same canonical schema the editor uses. It is not a separate hand-maintained document that can drift.

The host can be Windows, macOS or Linux. A single npx command starts a helper on loopback, serves a bundled web UI, and opens your browser. There is no hosted service, no account, and no build step on your machine.

The project is independent and MIT licensed. Upstream GSD lives at open-gsd/gsd-core; this tool is not affiliated with it.

02 / BOUNDARY

The security model, in four layers.

01

Loopback binding

The server listens on 127.0.0.1 and nothing else. The host is a literal in the source; no flag or environment variable can widen it.

02

Host allowlist

Every API route checks the request Host against an allowlist, the standard defense against DNS rebinding — a remote page cannot make your browser treat its own hostname as this server.

03

Exact Origin guard

API routes require an exact-string Origin match against the sealed launch origin. A random local port plus an origin check blocks cross-origin calls from other tabs.

04

No remote code

The schema-update check is user-triggered, reads allowlisted release metadata, and never executes anything it downloads. It can propose a schema; you activate it.

03 / DATA HANDLING

What touches disk, and what never leaves it.

Data handling
DataWhere it goesNotes
Project configYour project's .planning/config.jsonRead on open; written only through validation and atomic replacement.
Version historyOS app-data directoryFull JSON snapshots keyed by the absolute config path; never inside the project or its .git.
Search-provider keysEnvironment variable or ~/.gsd/<prefix>_api_keyFile mode 0600; masked in the UI; never logged.
Telemetry / analyticsNowhereThe application ships none.
Network requestsOnly the user-triggered schema-update checkReads allowlisted gsd-core release metadata; no remote code execution.

04 / HARDENING

Details that matter for a file-editing tool.

05 / PROJECT

Reporting, licensing and source.

Security reports

Report vulnerabilities privately through the repository's security policy rather than a public issue.

Read SECURITY.md

Source

The CLI, local server, config I/O layer, schema pipeline and web UI are in one repository, with tests for each layer.

github.com/FiredMosquito831
DISCLAIMER

This is an independent project. GSD and Claude are products of their respective owners. The tool edits configuration files; it does not modify gsd-core itself.