OpenCyber Academy
Bachelor's · Chapter 26 · English
Course code: OCA-096Chapter 26: OCA-096-C026

Chapter 26 — Privacy and data protection: methods II

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

Lesson map

Lesson 26 published. Map, example, EX076.

flowchart TD
  N0["Learning outcomes"]
  N1["26.1 Photo consent"]
  N2["26.2 Matching"]
  N3["26.3 Withdrawal"]
  N4["26.4 Children's voice"]
  N5["Lab — Matching photographs against consent records"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Worked example"]
  EX --> Q["Exercise EX076"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["26.1 Photo consent"]
  N2["26.2 Matching"]
  N3["26.3 Withdrawal"]
  N4["26.4 Children's voice"]
  N5["Lab — Matching photographs against consent records"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX076"]
[Learning outcomes]
    |
    v
[26.1 Photo consent]
    |
    v
[26.2 Matching]
    |
    v
[26.3 Withdrawal]
    |
    v
[26.4 Children's voice]
    |
    v
[Lab — Matching photographs against consent records]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX076]

Learning outcomes

You will (1) match uses of data against consent records; (2) handle missing or refused consent; (3) design consent processes for children.

26.1 Photo consent

The trust asks parents for consent before using photographs in newsletters. Elena builds a check that matches pupils tagged in planned photographs against the consent register. A pupil is cleared only if consent is recorded as given; refusal or missing records mean the photograph must be held. Consent is one of the clearest cases where the law requires a record, because Article 7(1) of the GDPR requires the controller to be able to demonstrate that consent was given. Records are kept centrally.

26.2 Matching

The lab checks three planned photographs. The science fair photograph is cleared. The sports day photograph includes P02, whose parents refused. The choir photograph includes P05, whose parents refused, and P08, who has no record at all. Two of three photographs need action. Elena explains that a missing record is treated like a refusal, because consent cannot be assumed. The newsletter editor crops or replaces the two photographs. Her lab matched photographs against consent records for every pupil shown. Two photographs lacked records.

26.3 Withdrawal

Consent can be withdrawn at any time, as Article 7(3) states, and withdrawal must be as easy as giving consent. Elena designs a form on the parent portal for withdrawal and a process to remove photographs from future publications. Past printed newsletters cannot be recalled, which she explains honestly to parents in the consent form. She notes that being clear about what withdrawal can and cannot do is part of informed consent. Printed newsletters cannot be recalled. Online copies are removed within days.

26.4 Children's voice

Older pupils may have their own views. Elena recommends asking pupils aged around twelve and above whether they are happy for photographs to be used, alongside parental consent, and respecting their objection. She notes that GDPR Article 8 concerns consent for online services and sets age thresholds, but that the broader principle of respecting children's views as they mature applies more widely. Dr. Asante agrees that listening to children improves both fairness and trust. Older pupils now sign alongside parents. Their views are recorded.

Lab — Matching photographs against consent records

# Match pupils tagged in planned newsletter photos against the photo-consent register.
consent = {"P01": True, "P02": False, "P03": True, "P04": True, "P05": False, "P06": True, "P07": True, "P08": None}
photos = {"sports day": ["P01", "P02", "P03"], "science fair": ["P04", "P06", "P07"], "choir": ["P05", "P08", "P01"]}
for ev, kids in photos.items():
    bad = [k for k in kids if consent.get(k) is not True]
    print(f"{ev:12s} {'OK' if not bad else 'HOLD: ' + ', '.join(f'{k} ({consent[k]})' for k in bad)}")
print("photos needing action:", sum(1 for ks in photos.values() if any(consent.get(k) is not True for k in ks)), "of", len(photos))

Run with python3 lab_photo.py. Verified output:

sports day   HOLD: P02 (False)
science fair OK
choir        HOLD: P05 (False), P08 (None)
photos needing action: 2 of 3

Worked example

Elena's check clears the science fair photograph and holds two others (P02 refused; P05 refused and P08 with no record), designs easy withdrawal and adds older pupils' own views.

Synthetic case. Pupils and records are synthetic; GDPR Articles 7 and 8 are real.

Errors and limits

Tagging must be accurate; untagged pupils in photographs escape the check.

Exercises

Synthesis

Chapter 26 manages consent. Chapter 27 verifies controls.

Continue studying — chapter 26 of 40

← Chapter 25 (draft) · Course chapter index · Chapter 27 (draft) →

Worked answers

EX076. As without consent, so the photo is held.

EX077. Sports day because of P02 and choir because of P05 and P08.

EX078. Withdrawal stops future use, but past printed newsletters cannot be recalled.