Skip to course content
Free computer vision course

Computer Vision and Multimodal AI

Unit 11.04: Deciding what this model must never be used for

"Not yet" is the most useful category in a permitted-use list.

Never, not yet, and approved

Five uses with a verdict and a condition.

The code sorts them.

DECISIONS = [
    ("identifying individuals",  "never",  "no consent was collected for it"),
    ("performance monitoring",   "never",  "not the agreed purpose"),
    ("a second site",            "not yet", "re-validate on that site's images"),
    ("counting objects",         "not yet", "never evaluated for counting"),
    ("triage before human check", "yes",   "measured, with a stated recall"),
]
print(f"{'use':30} {'verdict':10} condition")
for use, verdict, condition in DECISIONS:
    print(f"{use:30} {verdict:10} {condition}")

never = sum(1 for _, v, _ in DECISIONS if v == "never")
conditional = sum(1 for _, v, _ in DECISIONS if v == "not yet")
print(f"\n{never} prohibited, {conditional} conditional, "
      f"{len(DECISIONS) - never - conditional} approved")

# "Not yet" is the useful middle category. It names what would have to be true,
# so a future request has an answer other than a flat no or an unconsidered yes.

"Not yet" names what would have to be true. A second site needs re-validation on that site's images; counting needs an evaluation for counting. Both are answerable requests with a stated path.

Without the middle category, every future request gets either a flat no - which invites someone to route around it - or an unconsidered yes.

The mistake this prevents

The mistake is a binary permitted/prohibited list. Most real requests are neither: they are reasonable uses that have simply never been evaluated, and the list needs somewhere to put them.

Takeaway

Use three categories, not two. "Not yet" with a stated condition turns a future request into a task rather than an argument.