Compliance · EU AI Act Art. 13
Behavioural Telemetry — Methodology Note
How Keypra computes Crafting Fluency signals from your typing cadence.
Core declaration
Behavioural Telemetry is a self-reflective writing-process signal computed by deterministic arithmetic in the browser and stored privately for the member. No AI model is involved in computing the signal. The data is never disclosed, in any form, to your employer, manager, lecturer or any other third party. This is enforced at the database (Row Level Security) and verified by the absence of any read path on employer-facing surfaces.
What is collected
When you have explicitly opted in to the Behavioural Telemetry consent category in Settings → Privacy, each writing session of meaningful length (more than 5 characters typed and at least 2 seconds of activity) records the following ten fields into the private crafting_sessions table:
total_duration_ms— wall-clock duration of the sessionactive_typing_ms— time between keystrokes shorter than the pause thresholdpause_count— number of pauses longer than 3 secondsavg_pause_duration_ms— average pause lengthrevision_count— number of delete-then-retype cycles longer than 5 characterschars_typed,chars_deleted,final_char_countthinking_ratio— pause time / total durationrevision_ratio— chars deleted / chars typed
No keystroke content is ever recorded. No timestamps of individual keystrokes are stored. No metadata about which application or device you are using is captured. The session is tagged with one of four contexts: lesson, sandbox, lab,assessment.
The formulas
thinking_ratio = MIN(1, total_pause_time_ms / total_duration_ms)
revision_ratio = MIN(1, chars_deleted / chars_typed)
pause = gap between keystrokes >= 3000 ms
revision_cycle = a deletion run of >= 5 characters followed by typingBoth ratios are bounded to the range 0–1 and rounded to four decimal places. There is no machine-learning model, no inference of mood or affect, and no scoring of the user's prose.
What this signal IS — and IS NOT
| Crafting Fluency IS | Crafting Fluency is NOT |
|---|---|
| A self-reflective view of how you draft prompts over time | An emotion or affect detector (no inference of joy, anger, stress, fatigue or any other affective state) |
| A proxy for engagement with a writing task | A productivity score, performance metric, or worker-monitoring tool |
| A line on a chart that you alone can see | Data visible to your employer, manager, lecturer, organisation admin or Keypra customer-success |
| Computed by a deterministic counter in your browser | An AI judgment, classification, or psychometric assessment |
EU AI Act analysis
Article 5(1)(f) — emotion recognition in the workplace
The Article 5(1)(f) prohibition targets AI systems that infer emotions or affective states of natural persons in workplace and education contexts. Crafting Fluency does not infer emotions: it counts pauses and deletions and divides them by duration. There is no inference layer, no model output, no labelling of states such as "stressed", "frustrated" or "engaged". The result is a writing-cadence statistic, not an emotional inference, and it is shown only to the member who produced it.
Annex III §4 — workplace performance monitoring
Annex III §4 covers AI systems used to monitor and evaluate the performance and behaviour of workers. Crafting Fluency is not used for this purpose by Keypra and may not be used for this purpose by Keypra customers. Section "Prohibited Uses" of our Terms of Service and the Behavioural Telemetry annex of our Data Processing Agreement contractually prohibit Customers and Organisations from using the Service, or any data derived from it, for hiring, promotion, performance evaluation, disciplinary action, termination or any other employment-related decision.
Where the signal is shown
Crafting Fluency is rendered in exactly one place: the Competence page, inside the member's own private workspace. Employer-facing surfaces (Manager Portal, Reporting Hub, Org Admin dashboards, Academy Team console) do not read this table and have no aggregate view of it. This restriction is enforced by Row Level Security policies on thecrafting_sessions table (only the owning user can read their own rows; Keypra platform staff have a read policy used solely for incident response and are bound by the DPA).
Your controls
- Opt in / opt out. The signal is collected only after you grant the Behavioural Telemetry consent in Settings → Privacy. Withdrawing consent stops collection immediately.
- Purge historical data. When you withdraw consent, the revocation dialog offers a one-click "Delete historical data" option that permanently removes all your
crafting_sessionsrows. - Automatic retention floor. Rows older than 12 months are deleted by an automated weekly cleanup (Sundays 03:23 UTC).
- Export. All rows are included in your GDPR Article 20 export at Settings → My Data.
- Account deletion. All rows are permanently and irreversibly deleted within 30 days of account termination.
Limitations
- Cadence is not competence. Slow typing is not poor thinking; fast typing is not insight.
- No psychometric validation. The signal is a writing-process descriptor, not a validated assessment.
- Context-bound. Sessions shorter than 5 characters or 2 seconds are not stored.
- Not for evaluation. This signal must not be used by Customers or third parties to evaluate, rank, or make decisions about any individual.
Related methodologies
- AI Literacy Index methodology — Art. 13 transparency note
- Competence scoring methodology — Art. 14 pass mark + contestability
- EU AI Act overview
- Data Processing Agreement — §8b purpose limitation
Version 1.0 — Issued 2026-05-07 — Keypra — Contact: compliance@keypra.com