The token may be exposed through chat context or local process arguments
Source references: 3When the environment variable is absent, the Skill tells the agent to request the API key from the user; an ordinary conversation is not a dedicated secret-entry channel. Its examples also cause the shell to expand the token into a curl command-line argument, which other local processes or users may briefly see on some shared systems. The instruction not to echo the token does not remove either exposure path.
Anyone obtaining the token could read content within the Notion integration’s scope and may be able to create, modify, archive, or delete content.
When no environment token exists, the Skill explicitly asks the user to provide the API key in the conversation, placing the credential in conversational context. Its curl example also expands the environment variable into an Authorization argument; on systems where process arguments are visible to other users or processes, the token may be briefly exposed. The no-display/no-log warning helps but does not remove either path. Users can ask for a dedicated secret-input/storage mechanism and restrict process visibility and the token's Notion permissions.
1. **Environment Variable**: Check if `NOTION_API_TOKEN` is available in the environment2. **User-Provided Key**: If the user provides an API key in context, use that instead3. **No Key Available**: If neither is available, use AskUserQuestion (or equivalent) to request the API key from the user**IMPORTANT**: Never display, log, or send `NOTION_API_TOKEN` anywhere except in the `Authorization` header. Confirm its existence, ask if missing, use it in requests—but never echo or expose it.Show 2 other places
```bash-H "Authorization: Bearer $NOTION_API_TOKEN" \-H "Notion-Version: 2025-09-03" \-H "Content-Type: application/json"``````bashcurl -s "https://api.notion.com/v1/users/me" \ -H "Authorization: Bearer $NOTION_API_TOKEN" \ -H "Notion-Version: 2025-09-03" | jq```