Surf CircleCI

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.

Surf supports:

  • 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.

Quick Start

To compile and run surf, please follow this guide:
Getting Started.

Anonymization Functions

surf comes with a suite of masking/randomization/faking functions. Anonymization functions can be configured with parameters. Check Anonymization Functions for details.


View Github