Why is PhotoStructure contacting sentry.io? Or: How To Make PhotoStructure Not Phone Home

PhotoStructure was designed from the bottom-up with privacy in mind. Your photos and videos never leave your server.

There are three features in PhotoStructure that can cause it to access external networks:

1. Error reporting

PhotoStructure uses Sentry for error reporting. Read more here:

Note that the sentry domain name changes based on the API key, which is not necessarily stable, so you may see a different subdomain, but current builds seem to talk to o130922.ingest.sentry.io.

Error reporting can be disabled via the settings page, or by setting PS_REPORT_ERRORS=false.

2. Automatic license refreshing

PhotoStructure uses cryptographically signed licenses to locally store your current plan subscription status. These licenses are only valid for the current subscription period, and must be refreshed when your subscription renews or converts from a free trial to a paid subscription. To minimize the hassle of license renewals, PhotoStructure can automatically renew expired licenses in the background.

If the current license has expired and PS_AUTO_REFRESH_LICENSE is true (which is the default value), PhotoStructure will make one secure POST request to https://account.photostructure.com/ that contains several lossy one-way hashes of current system metadata. We hash all identifying metadata to only 15 characters to alleviate any privacy concerns. If your plan subscription is active, a new license will be added to your library.

If this is disabled, license renewals will require manual intervention: click โ€œUpgradeโ€ from the main menu, pick your plan, authenticate, and the license will automatically refresh.

More details are

3. Checking for upgrades

With PhotoStructure for Desktops

This is done automatically by checking the same S3 AWS bucket, https://s3-us-west-1.amazonaws.com/photostructure-installers, as the install page. Note that access logging is not captured for that endpoint.

With PhotoStructure for Node

The start.sh script calls git pull against the GitHub repository. No access logging for this activity is available to PhotoStructure, Inc.

Set the environment variable NOGIT=1 to skip the call to git pull in start.sh.

With PhotoStructure for Docker

The docker-compose recipe includes Watchtower, which will check for updates to the photostructure/server image from Docker Hub.

This automatic check can be disabled by omitting that section of the docker-compose template.