Hi, and thank you for Evolution API.
While reading the telemetry code I noticed a small gap between what the README states and what the code does, and I wanted to flag it kindly in case it's helpful.
What the README says (README.md, "## Telemetry"):
Evolution API collects anonymous telemetry data (routes used, most accessed routes, API version) to help improve the service. No sensitive or personal data is collected.
What I observed in the code (at commit fa09d37):
src/utils/sendTelemetry.ts POSTs { route, apiVersion, timestamp } to https://log.evolution-api.com/telemetry by default (when TELEMETRY_URL is unset).
src/config/env.config.ts (~L880–882): TELEMETRY.ENABLED defaults to true when TELEMETRY_ENABLED is unset — i.e. telemetry is on by default (opt-out).
src/api/guards/telemetry.guard.ts passes req.path as the route; src/api/abstract/abstract.router.ts (~L22–24) builds instance routes as <path>/:instanceName, so the transmitted route includes the user-chosen instance name.
Why I'm raising it: the disclosure is accurate in spirit, but as written it doesn't mention (a) the recipient endpoint (log.evolution-api.com), (b) that telemetry is on by default and how to disable it (TELEMETRY_ENABLED=false), or (c) that the instance name travels inside route. The last point sits a little uneasily with "no sensitive or personal data is collected."
Suggested fix: a short README addition naming the recipient, the default-on behaviour + the opt-out env var, and clarifying what route contains. I'd be glad to open a small PR against develop if you'd like.
For transparency: I used AI assistance to help find and draft this; I verified every file and line against the current source myself.
Thank you!
Hi, and thank you for Evolution API.
While reading the telemetry code I noticed a small gap between what the README states and what the code does, and I wanted to flag it kindly in case it's helpful.
What the README says (
README.md, "## Telemetry"):What I observed in the code (at commit
fa09d37):src/utils/sendTelemetry.tsPOSTs{ route, apiVersion, timestamp }tohttps://log.evolution-api.com/telemetryby default (whenTELEMETRY_URLis unset).src/config/env.config.ts(~L880–882):TELEMETRY.ENABLEDdefaults to true whenTELEMETRY_ENABLEDis unset — i.e. telemetry is on by default (opt-out).src/api/guards/telemetry.guard.tspassesreq.pathas theroute;src/api/abstract/abstract.router.ts(~L22–24) builds instance routes as<path>/:instanceName, so the transmittedrouteincludes the user-chosen instance name.Why I'm raising it: the disclosure is accurate in spirit, but as written it doesn't mention (a) the recipient endpoint (
log.evolution-api.com), (b) that telemetry is on by default and how to disable it (TELEMETRY_ENABLED=false), or (c) that the instance name travels insideroute. The last point sits a little uneasily with "no sensitive or personal data is collected."Suggested fix: a short README addition naming the recipient, the default-on behaviour + the opt-out env var, and clarifying what
routecontains. I'd be glad to open a small PR againstdevelopif you'd like.For transparency: I used AI assistance to help find and draft this; I verified every file and line against the current source myself.
Thank you!