项目文件夹

文件
2026-07-13 12:37:09 +08:00

3.6 KiB

Security Boundary Plan

For the full data ingestion overview and quick install, go back to README.

All in One LLM Wiki should by default be "local-first, privacy-first, anonymize before sharing." The following boundaries suit most personal Agent scenarios:

Measure Purpose Security Level
.wiki/ hidden folder Prevent accidental viewing, scanning, or committing; separate the real private Wiki from the public repository Low
.gitignore Prevent raw exports, health data, browser history, and key files from being uploaded to GitHub Medium
chmod 700 .wiki Prevent other users on the same machine from reading the private Wiki Medium
.env for token separation Prevent API keys, OAuth tokens, and account passwords from entering the code repository Medium
Local-first processing Raw exports are parsed locally by default, not uploaded to third-party models or cloud services first High
Encrypt raw data Even if disk or backup leaks, reduce the risk of raw exports being directly read High
Anonymize before entering Wiki Prevent prompts, screenshots, and public demos from leaking browsing, health, family, and account privacy High
Permission layering Prevent the Agent from reading all data by default; only open needed directories or pages per task High
mkdir -p .wiki/raw .wiki/entities .wiki/concepts .wiki/queries .wiki/_archive
chmod 700 .wiki
touch .env

.gitignore should at least contain:

.wiki/
raw/
.env
.env.*
*.zip
*.xml
*.db
*.sqlite
*Takeout*
*export.xml*
*apple-health*
*garmin*
*history*
*cookies*
*token*

Permission Layering Recommendations

Don't let the Agent read the entire .wiki/raw/ right away. A safer approach is layering:

Layer Content Agent Default Permission
Public / Demo Anonymized examples, aggregate summaries, README, methodology Readable
Wiki Summary index.md, entity pages, concept pages, low-sensitivity summaries Readable per task
Sensitive Summary Health, browsing, account, family, etc. summary pages Requires user confirmation
Raw Private Raw exports, browsing history, health XML, tokens, account lists Not readable by default

Encrypting Raw Data

If you must keep the original exports, consider:

  • Use system-level disk encryption.
  • Use Cryptomator / VeraCrypt / age / gpg to manage raw/.
  • Only hand the decrypted aggregate summaries to the Agent.
  • Record in log.md: "Raw data encrypted and stored, Wiki only retains summaries."

Privacy Boundaries

It is recommended to maintain two versions:

  • Private complete library: stores real sources, raw exports, and sensitive details — for personal use and trusted Agents only.
  • Public anonymized version: only shows structure, methodology, aggregate statistics, and mock examples.

Do not publicly share:

  • Browser history entry by entry
  • Health raw XML / GPS routes / point-by-point heart rate
  • Family, legal, financial, and other private details
  • Accounts, email addresses, phone numbers, API Keys, OAuth tokens
  • NAS internal addresses, full media directory listings, torrent lists

Security baseline:

  • Private Wiki goes in .wiki/; public repository only contains methods, templates, and anonymized demos.
  • Parse raw data locally first; encrypt when necessary.
  • Agent reads the summary layer by default — not the raw layer.
  • Before generating any PPT, video, README, or screenshot, perform an anonymization check first.
  • Before publishing, use PUBLISHING_CHECKLIST.md as a final pass.