arrilot/laravel-data-anonymization

Laravel bridge for arrilot/data-anonymization

Maintainers

👁 Arrilot

Package info

github.com/arrilot/laravel-data-anonymization

pkg:composer/arrilot/laravel-data-anonymization

Statistics

Installs: 562 073

Dependents: 0

Suggesters: 0

Stars: 38

Open Issues: 3

2.0.0 2020-10-11 19:12 UTC

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT e3c7fae3be2d4a71b59dc2f7b1cc26614088662e

  • Nekrasov Ilya <nekrasov.ilya90.woop@gmail.com>

databaselaravelanonymization

This package is auto-updated.

Last update: 2026-06-08 20:53:30 UTC


README

👁 Latest Stable Version
👁 Total Downloads
👁 Scrutinizer Quality Score

Laravel Data Anonymization

Installation

  1. composer require arrilot/laravel-data-anonymization

  2. Add "Database\\Anonymization\\": "database/anonymization/", to composer.json -> autoload -> psr-4

  3. php artisan anonymization:install

Usage

The package is designed to be as much consistent with Laravel built-in seeders as possible.

Bootstrapping

php artisan anonymization:install creates two files:

  1. database/anonymization/DatabaseAnonymizer.php
<?php

namespace Database\Anonymization;

use Arrilot\LaravelDataAnonymization\AbstractAnonymizer;

class DatabaseAnonymizer extends AbstractAnonymizer
{
 /**
 * Run the database anonymization.
 *
 * @return void
 */
 public function run()
 {
 $this->call(UserTableAnonymizer::class);
 }
}
  1. database/anonymization/UserTableAnonymizer.php
<?php

namespace Database\Anonymization;

use Arrilot\DataAnonymization\Blueprint;
use Arrilot\LaravelDataAnonymization\AbstractAnonymizer;
use Faker\Generator as Faker;

class UsersAnonymizer extends AbstractAnonymizer
{
 /**
 * Run the database anonymization.
 *
 * @return void
 */
 public function run()
 {
 // For more info about this part read here https://github.com/arrilot/data-anonymization
 $this->table('users', function (Blueprint $table) {

 $table->column('email')->replaceWith(function(Faker $faker) {
 return $faker->unique()->email;
 });

 $table->column('name')->replaceWith('John Doe');
 });
 }
}

DatabaseAnonymizer is an entry point into anonymization. It runs other anonymizers. UsersAnonymizer is a useful built-in example. You can modify it and create other anonymizers for other tables using generator.

Generator command

php artisan make:anonymizer AccountsAnonymizer. Similar to make:seeder

Running the anonymization

Anonymization is performed using php artisan db:anonymize command. Its signature is identical with db:seed command.