Telemetry

Sylius Telemetry is a built-in, anonymous reporting system that gathers aggregated technical and business data from your Sylius installation.

It is enabled by default, non-intrusive, and entirely focused on ecosystem improvement — without collecting any personal, sensitive, or identifiable information.

Its purpose is to help the Sylius Team and community better understand real-world usage patterns, so the platform can evolve in the right direction, with decisions based on real data — not assumptions.

Governance & rollout

Telemetry was introduced in the open, discussed with key contributors and the community, and tracked publicly:

Why Telemetry Matters

Sylius powers a lot of production stores, but until now, decisions about features, compatibility, and roadmap priorities were based mainly on anecdotal evidence.

Telemetry brings clear benefits:

  • Ecosystem insights: Know which PHP/Symfony versions, plugins, or database engines are commonly used.

  • Plugin support: Plugin authors can ensure compatibility based on real adoption stats.

  • Community empowerment: Agencies and developers can benchmark setups and infrastructure decisions.

  • Product planning: Enables smarter decisions for future Sylius releases based on actual usage.

This helps ensure the most used features are prioritized, compatibility breakages are minimized, and community efforts are aligned with real-world needs.

What Telemetry Collects

All data is anonymized and aggregated. No sensitive or identifiable information is ever sent.

Technical metadata (non-identifying):

  • Explicit version keys (e.g., sylius_version, php_version)

  • Database info (e.g., { type: mysql, version: 8.0 })

  • Environment hints (e.g., { app: prod, webserver: nginx, os: Linux, docker: true })

  • Public plugin names & versions from composer.lock (private vendors excluded)

Business section (mix of names/codes and ranges):

  • Locales (e.g., [en_US, pl_PL]; default_locales: [en_US])

  • Currencies (e.g., [EUR, USD])

  • GMV (last 30 days) per currency (e.g., { EUR: 10M-50M })

  • AOV (last 30 days) per currency (e.g., { EUR: 250-500 })

  • Payment providers (e.g., { name: bank_transfer, gateway: offline, payments_count: 1K-10K })

  • Shipping providers (e.g., { name: method, calculator: flat_rate, shipments_count: 0-100 })

  • Metrics (e.g., { customers_count: 10K-100K, orders_monthly_count: 1K-10K, orders_monthly_avg_items: 0-5 })

Privacy & Security

What telemetry never collects

  • Customer or admin names, emails, or any PII

  • IP addresses or store domain names

  • Product names, SKUs, or order contents

  • Exact prices or transaction amounts

  • Logs, error messages, or stack traces

  • Private plugin/package information (only public Packagist packages are considered)

How anonymity is enforced

  • No PII, no identifiers — we do not send emails, IPs, domains/URLs, customer/product names, user histories, cart contents, or exact amounts.

  • Ranges only — business metrics (orders/GMV/AOV, etc.) are reported in coarse ranges; never exact values.

  • Public packages only — the plugin list includes only public Packagist packages; private/commercial vendors are excluded.

  • Installation ID = non‑reversible hash — derived from SYLIUS_TELEMETRY_SALT + basic installation metadata; used to count installations without identifying a company or project.

    • You can rotate SALT at any time to generate a new anonymous ID.

    • Use a different SALT per environment (e.g., staging vs. production) to avoid counting the same install twice.

  • Transport security — data is sent to the production endpoint, retries are non‑blocking and limited.

  • Retention & scope — only aggregated statistics are kept

  • Control — global opt‑out plus per‑category toggles (see the Cookbook for details).

When and how often?

  • Telemetry runs once per month

  • Triggered when visiting /admin (Dashboard).

  • Silent retries (3 attempts) if the endpoint is unavailable.

  • No impact on storefront performance — requests are non‑blocking.

Community Benefits

Telemetry enables:

  • Quarterly ecosystem reports: e.g., most used PHP versions, top 10 plugins, average store size

  • More relevant plugins: Maintainers can focus support on the most used configurations

  • Improved stability: The Sylius Team can detect and react to incompatibilities faster

  • Transparent product planning: Aligns Sylius roadmap with real-world adoption patterns

This data will be shared back with the community regularly.

Complete opt‑out (one‑liner)

Want to disable telemetry entirely? Set the master switch to 0:

// .env
SYLIUS_TELEMETRY_ENABLED=0

Coming soon — insights for merchants & plugin authors

We plan to surface privacy‑first ecosystem insights via a dedicated portal and/or a small Admin Panel area:

  • A small Admin Panel area in your shop — a private summary for your installation and high‑level comparisons (bucketed) to the ecosystem.

  • A dedicated portal for store owners, agencies and plugin authors — aggregated statistics and compatibility trends across the ecosystem.

These features will remain privacy‑first and will never expose project‑identifying data.

Frequently Asked Questions (FAQ)

Question
Answer

Is telemetry mandatory?

No — you can disable it at any time.

Does it collect any personal or customer data?

No — it only collects anonymized technical and business metadata.

Will my store be identifiable?

No — all installations use anonymized, non-reversible IDs.

Can I see what's being sent?

Not yet — but a dedicated panel / portal is planned.

Will it affect store performance?

No — it runs once a month and asynchronously.

Last updated

Was this helpful?