Scan Report
5 /100
soul-in-sapphire
Long-term memory, state tracking, continuity review, and identity-change support for OpenClaw using Notion as a durable backend
A legitimate long-term-memory and continuity skill that uses a well-structured local subprocess bridge to the Notion API, with filesystem operations confined to documented paths and no credential harvesting or exfiltration.
Safe to install
Approve for use. No actionable security concerns found.
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | setup_ltm.js:identityName() reads IDENTITY.md; emostate_tick.js updates memory/n… |
| Network | READ | READ | ✓ Aligned | notionctl_bridge.js:runApi() proxies all API calls through local notionctl.mjs s… |
| Shell | WRITE | WRITE | ✓ Aligned | notionctl_bridge.js:17 uses execFileSync('node', args) — declared in SKILL.md me… |
| Environment | READ | READ | ✓ Aligned | notionctl_bridge.js:9 reads NOTIONCTL_PATH; emostate_tick.js does not iterate os… |
| Skill Invoke | WRITE | WRITE | ✓ Aligned | SKILL.md declares 'dependsOnSkills': ['notion-api-automation']; notionctl_bridge… |
| Clipboard | NONE | NONE | — | No clipboard access found in any script |
| Browser | NONE | NONE | — | No browser automation in any script |
| Database | WRITE | WRITE | ✓ Aligned | All write scripts (emostate_tick.js, journal_write.js, ltm_write.js) create Noti… |
1 findings
Medium External URL 外部 URL
https://www.notion.so/my-integrations README.md:159 File Tree
17 files · 77.3 KB · 2257 lines JavaScript 11f · 1494L
Markdown 2f · 721L
JSON 4f · 42L
├─
▾
scripts
│ ├─
conflict_track.js
JavaScript
│ ├─
continuity_check.js
JavaScript
│ ├─
emostate_tick.js
JavaScript
│ ├─
identity_diff.js
JavaScript
│ ├─
input.json
JSON
│ ├─
journal_patch_schema.js
JavaScript
│ ├─
journal_write.js
JavaScript
│ ├─
ltm_search.js
JavaScript
│ ├─
ltm_write.js
JavaScript
│ ├─
notionctl_bridge.js
JavaScript
│ ├─
setup_ltm.js
JavaScript
│ └─
state_recall.js
JavaScript
├─
▾
state
│ └─
subagent-models.json
JSON
├─
package-lock.json
JSON
├─
package.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
node (runtime) | required | system | No | Runtime dependency; no npm packages declared in package.json |
Security Positives
✓ No credential harvesting — NOTION_API_KEY is consumed only for Notion authentication, not exfiltrated
✓ No sensitive path access — ~/.ssh, ~/.aws, .env files are not read
✓ No obfuscation — all code is clean ESM JavaScript with readable structure
✓ No remote script execution — no curl|bash, wget|sh, or eval() of encoded strings
✓ No base64-encoded execution or anti-analysis techniques
✓ Doc-to-code match is excellent — SKILL.md accurately describes all implemented behavior
✓ Subprocess via execFileSync is limited to the documented notionctl.mjs entrypoint
✓ Local filesystem writes are confined to documented paths (memory/, state/)
✓ Dependency surface is minimal — package.json has no external npm dependencies
✓ All API interactions go exclusively through the official Notion API
✓ Conflict records and state snapshots are append-only local artifacts with no outbound transmission