Shared Memory System
Pryveo’s Shared Memory system transforms the platform into a comprehensive AI OS layer by providing apps with access to centralized user data—calendar events, files, browsing history, contacts, and more—all with fine-grained permission control.Privacy First
All shared memory data stays on the user’s device. Apps request specific permissions, and every access is logged in an audit trail.
Overview
Instead of each app maintaining its own isolated data silos, Pryveo offers a unified knowledge base that apps can access with explicit user permission.Available Data Types
User Profile
Name, email, preferences, timezone
Calendar Events
Upcoming meetings, all-day events, locations
File Index
Indexed files with content snippets
Browsing History
Recently visited websites and pages
Conversations
Chat history across all apps
Contacts
Personal and professional contacts
Clipboard History
Recent clipboard entries
Architecture
Permissions
Apps must declare shared memory permissions in theirmanifest.json:
Permission Types
| Permission | Description |
|---|---|
shared_memory_user_profile | Read/write user profile |
shared_memory_calendar_read | Read calendar events |
shared_memory_calendar_write | Create/update/delete events |
shared_memory_calendar | Full calendar access (read + write) |
shared_memory_files_read | Search indexed files |
shared_memory_browsing_history | Read browsing history |
shared_memory_conversations_read | Read conversation history |
shared_memory_conversations_write | Create conversations, append messages |
shared_memory_conversations | Full conversation access |
shared_memory_contacts_read | Read contacts |
shared_memory_contacts_write | Create/update/delete contacts |
shared_memory_contacts | Full contacts access |
shared_memory_clipboard_history | Read clipboard history |
Write permissions automatically grant read access. For example,
shared_memory_calendar_write implies shared_memory_calendar_read.SDK Usage
User Profile
Calendar Events
File Search
Browsing History
Conversations
Contacts
Clipboard History
Data Providers
Shared memory data is populated by data providers that run in the background:Calendar Provider
- macOS: Integrates with Calendar.app via AppleScript
- Windows: Outlook/Windows Calendar integration (planned)
- Linux: Evolution/Thunderbird support (planned)
- Sync: Every 10 minutes
File Watcher
- Uses
notifycrate for real-time file system monitoring - Indexes text files with content snippets
- Supports 20+ file types (rs, js, py, md, json, etc.)
- Respects
.gitignorepatterns - Watches user-configured directories
Browser Monitor
- Parses browser history databases
- Supported browsers: Chrome, Firefox, Safari, Edge, Brave
- Platform-specific database paths
- Syncs every 5 minutes
- Last 1000 entries per browser
Clipboard History
- Monitors system clipboard changes
- Polls every 500ms
- Stores last 100 entries (configurable)
- Text content only
Privacy Controls
Users have complete control over shared memory:Privacy Dashboard
Access via the Privacy tab in Pryveo:- Data Summary: View how much data is stored
- Audit Log: See every app access with timestamp
- Permission Management: Grant/revoke per-app permissions
- Data Export: Download all data as JSON
- Data Deletion: Clear specific data types
- Provider Settings: Enable/disable data collection
Permission Flow
Error Handling
Best Practices
Request Only What You Need
Request Only What You Need
Only request shared memory permissions that are essential for your app’s functionality. Users are more likely to grant specific, justified permissions.
Provide Clear Reasons
Provide Clear Reasons
Always include a
reasons field explaining why each permission is needed. Be specific and user-friendly.Handle Missing Data Gracefully
Handle Missing Data Gracefully
Not all users will have all data types populated. Handle empty results and errors elegantly.
Respect Privacy
Respect Privacy
Even with permission, use shared memory data responsibly. Don’t store sensitive data in logs or external storage.
Minimize Data Access
Minimize Data Access
Only access shared memory when needed. Batch operations and cache results appropriately.
Complete Example
See LifeOS Assistant for a complete working example that demonstrates all shared memory features.API Reference
Types
Functions
All functions require appropriate permissions declared in
manifest.json and granted by the user.Platform Support
| Feature | macOS | Windows | Linux |
|---|---|---|---|
| User Profile | ✅ | ✅ | ✅ |
| Calendar Sync | ✅ | 🚧 | 🚧 |
| File Indexing | ✅ | ✅ | ✅ |
| Browser History | ✅ | ✅ | ✅ |
| Conversations | ✅ | ✅ | ✅ |
| Contacts | ✅ | 🚧 | 🚧 |
| Clipboard History | ✅ | ✅ | ✅ |