Table of Contents

Telemetry

Diagnostic telemetry data is used to keep Altus secure and up-to-date, detect, diagnose and remediate problems, and also make product improvements.

Telemetry collects:

  • Metadata: Data about customer data, e.g. counts of the types records in use.
  • Performance Data: e.g. How long do operations take? How long to pages take to load?
  • Behavioural Data: e.g. What features are most popular? How do users prefer to work with their data?

This data does not include:

  • Personal Data: e.g. a user’s name or email address
  • Customer Data: e.g. the content of the user’s files, or the contents of projects, programs or portfolios managed by the product

Our systems use a unique ID associated with user’s diagnostic data. For example, if we receive diagnostic data showing that one of our apps crashed 100 times, this unique ID lets us determine if it was a single user who crashed 100 times or if it was 100 different users who each crashed once. We don’t use this unique ID to identify a specific user.

Altus uses the following telemetry tools:

Platform vendors integrated into the Altus experience may also collect telemetry. The sections below provide detailed information on what each vendor collects, how data is stored, and their security and compliance posture.

Application Insights

Data element Value collected
AppName Current app display name.
AppUniqueName Current app unique name.
AppUrl Current app URL.
BrowserLanguage First browser language from navigator.languages, with browser-language fallbacks.
OrgCurrencyId Organization base-currency ID.
OrgCurrencyName Organization base-currency name.
OrgId Dataverse organization ID.
OrgTenantId Microsoft Entra tenant ID associated with the organization.
OrgUniqueName Dataverse organization unique name.
ScreenDevicePixelRatio Browser device-pixel ratio.
ScreenHeight Browser screen height in pixels.
ScreenWidth Browser screen width in pixels.
UserCulture User culture name, such as en-US.
UserTimezoneOffset User time-zone offset in minutes from UTC.

The Application Insights Web SDK also retains its standard collection behaviour. The current Altus configuration does not enable CORS correlation or unhandled-promise-rejection tracking, and filters successful dependency records sent to js.monitor.azure.com.

Userback (User Feedback Tool)

Userback is used within Altus to collect user feedback, bug reports, and satisfaction ratings.

What Userback collects

Altus loads the Userback widget from https://static.userback.io/widget/v1.js. The widget receives the form data below.

Data element Value collected Destination or handling
form_type Userback form type: general, feature_request, or bug. Received from the Userback widget and mapped to Feedback_Name.
rating Raw rating value, such as rating_5, for a general feedback form. Received from the Userback widget; the numeric suffix is also sent as Feedback_Rating.
title User-provided feedback title. Received from the Userback widget and sent as Feedback_Title.
description User-provided feedback comments. Received from the Userback widget and sent as Feedback_Comment.
Application Insights context The same 23 custom properties listed in the Application Insights table above. Added to the payload that Altus posts to https://api.altus.pro/Feedback.
Feedback_Source UserBack. Added by Altus.
Feedback_Name Star Rating, Feature Request, Bug Report, or Unknown. Added by Altus from form_type.
Feedback_Title Userback title, or an empty string. Added by Altus.
Feedback_Comment Userback description, or an empty string. Added by Altus.
Feedback_Rating Numeric rating from 1 to 5, or an empty string. Added by Altus from the raw rating.
Feedback_RatingText Raw rating value, such as rating_5, or an empty string. Added by Altus.
Dismissed prompt Empty title, comment, rating, and rating text when a prompted user closes the widget within one hour. Added by Altus to the feedback endpoint to record the dismissal.
Vendor SDK metadata Userback's own documentation describes device and browser details, screen dimensions and colour depth, page URL, visit time, and IP address. These fields are controlled by Userback's script and are not explicitly added by Altus to the feedback payload.

Userback Security & Compliance

Aspect Detail
Certification SOC 2 Type II
GDPR Compliant
Encryption (at rest) AES-256
Encryption (in transit) 256-bit TLS
Data Storage Amazon Web Services (AWS)

Reference Links:

How to Disable Userback

Userback can be disabled via the FeedbackOptOut configuration setting. This setting is managed in the Settings Area → Configuration Settings within Altus (see How to add Telemetry settings below).

FeedbackOptOut

Setting Value Effect
FeedbackOptOut Any value (e.g. true) Disables all user feedback collection, including Userback and feedback rating prompts.

Product Fruits (Product Help Tool)

Product Fruits is used within Altus to provide in-app user onboarding, guided tours, hints, announcements, and checklists.

