🎯 Highlights
This release introduces a powerful dual-tag privacy system that gives you fine-grained control over what gets stored in your observation history, along with significant search API improvements.
✨ New Features
Dual-Tag Privacy System
<private>tags: User-level privacy control - wrap any sensitive content to prevent storage in observation history<claude-mem-context>tags: System-level tags for auto-injected observations to prevent recursive storage- Tag stripping happens at the hook layer (edge processing) before data reaches worker/database
- Comprehensive documentation in
docs/public/usage/private-tags.mdx
User Experience
- New inline help message in context hook highlighting the
<private>tag feature - Improved Community link formatting in startup messages
🔧 Improvements
Search API
- Simplified search endpoint parameters to eliminate bracket encoding issues (#154)
- Cleaner API interface for mem-search skill
Performance
- Added composite index for user prompts lookup optimization
- Shared tag-stripping utilities in
src/utils/tag-stripping.ts
📚 Documentation
- Updated CLAUDE.md with Privacy Tags section
- Enhanced private-tags.mdx with implementation details
- Added comprehensive test coverage for tag stripping
🔗 Related PRs
- #153: Dual-tag system for meta-observation control
- #154: Eliminate bracket encoding in search API parameters
💡 Try it now: Wrap sensitive data with <private>your-secret-data</private> in any message to Claude Code!