Skip to main content

Application Monitoring

We at MutableSecurity want the software we write to be useful for the open source community. To achieve this, two aspects are mandatory:

  1. Understanding how the application is used, such that our efforts could be concentrated in the functionalities and modules mostly used; and
  2. Rapidly fixing issues and bugs encountered by our users.

Monitoring Architecture

We established active communication channels (templates for GitHub issues, contact forms and an email address) and passive feedback streams, in the form of non-intrusive application monitoring:

  • Usage monitoring with handcrafted data collection and storage; and
  • Crash reporting with Sentry.

If you want to see the code implementing them, you can check the monitoring module here.

Collected Data

The data that is reported with the usage monitoring module is composed of:

  • Managed security solution
  • Operation
  • A boolean indicating if you are a developer
  • The operating system
  • Version of Python interpreter
  • Version of MutableSecurity
  • Timezone.

Stored data

In addition, for each crash, Sentry reports:

  • Stack trace
  • Used command
  • Version of Python interpreter.

Sentry stacktrace

Sentry details about runtime

Opting Out

If you considered that the data collection approach described above is too intrusive, you can disable the application monitoring in MutableSecurity by creating a .mutablesecurity file in the working directory, with the content below:

application_monitoring: False

For any thoughts related to this aspect (for example, if you consider we could achieve this in a better way), please write us a line at [email protected].