Skip to content

Lint

This content is for 0.1. Switch to the latest version for up-to-date documentation.

Completeness linting — make undeclared data visible, never guessed at.

effaced cannot find data you never declared; what it can do is point at every place such data could hide. Findings are questions for a human (“is this personal data?”), not determinations — annotate the column or exempt it consciously, in reviewable code.

Adapters provide the linters (see effaced.adapters.sqlalchemy.lint_completeness); this package holds the storage-agnostic finding model they emit.

class CompletenessFinding(BaseModel):
column: str | None = Field(default=None, min_length=1)
message: str
table: str = Field(min_length=1)

One place where the data map may be silently incomplete.

Emitted by completeness linters such as effaced.adapters.sqlalchemy.lint_completeness. A finding is a question, not a verdict: it marks data the manifest does not cover so a human can either annotate it or consciously exempt it. effaced never decides on your behalf that data is not personal.

Fields:

  • column (str | None): The unannotated field, or None when the whole store carries no effaced annotations at all.
  • message (str): A human-readable one-liner, written for CI logs.
  • table (str): Name of the store the finding points at.