開発用のデータベースになるべく現実に即したデータを入れるために、本番データを取り込むことがあります。そんな時にメールアドレスをそのまま使うと誤ってメールを送信してしまったりして大問題になります。 そういった事態を防ぐべく使ってみたいのがVanirです。データのマスキングを行ってくれるソフトウェアです。

Vanirの使い方

例えば以下のような内容のSQL文があります。

INSERT INTO `users` (name, email) VALUES ("Fumiaki MATSUSHIMA", "mtsmfm@gmail.com");

設定ファイルです。nameとemailを書き換える指定です。

users: # Table name
  name: "AAA" # Simply replace all name with "AAA"
  email: "{{.First 6}}.{{.Hashed}}.{{.Last 3}}@example.com" # You can use go template here

実行するとSQLが書き換わっているのが分かります。

insert into users(name, email) values ('AAA', 'mtsmfm.w/QY2uNZ.NJfLBIGkn5H0abO5laVt5u.com@example.com');

Vanirは設定ファイルを使うことでデータのマスキングを簡単に行えます。すべて同じ値にするのではなく、条件を付けてマスキングできるのも便利です。テーブルやカラム単位なので柔軟な設定が可能でしょう。

VanirはGo製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

mtsmfm/vanir: Vanir is a database masking tool.