Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canthus.org/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Research export mode is an optional, explicitly opt-in feature that allows users to export an anonymised dataset for personal research or to share with a clinician. It is separate from the standard data export feature. Standard export produces a full personal backup. Research export produces a stripped, aggregated dataset with no personally identifiable fields.
  • Opt-in only. The feature is off by default and has no passive data collection.
  • The user enables research export from Settings.
  • Consent is given per export, not as a persistent permission - each export requires a deliberate action.
  • Consent is reversible at any time by disabling the feature in Settings.
  • No data leaves the device without an explicit export action.
When the user enables research export in Settings:
“This lets you export a simplified, anonymised version of your Canthus data. Task names and exact times are removed. You can use this to share patterns with a clinician or to analyse your data yourself.”
Enable button: “Turn on research export” Disable button: “Turn off” The enable/disable state is stored in shared_preferences and is not part of the event log.

What is exported

Only fields classified as derived in the Analytics Event Schema are eligible for export. private and internal fields are never included.

Included in export

DataTransformation
Daily mana allocatedRounded to nearest 5
Daily mana usedRounded to nearest 5
Task mana costRounded to nearest integer
Cost calibration deltaIncluded as-is
Check-in tierIncluded as-is (full/quick/momentum/none)
Event dateRounded to week start (Monday)
Effort type split (physical/cognitive ratio)Included as-is
Pool engagement rateIncluded as-is

Never included in export

DataReason
Task titlesPersonal content
Body/mind/mood ratingsDirect health self-reports
Day type labelsUser-set personal context
Task identifiers (UUIDs)Could enable cross-referencing
Precise timestampsInfer daily patterns; replaced with week-level dates
PEM event detailsSensitive health signal

Anonymisation rules

  1. Strip identifiers - All UUIDs and entity IDs are replaced with sequential integers scoped to the export file. The mapping is not retained.
  2. Aggregate timestamps - All dates are rounded to the Monday of the week in which they occurred. Time-of-day is removed.
  3. Remove title fields - Task titles and any user-entered text are excluded.
  4. Round numeric fields - Mana values are rounded to the nearest 5 to reduce resolution.
  5. Re-identification check - If the export contains fewer than 14 days of data, warn the user that limited data may be easier to re-identify.

Export format

The export is a JSON file with the structure:
{
  "exportedAt": "2025-W18",
  "schemaVersion": 1,
  "days": [
    {
      "week": "2025-W16",
      "allocatedMana": 60,
      "usedMana": 45,
      "checkInTier": "full",
      "effortSplit": { "physical": 0.6, "cognitive": 0.4 }
    }
  ],
  "taskCalibrations": [
    {
      "week": "2025-W15",
      "previousCost": 10,
      "newCost": 8,
      "lifetimeCompletions": 12
    }
  ]
}
The file is saved to the device’s documents directory and can be shared via the standard iOS/Android share sheet.

Not in scope

The following are out of scope for the initial research export implementation:
  • Automatic or scheduled export
  • Cloud sync of exported data
  • Export to third-party services
  • Aggregate data sharing with Canthus (no telemetry is collected server-side)