Notion Sync

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A mistaken or autonomous invocation could bulk-change properties on many Notion database pages.

Why it was flagged

In query mode the filter is optional in code; if no filter is supplied, the script can update every returned page up to the default limit, and dry-run is optional rather than enforced.

Skill content
const DEFAULT_LIMIT = 100; ... if (filter) payload.filter = filter; ... const updated = await updatePage(page.id, parsed.propertyName, parsed.value, parsed.propertyType);
Recommendation

Require an explicit filter or page ID list for batch updates, make dry-run the default for bulk changes, and review the target page list before applying updates.

What this means

The skill can act with whatever Notion permissions are granted to the integration token and shared pages/databases.

Why it was flagged

The scripts use a Notion integration token, including an auto-detected local token file, to authenticate API requests to Notion.

Skill content
1. --token-file <path> ... 3. ~/.notion-token ... 4. NOTION_API_KEY env var ... headers: { 'Authorization': `Bearer ${apiKey}` }
Recommendation

Use a dedicated least-privilege Notion integration, share only needed pages/databases with it, and protect any token file with restrictive permissions.

What this means

Local state can reveal which Notion pages are being monitored, though the shown code stores metadata rather than full page content.

Why it was flagged

Watch mode persists page IDs, titles, and timestamps in a local state file so it can detect later changes.

Skill content
const DEFAULT_STATE_FILE = path.join(process.cwd(), 'memory', 'notion-watch-state.json'); ... state.pages[normalizedPageId] = pageState; saveState(safeStateFile, state);
Recommendation

Keep the memory directory private, delete the state file when no longer needed, and avoid sharing it with projects or logs.