NetSendo
Platform Updates

NetSendo v2.6.0: Opt-In Anonymous Telemetry, Off by Default

NetSendo Team6 min read

If you self-host your marketing platform, you probably do it partly to keep your data in your own hands. That raises an obvious question for any open-source project: how do maintainers learn which versions are still running and which features matter, without taking data you never agreed to share?

NetSendo v2.6.0 answers this with a consented, anonymous usage report that is off by default. In 2.5.1 we removed the hard-coded Google Analytics. This release replaces it with a documented, opt-in report that you control. It sends nothing to Google or any other third party.

TL;DR: NetSendo v2.6.0 adds optional anonymous telemetry under Settings → Telemetry. Nothing is sent until an administrator turns it on. When it's on, your installation sends one daily report with its version, deployment type, which features are in use and rough counts given only as ranges. Contact data, message content and domains are never sent. You can preview the exact report beforehand, and switching it off asks netsendo.com to delete every report from your installation.

🚀 What's New in v2.6.0

Think of it like a survey card that comes with a product. It's blank until you decide to fill it in, you can read every question first, and you can ask for it back later. Here are the main points:

🔒

Off by Default

Nothing is sent until an administrator turns it on.

👀

See Before You Agree

The settings page shows the exact report generated from your installation.

🗑️

Off Means Deleted

Switching it off asks netsendo.com to delete all reports for your installation id.

⚙️

Environment Control

Set it with environment variables and lock the switch across your servers.

What Is Sent

Once a day, the report is sent as JSON to POST https://netsendo.com/api/telemetry. It contains:

  • A random installation id created when you turn telemetry on. It is not derived from your domain, licence key, email or any account.
  • Environment info: NetSendo version, plan (silver/gold/none), deployment type (docker/cloud/other), panel language, and the PHP, database and queue driver versions.
  • Counts, given only as ranges (0, 1-10, 11-100, 101-1k, 1k-10k, 10k-100k, 100k-1m, 1m+): contacts, lists, users and campaigns; emails and SMS sent in the last 30 days; active funnels and automations; webinars, forms and mailboxes.
  • True/false flags for SMS, AI, Brain, MCP, API keys, webhooks, CRM, webinars and A/B tests, plus the WooCommerce, WordPress, n8n, Shopify, Stripe, Polar, Calendly, Google Calendar and Zoom integrations.
  • Provider types only, such as smtp, twilio or openai.

What Is Never Sent

  • 🚫 Contacts or any of their data, including email addresses and names
  • 🚫 Message subjects or content
  • 🚫 Names of lists, forms or campaigns
  • 🚫 Your domain, host names, keys or logs
ℹ️ Note: Every field is listed in docs/TELEMETRY.md and on the telemetry documentation page. netsendo.com stores only those fields and does not store your IP address.

Asked Once, Then Left Alone

Administrators see a short question on the dashboard with three options: Turn on, See what is sent or No, thanks. NetSendo saves whichever answer you give, and the question doesn't come back.

Scheduling and Reliability

The netsendo:telemetry command runs every hour at minute 17. It sends a report once a day, at an hour based on your installation id, so installations don't all send at the same moment. If the last report is more than two days old, it sends straight away. If a send fails, the error is logged and your installation is not affected. Dormant (sleeping) Cloud instances send nothing, just like every other scheduled job.

💼 Benefits & Use Cases

🛒

E-commerce Stores

If you run WooCommerce or Shopify stores, your customer data is the most sensitive thing you hold. With this design:

  • Only a true/false flag shows that an integration is in use. Orders and customers are never sent.
  • Volumes appear only as ranges such as 10k-100k, so they don't reveal exact business figures.
  • Telling NetSendo which integrations you use helps decide which ones get fixes and improvements first.
🚀

SaaS Teams with Compliance Reviews

Security and legal teams need to know what data leaves your servers before they approve anything. You can:

  • Run php artisan netsendo:telemetry --show and attach the output to your review.
  • Point reviewers to the public field list and the automated tests that check it.
  • Fix the decision with NETSENDO_TELEMETRY so nobody can change it from the panel.
🏢

Agencies Running Many Installations

If you manage NetSendo for several clients, you can apply one policy everywhere:

  • Set the environment variable in your shared Docker Compose template.
  • Each installation that opts in gets its own random id, so client installations can't be linked to each other.
  • If a client changes their mind, switching telemetry off triggers a deletion request for that installation's reports.

🛠️ Step-by-Step Guide

  1. Update to v2.6.0

    Pull the new image and restart your stack:

    docker compose pull
    docker compose up -d
  2. Preview the report

    Before you decide, check exactly what would be sent:

    php artisan netsendo:telemetry --show

    Or open Settings → Telemetry. This page is visible to administrators only. It shows the generated report, the installation id and when the last report was sent.

  3. Decide in the panel

    Turn the switch on or leave it off. You can also answer the one-time question on the dashboard.

  4. Or lock it with environment variables
    # .env
    NETSENDO_TELEMETRY=false      # or true. If unset, the panel decides (default: off)
    NETSENDO_DEPLOYMENT=docker    # docker | cloud | other
    # NETSENDO_TELEMETRY_URL=...  # optional: use a different endpoint

    When NETSENDO_TELEMETRY is set, it overrides the panel setting and the switch is locked.

  5. Make sure the scheduler is running

    Reports are sent by the Laravel scheduler, so your scheduler or cron container must be running.

⚠️ Common pitfall: If you set NETSENDO_TELEMETRY and the panel switch looks greyed out, nothing is broken. The environment variable takes priority. Remove it if you want to control telemetry from the panel instead.
💡 Pro Tip: If you leave NETSENDO_DEPLOYMENT unset, NetSendo reports docker when /.dockerenv exists and other when it doesn't. Set it explicitly if your container runtime doesn't create that file.

🎯 Expert Tips

1
Review before you opt in

Save the output of --show with your compliance documents. It records exactly what you agreed to share.

2
Manage policy as code

Put NETSENDO_TELEMETRY in your infrastructure templates so every installation follows the same policy and no one can change it by accident.

3
Know what switching off does

Turning telemetry off sends DELETE /api/telemetry/{id}, which asks netsendo.com to delete every report for that installation. If you opt in again later, you get a new id.

4
Check your outbound firewall

If you opt in and your servers restrict outbound traffic, allow HTTPS to netsendo.com. Failed sends are only logged, so they won't break anything. You just won't contribute data.

🎯 Conclusion

NetSendo v2.6.0 shows how telemetry can respect a self-hosted setup. To sum up:

  • It's off by default, and only an administrator can turn it on.
  • Every field is documented, and you can preview the exact report.
  • Counts are sent only as ranges, and nothing identifies you or your contacts.
  • Switching it off asks netsendo.com to delete your past reports.

If you turn it on, you help us see which versions are still running and decide what to fix and build first. If you don't, nothing changes. You still have full data ownership, unlimited sending and no vendor lock-in.

Ready to Upgrade?

Get NetSendo v2.6.0 and decide for yourself what to share:

Browse our integrations, read the full documentation, or ⭐ star us on GitHub.

#telemetry#privacy#self-hosted#release#gdpr#docker
Share