Shipmind Labs

An unanswered question is not a no.

In disclosurekit, our open-source project, assess() derives the transparency duties of Article 50 of the EU AI Act from a single table of five rows: 50(1) for providers of systems that interact with people, 50(2) for machine-readable marking of synthetic content, 50(3) for emotion recognition and biometric categorisation, and 50(4) for deep fakes and for AI-generated text on matters of public interest.

The table is the easy bit. What matters is what happens when the caller cannot answer a row.

An input given as unknown does not decide anything. The duty goes to needsReview, neither applied nor cleared, and it sits on a list that a human has to close.

An input left out decides like false, but gets recorded as not stated. Same outcome, different provenance. Six months later you can still tell "we assessed this and it does not apply" apart from "nobody ever filled this field in."

Scope is a separate thing from obligation. A duty addressed to a role you never claimed shows up in neither list, not applied and not pending. If you did not claim the deployer role, the deployer duties are not your open questions.

Exemptions are mostly not exemptions either. An artistic deep fake comes back as an applied duty with a note about the manner: the disclosure still exists, it just has to be made in a way that does not ruin the work.

Our take: any engine that maps regulation to a boolean will quietly turn missing data into compliance. The honest output has three states, applied, not applied, and we do not know yet, and the third one is the only one that produces work.

If you have built this kind of checker, we would like to hear where your unknowns end up and who owns closing them.

Was this useful?

Building something similar?

or email hello@shipmindlabs.com