This document describes the bidirectional synchronization and aggregated analytics system between self-hosted Atom instances and the Atom SaaS platform.
Atom provides a federated marketplace where users can discover and install Skills, Agents, Workflows, and Specialist Domains. To improve the ecosystem, self-hosted instances can optionally share aggregated, anonymized usage metrics with the SaaS platform.
- Aggregated Data Only: We do not collect individual user data, message contents, or specific task details. We only collect execution counts, success/failure rates, and average durations per marketplace item.
- Opt-In: Analytics reporting is disabled by default. It can be enabled via environment variables.
- Transparency: All reported data is stored locally in the
marketplace_usage_localtable before being pushed, allowing administrators to audit what is being shared.
| Variable | Default | Description |
|---|---|---|
ANALYTICS_ENABLED |
false |
Set to true to enable usage reporting to SaaS. |
ATOM_SAAS_API_TOKEN |
(empty) | Your API token from atomagentos.com. Required for sync. |
INSTANCE_NAME |
unnamed |
Friendly name for this instance in the SaaS dashboard. |
- Local Tracking: When a marketplace item (e.g., an Agent) is executed, the
MarketplaceUsageTrackerincrements a local counter in the SQLite/PostgreSQL database. - Registration: Upon the first access to the Marketplace UI, the instance automatically registers itself with the SaaS backend using the provided
ATOM_SAAS_API_TOKEN. - Periodic Sync: The
AnalyticsSyncWorkerruns periodically to push the aggregated local counts to the SaaS analytics ingestion layer. - Ingestion: The SaaS backend stores these metrics in a DuckDB analytical database for high-performance retrieval and reporting.
For each marketplace item, we track:
execution_count: Total number of times the item was triggered.success_count: Number of successful completions.total_duration_ms: Cumulative execution time (used to calculate averages).
To disable all analytics reporting:
- Set
ANALYTICS_ENABLED=falsein your environment. - Restart the Atom services.
No further data will be collected or transmitted to the SaaS platform.
- Local Storage:
MarketplaceUsagemodel incore/models.py. - Sync Logic:
AnalyticsSyncWorkerincore/marketplace_sync_worker.py. - API Client:
AtomAgentOSMarketplaceClientincore/atom_saas_client.py.