◇ OpenCyber Academy
Bachelor's · Chapter 22 · English

Chapter 22 — Privacy and data protection: data and dependencies

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 22 — Privacy and data protection: data and dependencies

Lesson map

Lesson 22 published. Map, example, EX064.

flowchart TD
  N0["Learning outcomes"]
  N1["22.1 Why vet apps"]
  N2["22.2 Scoring"]
  N3["22.3 Children's profiling"]
  N4["22.4 Living with decisions"]
  N5["Lab — Vetting classroom apps against five criteria"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Worked example"]
  EX --> Q["Exercise EX064"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["22.1 Why vet apps"]
  N2["22.2 Scoring"]
  N3["22.3 Children's profiling"]
  N4["22.4 Living with decisions"]
  N5["Lab — Vetting classroom apps against five criteria"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX064"]
[Learning outcomes]
    |
    v
[22.1 Why vet apps]
    |
    v
[22.2 Scoring]
    |
    v
[22.3 Children's profiling]
    |
    v
[22.4 Living with decisions]
    |
    v
[Lab — Vetting classroom apps against five criteria]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX064]

Learning outcomes

You will (1) vet classroom apps against criteria; (2) score dependencies consistently; (3) decide on approval or rejection.

22.1 Why vet apps

The trust depends on many classroom apps chosen by teachers. Each app is a dependency that receives pupil data. Elena develops a vetting scheme with five criteria worth two points each: a signed data processing agreement; data kept in the EEA or protected by transfer safeguards; no advertising or profiling of children; deletion on request; and collection of minimal fields. Apps scoring eight or more of ten are approved. The scheme gives teachers clear expectations and the trust a consistent decision rule.

22.2 Scoring

The lab scores five apps. MathsQuest meets every criterion and scores 10. Timetabler scores 8, missing only minimal fields, and is approved with a request to reduce fields. ClassChat scores 6, lacking an agreement and deletion on request. ReadAlong scores 4, lacking an agreement, transfer safeguards and minimal fields. QuizBlitz scores 4, lacking an agreement, transfer safeguards and a ban on advertising. Three apps are rejected until vendors address the gaps. Each criterion carries points. The scores cover agreements, transfers, data collected, advertising and deletion support for each app.

22.3 Children's profiling

Elena pays special attention to advertising and profiling. Recital 38 of the GDPR notes that children merit specific protection, in particular regarding marketing and profiling. QuizBlitz shows adverts to pupils and builds interest profiles. Even if a contract were signed, she recommends against it, because profiling children for advertising conflicts with the trust's duty of care. She explains that some criteria are not just points but red lines, and she adds a rule that advertising to pupils is an automatic rejection. No exceptions apply.

22.4 Living with decisions

Rejecting apps upsets some teachers who rely on them. Elena works with them to find approved alternatives with similar features and asks vendors of rejected apps to fix gaps. Two weeks later ClassChat signs an agreement and adds deletion, raising its score to 10. Dr. Asante notes that vetting works best as a conversation with teachers and vendors rather than a gate that only says no, because the aim is safer teaching, not fewer tools. Two rejected apps later return compliant. Teachers welcome that.

Lab — Vetting classroom apps against five criteria

# Vetting score for classroom apps: 2 points per criterion met, 0 otherwise; approve at >= 8 of 10.
crit = ["DPA signed", "data stays in EEA or safeguards", "no ads or profiling", "deletion on request", "minimal fields"]
apps = {"MathsQuest": [1, 1, 1, 1, 1], "ReadAlong": [0, 0, 1, 1, 0], "ClassChat": [0, 1, 1, 0, 1],
        "QuizBlitz": [0, 0, 0, 1, 1], "Timetabler": [1, 1, 1, 1, 0]}
for a, m in apps.items():
    s = 2 * sum(m); miss = [c for c, x in zip(crit, m) if not x]
    print(f"{a:10s} score {s:2d}/10 {'APPROVE' if s >= 8 else 'REJECT '} missing: {', '.join(miss) or '-'}")

Run with python3 lab_vet.py. Verified output:

MathsQuest score 10/10 APPROVE missing: -
ReadAlong  score  4/10 REJECT  missing: DPA signed, data stays in EEA or safeguards, minimal fields
ClassChat  score  6/10 REJECT  missing: DPA signed, deletion on request
QuizBlitz  score  4/10 REJECT  missing: DPA signed, data stays in EEA or safeguards, no ads or profiling
Timetabler score  8/10 APPROVE missing: minimal fields

Worked example

Elena's vetting approves MathsQuest (10) and Timetabler (8), rejects ClassChat (6), ReadAlong (4) and QuizBlitz (4), makes advertising to pupils a red line and sees ClassChat fixed to 10.

Synthetic case. Apps and scores are synthetic; GDPR Recital 38 is real.

Errors and limits

Equal weights treat criteria as equally important; red lines correct the worst cases.

Exercises

Synthesis

Chapter 22 vets dependencies. Chapter 23 applies statistical disclosure methods.

Continue studying — chapter 22 of 40

← Chapter 21 (draft) · Course chapter index · Chapter 23 (draft) →