Skip to content

Commit 3a77c15

Browse files
authored
Add telemetry (#417)
Adds telemetry policy and `sylius/telemetry-bundle` as a hard dependency. - `TELEMETRY_POLICY.md` — describes scope, purpose, and conditions of telemetry data collection - `composer.json` — requires `sylius/telemetry-bundle: ^1.0` - `README.md` — telemetry notice pointing to the policy file Related: Sylius/Sylius#18588
2 parents e96d57b + 0297e06 commit 3a77c15

File tree

4 files changed

+92
-9
lines changed

4 files changed

+92
-9
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,8 @@ More instructions on the [fixtures configuration instructions](docs/fixtures.md)
155155

156156
If you think that you have found a security issue, please do not use the issue tracker and do not post it publicly.
157157
Instead, all security issues must be sent to `security@sylius.com`.
158+
159+
## Telemetry
160+
161+
This plugin enforces telemetry data collection when used with Sylius.
162+
Details are described in [TELEMETRY_POLICY.md](./TELEMETRY_POLICY.md).

TELEMETRY_POLICY.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Telemetry Policy
2+
3+
## Applicability
4+
5+
This Telemetry Policy applies to the use of this plugin in combination with Sylius.
6+
7+
By installing or using this plugin with Sylius, the user acknowledges that telemetry data is collected and transmitted as described in this document.
8+
9+
---
10+
11+
## Mandatory telemetry
12+
13+
Telemetry data collection is mandatory when this plugin is used.
14+
15+
While this plugin is installed and active, Sylius telemetry operates under the conditions defined by this plugin and cannot be disabled independently.
16+
Telemetry behavior outside of this scope follows the standard Sylius configuration.
17+
18+
---
19+
20+
## Scope of collected data
21+
22+
Telemetry is limited to non-identifying technical data, which may include:
23+
24+
- Sylius version
25+
- plugin version
26+
- PHP version and selected dependency versions
27+
- identifiers of installed and enabled plugins
28+
- runtime environment classification (production or non-production)
29+
30+
Telemetry does not include, and is not intended to include:
31+
32+
- personal data
33+
- customer data
34+
- order data
35+
- product data
36+
- business, transactional, or confidential information
37+
- authentication credentials or secrets
38+
39+
A detailed description of the Sylius telemetry mechanism is available in the public issue:
40+
https://github.com/Sylius/Sylius/issues/18588
41+
42+
---
43+
44+
## Purpose and use of telemetry data
45+
46+
Telemetry data is collected for the purpose of:
47+
48+
- understanding usage patterns within the Sylius ecosystem
49+
- analyzing the adoption and frequency of plugin usage
50+
- identifying commonly used versions of Sylius and plugins
51+
- supporting maintenance, compatibility, and future development efforts
52+
53+
Telemetry data is processed in aggregated form and is not used to identify individual users, installations, or businesses.
54+
55+
---
56+
57+
## Licensing
58+
59+
This plugin is distributed under the MIT license.
60+
61+
Telemetry collection constitutes part of the technical operation of the software and does not alter, restrict, or supplement the rights granted under the license.
62+
63+
---
64+
65+
## Changes to this policy
66+
67+
This Telemetry Policy may be updated to reflect changes in telemetry implementation, legal requirements, or operational practices.
68+
69+
Updated versions of this policy will be made available in the plugin repository.

composer.json

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
{
22
"name": "sylius/invoicing-plugin",
33
"type": "sylius-plugin",
4-
"keywords": ["sylius", "sylius-plugin", "symfony", "e-commerce", "invoicing"],
4+
"keywords": [
5+
"sylius",
6+
"sylius-plugin",
7+
"symfony",
8+
"e-commerce",
9+
"invoicing"
10+
],
511
"description": "Invoicing plugin for Sylius.",
612
"license": "MIT",
713
"require": {
@@ -11,6 +17,7 @@
1117
"sylius/grid-bundle": "^1.9",
1218
"sylius/resource-bundle": "^1.9",
1319
"sylius/sylius": "~1.13.0 || ~1.14.0",
20+
"sylius/telemetry": "^1.0",
1421
"symfony/clock": "^6.4",
1522
"symfony/config": "^5.4.21 || ^6.4",
1623
"symfony/dependency-injection": "^5.4.21 || ^6.4",
@@ -81,14 +88,14 @@
8188
"symfony/thanks": false
8289
},
8390
"audit": {
84-
"ignore": [
85-
"PKSA-gs8r-6kz6-pp56",
86-
"PKSA-gnn4-pxdg-q76m",
87-
"PKSA-yhcn-xrg3-68b1",
88-
"PKSA-2wrf-1xmk-1pky",
89-
"PKSA-365x-2zjk-pt47",
90-
"PKSA-4g5g-4rkv-myqs"
91-
]
91+
"ignore": [
92+
"PKSA-gs8r-6kz6-pp56",
93+
"PKSA-gnn4-pxdg-q76m",
94+
"PKSA-yhcn-xrg3-68b1",
95+
"PKSA-2wrf-1xmk-1pky",
96+
"PKSA-365x-2zjk-pt47",
97+
"PKSA-4g5g-4rkv-myqs"
98+
]
9299
}
93100
},
94101
"extra": {

src/SyliusInvoicingPlugin.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
use Sylius\Bundle\CoreBundle\Application\SyliusPluginTrait;
1717
use Sylius\InvoicingPlugin\DependencyInjection\Compiler\SymfonyClockCompilerPass;
18+
use Sylius\Telemetry\TelemetryCompilerPass;
1819
use Symfony\Component\DependencyInjection\ContainerBuilder;
1920
use Symfony\Component\HttpKernel\Bundle\Bundle;
2021

@@ -27,6 +28,7 @@ public function build(ContainerBuilder $container): void
2728
parent::build($container);
2829

2930
$container->addCompilerPass(new SymfonyClockCompilerPass());
31+
$container->addCompilerPass(new TelemetryCompilerPass());
3032
}
3133

3234
public function getPath(): string

0 commit comments

Comments
 (0)