What Product Fruits collects

Altus sends the following initialization data to Product Fruits. The username and props.userId values use the deterministic, cyrb53 hash of the Dataverse user GUID.

Data element Value collected Destination or handling
Workspace ID Configured ProductFruitsWorkspaceId, or the cloud default. Product Fruits initialization.
Language code First two characters of formatInfoCultureName, converted to lowercase, such as en. Product Fruits initialization.
username cyrb53(userSettings.userId).toString(). Product Fruits initialization; hash derived from the user GUID.
props.userId cyrb53(userSettings.userId). Product Fruits initialization; the same hashed user identifier as a number.
props.tenantId Microsoft Entra tenant ID. Product Fruits initialization.
props.organizationGeo Organization geography code. Product Fruits initialization.
props.organizationId Dataverse organization GUID. Product Fruits initialization.
props.altusVersion Latest Altus solution version, or 0 when unavailable. Product Fruits initialization.
props.languageId User language ID. Product Fruits initialization.
props.formatInfoCultureName User culture name, such as en-US. Product Fruits initialization.
props.isExternalUser Whether the user is an external user. Product Fruits initialization.
Product help activity Product Fruits can record tours finished or skipped, hints displayed, announcements read, checklists completed or dismissed, and submitted feedback after initialization. Vendor-controlled activity data; Altus does not construct separate payloads for these interactions.

What Product Fruits Does NOT Collect

  • Product Fruits states: "We only track data necessary to operate Product Fruits and data that you explicitly consent to us tracking."
  • They present aggregate behaviour patterns (e.g. which features are working, where users struggle) — not individual-level tracking of who clicked what.
  • Customer data is never used for advertising, resale, or AI model training.
  • Cookie-less tracking is supported.

Product Fruits Security & Compliance

Aspect Detail
Certifications ISO 27001, ISO 27701, SOC 2 Type 2
GDPR Compliant
HIPAA Report available
Encryption (at rest) AES-256
Encryption (in transit) TLS 1.2+
Data Storage Amazon Web Services (AWS), default region: Ireland (EU)
Data Processing Addendum Agreed upon account creation

Reference Links:

How to Disable Product Fruits

Product Fruits can be disabled via the cloudServices configuration setting. This is a JSON-based setting managed in the Settings Area → Configuration Settings within Altus (see How to add Telemetry settings below).

Set the Enable Product Help property to false within the cloudServices setting value:

cloudServices setting

{
  "productHelpEnabled": false
}
Property Value Effect
productHelpEnabled false Disables Product Fruits entirely — no tours, hints, announcements, or checklists will be loaded.

Telemetry Settings

An Altus customer can opt out of telemetry via settings in the Altus configuration settings area. There are two settings related to telemetry, InstrumentationKey and TelemetryConnectionString.

Either a key or a connection string may be provided. If both are provided, the connection string takes priority. If the setting is set to 'false', then telemetry will be disabled.

Setting Description
InstrumentationKey Used to provide the instrumentation key. If set to 'false', telemetry collection is disabled.
TelemetryConnectionString Used to provide the connection string. If set to 'false', telemetry collection is disabled.
FeedbackOptOut If set to 'true', disables the collection of user feedback.

User Feedback Prompts

As of version 2022.05.31.3, users will periodically be prompted for feedback ratings in Altus. Customers can modify the cadence of feedback rating prompts to users. Note that if FeedbackOptOut is set to true, no prompts will occur regardless of the cadence setting.

Setting Description
userFeedbackCadence Sets the number of days between feedback rating prompts. First-time users will be prompted after 30 days. The default cadence after the first prompt is 90 days. Setting this value to 0 will disable feedback prompts.

How to add Telemetry settings

The above settings are not provided by default, so if needed they should be created manually.

  1. Open the Settings Area -> Configuration Settings
  2. Press the "New" button
  3. Enter the desired setting name from above in the "Name" field.
  4. Enter the desired value in the "Value" field.

Example to disable periodic feedback collection:

New Setting Example

Telemetry for Documentation Usage

Content served by this website utilises the following telemetry services:

  • Google Analytics
  • LinkedIn Analytics

Dataverse Analytics

Microsoft provides built-in analytics for Dataverse, giving administrators visibility into usage, performance, storage, and overall system health across their environment. This helps support monitoring, optimisation, and informed decision-making.

For more information, refer to the official Microsoft documentation