Skip to main content

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 their manifest.json:

Permission Types

Write permissions automatically grant read access. For example, shared_memory_calendar_write implies shared_memory_calendar_read.

SDK Usage

User Profile

Calendar Events

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 notify crate for real-time file system monitoring
  • Indexes text files with content snippets
  • Supports 20+ file types (rs, js, py, md, json, etc.)
  • Respects .gitignore patterns
  • 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:
  1. Data Summary: View how much data is stored
  2. Audit Log: See every app access with timestamp
  3. Permission Management: Grant/revoke per-app permissions
  4. Data Export: Download all data as JSON
  5. Data Deletion: Clear specific data types
  6. Provider Settings: Enable/disable data collection

Permission Flow

Error Handling

Best Practices

Only request shared memory permissions that are essential for your app’s functionality. Users are more likely to grant specific, justified permissions.
Always include a reasons field explaining why each permission is needed. Be specific and user-friendly.
Not all users will have all data types populated. Handle empty results and errors elegantly.
Even with permission, use shared memory data responsibly. Don’t store sensitive data in logs or external storage.
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

✅ = Fully supported | 🚧 = Planned
Contribute platform-specific implementations! See the developer guide for details.