Skip to content

ConsentML

ConsentML tracks which data reached which model during training and keeps a tamper-evident record of it. When a subject asks to be forgotten, it tells you which deployed models were trained on their data instead of leaving you to guess.

Status

Pre-release: v0 is still in development, and there is no PyPI release yet. Requires Python 3.10 or later. MIT license.

Install

Until there's a PyPI release, install from source:

pip install git+https://github.com/KaranamLokesh/consentml.git

Once a version is published, pip install consentml will work directly.

Optional extras add a Postgres data source (consentml[postgres]) and PDF dossier export (consentml[pdf]).

In six lines

from consentml import track
from consentml.sources import DataFrameSource

@track(model_name="churn", source=DataFrameSource(df, subject_id_col="email",
                                                  label="warehouse.customers"))
def train(df):
    return RandomForestClassifier().fit(df[FEATURES], df["churned"])

Where to go next

ConsentML reports which models a subject's data reached. It does not delete data and does not modify models.