Surf is a database proxy that is capable of de-identifying PII and anonymizing sentive data fields. Supported databases include Postgres, MySQL, MariaDB, CockroachDB, and Redshift.
Surf requires minimum configuration and you can start anonymizing your dataset immmediately.
SSL Connections – Surf proxies data between clients and servers through SSL connections if configured. However, CA verification is not supported yet.
Prepared Statements – Besides simple queries, Surf also supports anonymizing the resultset of prepared statements.
Multiple Connections – Surf is able to serve multiple connections at the same time. However, Surf is not a connection pooler.
Query Aliases – Surf anonymizes the fields even though the column names have been aliased, e.g.
select last_name as lname from users
Surf runs on Linux, macOS, and Windows.
Notice: Surf can be used as a PII gatekeeper for development, customer support and data analytics teams. Surf should not be used as a database connection pooler along the critical paths of your product.
To compile and run
surf, please follow this guide:
surf comes with a suite of masking/randomization/faking functions. Anonymization functions can be configured with parameters. Check Anonymization Functions for details.