Bootstrapwarebootstrapware

Security

Publishable keys are not secrets.

Test keys work unpaid. Live publishable config needs BYO or Hosted. Secret keys never belong in the browser, in MCP, or in a widget snippet.

Keys use the bsw_test_pub_, bsw_test_sec_, bsw_live_pub_, and bsw_live_sec_ prefixes. The browser env is NEXT_PUBLIC_BSW_ANSWERS_PUBLISHABLE_KEY.

MCP scope is answers:mcp at https://answers.bootstrapware.co/mcp. That route is not served yet. Tools configure apps. They do not accept visitor questions, file bytes, or provider keys. Prefer OAuth Connect. Secret headers are a fallback.

Allowed origins help browsers. They do not stop a script that replays a publishable key. The Hosted ask path, when it ships, still has to limit allowance, burst, and body size before it spends on retrieval or a model.

Treat visitor text and indexed documents as untrusted. Hosted sources are readable by visitors.