Four enums name what makes a processing activity, or a transfer, lawful. Each constant carries the GDPR provision
in article(). Three of them also carry, in fideslangName(), the value fideslang’s privacy declarations use for
the same concept, so that an activity can be exported to a tool that speaks fideslang. requiresLegalReference()
says whether the basis rests on Union or Member State law, which the activity should then name in its
legalReference.
| Enum | GDPR | fideslang field | fideslangName() |
requiresLegalReference() |
|---|---|---|---|---|
LegalBasis |
art. 6.1 | legal_basis_for_processing |
yes | yes |
SpecialCategoryCondition |
art. 9.2 | special_category_legal_basis |
yes | yes |
CriminalDataBasis |
art. 10 | — | no | yes |
TransferSafeguard |
chapter V | legal_basis_for_transfers |
yes | no |
All four are @since 0.1.0. The descriptions below summarise the provisions to help pick a constant; they are not
legal advice.
io.github.devbpm.linneo.processing.LegalBasis — public enum
The lawful basis of a processing activity (GDPR article 6.1). Every activity that processes personal data needs one;
without it the checker reports the error MISSING_LEGAL_BASIS.
| Constant | article() |
fideslangName() |
requiresLegalReference() |
Meaning |
|---|---|---|---|---|
CONSENT |
6.1.a |
Consent |
false |
The data subject has given consent for one or more specific purposes. |
CONTRACT |
6.1.b |
Contract |
false |
Necessary for a contract with the data subject, or for steps at their request before entering into one. |
LEGAL_OBLIGATION |
6.1.c |
Legal obligations |
true |
Necessary to comply with a legal obligation of the controller, laid down by law. |
VITAL_INTERESTS |
6.1.d |
Vital interests |
false |
Necessary to protect the vital interests of the data subject or of another natural person. |
PUBLIC_INTEREST |
6.1.e |
Public interest |
true |
Necessary for a task in the public interest or in the exercise of official authority, laid down by law. |
LEGITIMATE_INTERESTS |
6.1.f |
Legitimate interests |
false |
Necessary for the legitimate interests of the controller or a third party, balanced against the data subject’s rights. State the interest with legitimateInterest. |
requiresLegalReference() is true for the two bases that article 6.3 requires to be laid down by law.
io.github.devbpm.linneo.processing.SpecialCategoryCondition — public enum
The exception to the prohibition of processing special categories of personal data (GDPR article 9.2). An activity
that processes a category of nature SPECIAL_CATEGORY needs one, besides its lawful basis; without it the checker
reports the error MISSING_SPECIAL_CATEGORY_CONDITION. Declaring one for an activity without special category data
is the warning UNNEEDED_CONDITION.
| Constant | article() |
fideslangName() |
requiresLegalReference() |
|---|---|---|---|
EXPLICIT_CONSENT |
9.2.a |
Explicit consent |
false |
EMPLOYMENT_AND_SOCIAL_SECURITY |
9.2.b |
Employment, social security and social protection |
true |
VITAL_INTERESTS |
9.2.c |
Vital interests |
false |
NOT_FOR_PROFIT_BODIES |
9.2.d |
Not-for-profit bodies |
false |
MADE_PUBLIC_BY_THE_DATA_SUBJECT |
9.2.e |
Made public by the data subject |
false |
LEGAL_CLAIMS |
9.2.f |
Legal claims or judicial acts |
false |
SUBSTANTIAL_PUBLIC_INTEREST |
9.2.g |
Reasons of substantial public interest (with a basis in law) |
true |
HEALTH_OR_SOCIAL_CARE |
9.2.h |
Health or social care (with a basis in law) |
true |
PUBLIC_HEALTH |
9.2.i |
Public health (with a basis in law) |
true |
ARCHIVING_RESEARCH_AND_STATISTICS |
9.2.j |
Archiving, research and statistics (with a basis in law) |
true |
io.github.devbpm.linneo.processing.CriminalDataBasis — public enum
What allows an activity to process personal data relating to criminal convictions and offences (GDPR article 10).
An activity that processes a category of nature CRIMINAL_OFFENCE needs one; without it the checker reports the
error MISSING_CRIMINAL_DATA_BASIS. Declaring one for an activity without criminal offence data is the warning
UNNEEDED_CONDITION. fideslang has no field for it, so this enum has no fideslangName().
| Constant | article() |
requiresLegalReference() |
Meaning |
|---|---|---|---|
OFFICIAL_AUTHORITY |
10 |
false |
The processing is carried out under the control of official authority. |
AUTHORISED_BY_LAW |
10 |
true |
The processing is authorised by Union or Member State law that provides appropriate safeguards. |
io.github.devbpm.linneo.processing.TransferSafeguard — public enum
What allows a transfer of personal data to a third country or an international organisation (GDPR chapter V). It is
the safeguard of a Transfer. It has no requiresLegalReference().
| Constant | article() |
fideslangName() |
Meaning |
|---|---|---|---|
ADEQUACY_DECISION |
45 |
Adequacy Decision |
The Commission has decided that the destination ensures an adequate level of protection. |
STANDARD_CONTRACTUAL_CLAUSES |
46.2.c |
SCCs |
Standard data protection clauses adopted by the Commission. |
BINDING_CORPORATE_RULES |
47 |
BCRs |
Binding corporate rules approved by a supervisory authority. |
DEROGATION |
49 |
Other |
A derogation for a specific situation, such as explicit consent or the performance of a contract. |
When an activity’s bases rest on law, the checker collects the articles of every such basis that applies — the
lawful basis, the article 9.2 condition when the activity processes special category data, and the article 10 basis
when it processes criminal offence data — and, if legalReference is null, reports one MISSING_LEGAL_REFERENCE
warning naming them all:
WARNING MISSING_LEGAL_REFERENCE screening: GDPR article(s) 6.1.c, 9.2.b, 10 rest on Union or Member State law; name it as the legal reference
legalReference is a single text for the whole activity, so name every law involved in it, for example
Higher Education Act, arts. 12 and 31 (a fictional law).
See also: ProcessingActivity · ProcessingChecker · Processing activities