public function boot(): void
{
$data = $this->app->make('personal_data');
$data->forget('examples', 'user_id');
$data->forget('example_votes', 'user_id');
}That is all. Account erasure and the data export both read this registry, so your tables are covered by both without you writing anything for either.
🚨 A registry rather than a list somewhere central, and the reason is a real bug. Account erasure once used a hardcoded list of tables — which included one belonging to an example extension. On any install without that extension, erasing an account threw.
Register every table that describes a person, including ones that only record behaviour. What somebody read is personal data too.