This is an HTML version of an attachment to the Official Information request 'Hashed advertising lists: Privacy Impact Statment + related documents'.
 
 
Facebook Custom Audiences Product 
Report on Management’s Assertion over Custom 
Audiences security controls as of August 21, 2013 
 
 
 
 
Facebook, Inc 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be 
used by anyone other than these specified parties.
 

link to page 3 link to page 6 link to page 11 link to page 11 link to page 11 link to page 15 Table of Contents 
1  Report of Independent Accountants ........................................................................................................................... 3 
2  Management Assertion over Facebook’s Custom Audiences Product ...................................................................... 6 
Exhibit A - Description of Custom Audiences Control Objectives and Controls 

3  Other Information Provided by Facebook (unaudited) ........................................................................................... 10 
Facebook’s Description of the Custom Audiences Product 
10 
Facebook’s Description of the Custom Audiences Processing and Related Controls 
10 
Custom Audiences Environment Overview 
14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 2 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties. 


1  Report of Independent Accountants 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 3 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties. 



 
 
Report of Independent Accountants 
 
 
[Scope] 
We have examined management's assertion: that as of August 21, 2013, Facebook Inc. (“Facebook”) have 
established specified control objectives ("criteria") and related controls to achieve the following assertions:  
  A: The information provided to Facebook by advertisers for the matching process in the Custom Audiences 
product is not shared with other advertisers or third-parties; 
  B: Facebook has implemented safeguards that are designed to (a) protect the security and integrity of data 
while it is within Facebook's systems and (b) guard against the accidental or unauthorized access, use, 
alteration or disclosure of data within Facebook's systems; and 
  C: The information provided to Facebook by advertisers to facilitate the creation of Custom Audiences is 
retained for only as long as needed for the matching process to complete.  Facebook appropriately disposes 
of such information once it is no longer required for the matching process. 
 
Facebook's management is responsible for the assertion. Our responsibility is to express an opinion on 
management's assertion based on our examination.  
 
Our examination was conducted in accordance with attestation standards established by the American Institute of 
Certified Public Accountants and, accordingly, included examining, on a test basis, evidence supporting 
management's assertion and performing such other procedures as we considered necessary in the circumstances. 
We believe that our examination provides a reasonable basis for our opinion. 
 
 
[Inherent limitations] 
Our examination was limited to examining the specified control objectives and related controls and did not 
consider any other control objectives or controls that may be relevant to management or the users of the Custom 
Audiences product.  The effectiveness of controls to achieve the specified control objectives is subject to inherent 
limitations and, accordingly, errors or fraud may occur and not be detected.  Furthermore, the projection to the 
future of  any evaluations of effectiveness or any conclusions about the suitability of the design of controls to 
achieve the related control objectives  is subject to the risk that controls may become inadequate because of 
changes in conditions, that the degree of compliance with such controls may deteriorate, or that changes made to 
the system or controls, or the failure to make needed changes to the system or controls, may alter the validity of 
such evaluations. 
 
 
[Other information provided by Company] 
The information included in Section 4, “Other Information Provided by Facebook (unaudited)", is presented by 
management of the Facebook to provide additional information and is not a part of management’s assertion.  
Information about the Facebook’s description of the custom audiences product has not been subjected to the 
procedures applied in the examination of management’s assertion and of the suitability of the design of controls to 
achieve the specified control objectives stated in management’s assertion and accordingly, we express no opinion 
on it. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 4 of 14 
PricewaterhouseCoopers LLP, 488 Almaden Boulevard, Suite 1800, San Jose, CA 95110 
Telephone (408) 817 3700, Fax (408) 817 5050, www.pwc.com 
 



 
 
 
 
 
[Opinion] 
In our opinion, management's assertion referred to above is fairly stated, in all material respects, based on the 
control objectives established by management set forth in Section 3 Description of Custom Audiences Control 
Objectives and Controls .  
 
 
[Restricted use] 
This report is intended solely for the information and use of Facebook and users of the Custom Audiences product 
and is not intended to be and should not be used by anyone other than these specified parties. 
 
 
 
San Jose, CA 
September 16, 2013 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 5 of 14 
PricewaterhouseCoopers LLP, 488 Almaden Boulevard, Suite 1800, San Jose, CA 95110 
Telephone (408) 817 3700, Fax (408) 817 5050, www.pwc.com 
 

 
2 Management Assertion over 
Facebook’s Custom Audiences 
Product 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 6 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 







 
Exhibit A - Description of Custom Audiences Control 
Objectives and Controls 
 
Control objective 1: Hashing of personally identifiable data elements 
Controls provide reasonable assurance that personally identifiable data elements1 (email addresses and phone 
numbers) sent to Facebook are protected through the use of the SHA 256 cryptographic hashing function. 
Control #  Control activity 
1.1 
Custom Audience personally identifiable data elements (email addresses, phone numbers) submitted 
through Power Editor are automatically hashed in the browser as part of the Power Editor upload 
process. 
1.2 
Custom Audience data (email addresses, phone numbers, Facebook user IDs) submitted through the 
API or Power Editor undergoes the following validation checks to ensure plaintext data is not 
processed and stored: 
  Data submitted that contains the “@” symbol will be rejected and will not processed or stored. 
  Data submitted that contains a “(“ or “-“ symbol will be rejected and will not be processed or 
stored. 
  Data submitted that is not within an expected range of Facebook user ID numbers will be 
rejected and will not be processed or stored. 
 
Control objective 2: Protection of data in transit over the internet 
 
Controls are in place to provide reasonable assurance that Transport Layer Security (TLS) is configured using leading 
industry practices to protect transmitted data, including the hashed data elements, when being sent to Facebook over 
the Internet. 
Control #  Control activity 
2.1 
The Facebook API servers that receive and process Custom Audience data are configured by Facebook 
with TLS encryption. 
2.2 
The only channels that Custom Audience data (email addresses, phone numbers, Facebook user IDs) 
can be received by Facebook are the API or Power Editor. 
2.3 
Digital Certificates used to provide the TLS encrypted connection between Facebook and the user’s 
browser are from a WebTrust Certified Certificate Authority, and are not expired. 
 
 
 
                                                             
1 There are three types of data elements that can be submitted through the Custom Audiences product; email 
addresses, phone numbers and Facebook user IDs.  Email addresses and phone numbers are defined as personally 
identifiable data elements, Facebook user IDs are not defined as personally identifiable data elements. 
 
 
 
 
 
 
 
 
 
 
 
 
Page 7 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 

 
Control objective 3: Usage, storage and retention of Custom Audience data 
 
Controls are in place to provide reasonable assurance that measures are taken by Facebook to a) limit the use of 
hashed data elements; and b) process and store the data for the minimum amount of time to ensure completion of the 
Custom Audience transaction and c) permanently deleted data after matching process completes. 
Control #  Control activity 
3.1 
Submitted and hashed Custom Audience data is not stored outside of the specific data store that is 
necessary for the processing of the matching.  Custom Audience data within this data store is not 
processed by any other system outside of the Custom Audiences matching process. 
3.2 
User data provided by advertisers that will be hashed (email addresses and phone numbers) does not 
exist in plain text format within the Custom Audience data store in the Facebook environment. 
3.3 
Custom Audience import activity, including access to data, is logged. 
3.4 
The Custom Audience data store is configured to automatically remove customer-provided hashed data 
after the period of time needed for the audience creation process to complete, which is defined as up to 
2 days. 
 
Control objective 4: Sharing of Custom Audiences 
 
Controls are in place to provide reasonable assurance that customer generated Custom Audiences are associated with 
the Customer's Ad Account and are not visible to other advertisers unless explicitly shared. 
Control #  Control activity 
4.1 
Custom Audiences are associated with only the Customer’s Ad Account that created/owns the account 
unless explicitly shared by the custom audience owner. 
4.2 
The Custom Audience owner has access to modify, delete or share the Custom Audience and such 
access isn't available to any other advertisers. 
 
Control objective 5: Security vulnerability assessment   
Controls are in place to provide reasonable assurance that security vulnerabilities within the Custom Audiences 
system are identified and remediated. 
Control #  Control activity 
5.1 
Power Editor and the Ads API are periodically penetration tested by a qualified 3rd party and any 
significant vulnerability identified during 3rd party reviews is remediated. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 8 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 

 
Control objective 6: Access to systems and data   
Controls are in place to provide reasonable assurance that access to relevant components of the Custom Audiences 
system are restricted to only authorized personnel. 
Control #  Control activity 
6.1 
Facebook has an Information Security Policy which is reviewed periodically and available to all 
employees. 
6.2 
New user access to privileged systems and groups is requested through a provisioning tool with an 
automated workflow. System owners authorize the nature and extent of user access privileges prior to 
granting access.  
6.3 
Role-based user access is controlled through the use of LDAP groups. If a user switches departments 
within Facebook, an alert is triggered and will be reviewed by Facebook Security to determine if the 
level of access (based on the groups the user is assigned to) is commensurate with their new job 
responsibilities. 
6.4 
Termination of employee access is an automated process performed through an Identity Management 
Termination Tool. Terminated users’ access is automatically de-provisioned from any systems in which 
they had access upon the date of their termination, including: 
  Internal Portal 
  Active Directory 
  Unix (if applicable) 
 
6.5 
Access to Custom Audiences’ production environments is controlled using two factor authentication 
and a PKI system. 
 
Control objective 7: Change management   
Controls are in place to provide reasonable assurance that updates, changes, and configuration of Custom Audiences’ 
systems are tested, reviewed and authorized prior to implementation. 
 
Control #  Control activity 
7.1 
All changes to the Custom Audiences’ infrastructure and back-end environment follow the Facebook 
coding and release process.  All code changes are peer-reviewed and tested prior to releasing to 
production. 
7.2 
Access to release code into the production environment is restricted to authorized personnel only.  
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 9 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 

 
3 Other Information Provided by 
Facebook (unaudited) 
 
Facebook’s Description of the Custom Audiences Product 
Facebook’s Custom Audiences is an advertising tool that allows advertisers the ability to target specific user groups 
based off data the advertiser already has, such as email addresses, phone numbers, or Facebook user IDs. The tool 
allows these data sets to be uploaded to Facebook’s servers, and matched with existing accounts to create targeted 
segments of specific Facebook users.  
 
The mechanism for creating audiences is through an internally developed web interface called Power Editor.  
Audiences are also able to be created through the Ads Manager API.  Facebook has implemented certain controls 
and security mechanisms to protect and secure uploaded advertiser data including specific controls within the 
matching process and restrictions on data retention and usage 
 
The process has been designed to cryptographically hash customer data that advertisers have independent of 
Facebook (such as telephone numbers and email addresses) prior to any information being received by Facebook. 
JavaScript code within the browser hashes the information, and it is passed to Facebook through the Ads API. The 
hashed data is then matched against hashed Facebook user data to determine if the corresponding accounts exist. 
The resulting output of matching accounts is called a “Custom Audience.” The Custom Audience does not list any 
specific user data, nor does it identify for advertisers specifically which users successfully matched. Rather, user 
information for advertisers is organized into aggregate demographics, describing the audience as a whole. For 
example, the Custom Audience attributes list an approximate number of matches, rather than the specific 
individuals included in the Custom Audience. Furthermore, access to the Custom Audience by an advertiser does 
not include access to Facebook unique identifiers, such as user ID, nor do the data sets contain other information 
about users in the Custom Audiences. The data set is linked to a consumer using only the Audience ID – a number 
assigned to each new Custom Audience, used by Facebook as a dataset identifier. Facebook does not keep data 
(matched or unmatched) provided by the advertiser, except for the time necessary to properly perform the match.  
After that, Facebook destroys the advertiser provided data. 
 
Facebook’s Description of the Custom Audiences Processing 
and Related Controls 
 
Getting Started and Accessing Custom Audiences 
 

1.  Accessing the Power Editor for Custom Audiences 
The first way that customers can submit data for the creation of a Custom Audience is using Power Editor. 
This can be accessed via the customers Ad Manager page. Customers download all their current Ads 
Account data into Power Editor in order to manage the account and its associated Pages.  
 
2.  Gaining access to the Ads API 
The second way to create and manage Custom Audiences is through the Ads API. In order to have access to 
make the Ads API calls, advertisers may partner with “Preferred Marketing Developers” (“PMDs”) – they 
have elevated access given to specific strategic ad partners to enable this functionality. PMDs have API keys 
used for authentication, before the API will respond to requests.  
 
 
 
 
 
 
 
 
 
 
 
 
Page 10 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 

 
Creating Custom Audiences 
 
1.  Uploading and submitting data through Power Editor and the API 
Power Editor is a web application that sends data to Facebook via the Ads API. Regardless if the 
advertiser’s PMD is directly calling the API, or using the GUI (Power Editor) themselves, the commands to 
the API are the same; and funnel through the same entry point. Customers can submit data in either .txt or 
.csv formats. The application will match on emails, UIDs, or phone numbers. 
 
2.  Hashing client-side customer provided data 
Email addresses and phone numbers are hashed prior to being sent to Facebook. The hashing always takes 
place on the client side. When uploading data using Power Editor, JavaScript within the browser is used to 
execute the hashing. Advertisers that use PMDs are also able to send information directly to the Ads API, 
bypassing the Power Editor user interface. However, because sending API commands do not include the 
inherent hashing functionality used by Power Editor when advertisers’ PMDs submit data to the API 
directly, they are responsible for inputting the hashing syntax in the API command.  
 
3.  Data validation  
Facebook limits the data that can be processed to create Custom Audiences, by including data validations 
within Custom Audiences’ web server. Facebook stores only the data that passes the validations. Checks for 
inappropriately formatted data are performed prior to processing. Facebook performs the following data 
validations for Custom Audiences’ customer input files: 
  Data submitted as Facebook userIDs are validated to ensure that they are numbers only, and no 
additional characters (such as: “@”, “,”, or “-“) are included in the string. 
  Data submitted as email addresses will not accept values that do not have the “@” symbol. 
  Data submitted as phone numbers will not accept values that have the “(” or “-” symbols. 
 
Matching Audience Data against Facebook Users.  
 
1.  Facebook hashing and matching capabilities 
Facebook hashes user account data in the same way advertisers hash their data. This allows Facebook to 
perform a matching process against the advertiser provided data, and determine which users in the 
advertiser provided data have Facebook accounts. Facebook uses a proprietary multivariate matching 
process that allows them to match data based off multiple criteria. Custom Audiences can utilize 
multivariate matching in the event that the customer provides multiple variables for each user in their 
dataset. This can also be done by specifying the parameters of the campaign and audience the advertiser 
wants to target within their Ad Manager. 
 
2.  Matching advertiser provided data with Facebook users 
The hashed advertiser provided data is sent through the Ads API to Facebook for further validation. These 
validations check to make sure the data is formatted properly and that plaintext data is rejected with an 
error message.  
 
The validated data is then compared to Facebook user data, and matches are identified to create the 
Custom Audience for the Advertiser.  
 
It is important to note that this process is asynchronous and as a result, the Custom Audience can take up 
to two days to generate (depending on the size of the audience) and be sent back to the customer.  
 
 

 
 
 
 
 
 
 
 
 
 
 
 
Page 11 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 

 
Data Protection and Deletion 
 

1.  Retention of data by Facebook 
All hashed advertiser provided data is removed once the asynchronous matching process is complete. The 
retention period can last up to 48 hours. This duration is considered by Facebook Engineering to be the 
maximum amount of time required to successfully process any Custom Audience. After that time, the 
hashed advertiser provided data is removed permanently. Additionally, any attempt to query or access the 
Advertisers’ hashed data is logged.  
 
Only privileged users have access to the environment where Custom Audience data is stored. Once the data 
is matched and the audience is created, the hashed data is not used for any other purpose, destroyed and 
not accessible from Facebook systems.  
 
Sharing of Custom Audiences 
 

1.  Sharing between ad accounts 
Custom Audiences, by default, are only visible by the Facebook user account that created them. The 
Custom Audience owner can share their audiences by using Power Editor or by making an HTTP POST 
request within the API. The Custom Audience owner specifies the Ad Account ID of the user(s) to whom 
want to share the Custom Audience. Custom Audience owners are able to share their audiences with as 
many other ad account users as they wish. Additionally, at any time, the sharing privileges may be revoked 
by the Custom Audience owner. 
 
2.  Shared account access privileges 
After Custom Audiences are shared between users, the user with whom the Custom Audiences has been 
shared does not have the ability to modify, delete, or further share the audience; nor could the information 
about the Facebook users within the Custom Audience be viewed. Only the user that created the Custom 
Audience may edit or share it. 
 
Managing Access to Related Systems 
 

1.  Access management for privileged and non-privileged systems 
Access to production systems housing the customer provided hashed data is restricted to Facebook 
authorized personnel that need it. Additionally, access to the development environment requires 2-factor 
authentication.  
 
2.  Facebook accounts 
Authentication to internal web-based tools is restricted to the employee’s individual Facebook account. 
When an employee performs certain actions, whether it is developing code, responding to incident 
requests, or logging on to a specific system, the action is attributed to an easily traceable account.  
 
3.  Changes and termination of access  
In the event an employee transfers roles within the organization, an automated alert is sent to the employee 
and the information security team for review. The Security Engineer reviews the change and communicates 
with the transferred user to make a determination as to whether any subsequent system access changes 
need to be made.  
 
Facebook utilizes an Identity Management tool to automatically de-provision user access to all systems in 
the event of their termination. This tool interfaces with the HR system of record, which indicates a change 
in the user’s employment status. As a result, the automated tool removes the user’s access from all systems, 
including physical building access. 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
Page 12 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 

 
Managing Changes to Related Systems 
 

1.  Change and configuration management 
Changes to the Custom Audiences’ infrastructure and back-end environment, including operating systems, 
databases, servers, and interfaces, follow the Facebook coding and release process. This process includes 
documentation, enterprise-wide consistent secure coding practices, peer level code reviews and testing, 
segregated environment access restrictions, and a formalized code release process. 
 
2.  Change documentation and review 
Changes submitted and released to production are automatically captured within the source-code 
repository and Facebook release libraries. The process is designed to require multiple users to review and 
authorize the change before it can be released into production.  All committed code changes are reviewed 
by an individual that is different than the developer, and are tested prior to commit to production. A history 
of every change made to a specific system or code base is captured and available for review. 
 
3.  Releasing changes to production 
Facebook has a defined code release process.  Access to release code to the production environment is 
restricted to only the engineers with responsibility and authority to release changes.  The release team will 
not release code to production unless adequate testing has been performed and all changes have been 
approved for release into production. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 13 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.
 







































 
Custom Audiences Environment Overview 
 
Legend
Facebook, Inc.
Server
9
10
Database
3
4
Web Server
Flow of data and system 
events
     Browser
Facebook’s Customer
FB Ads Manager
8
11
5
Data Validation performed
Application 
Application
Server #1
Server #2
Order of actions
#
API
Power Editor
Hashed customer user 
1a
2
data passes through this 
system
Customer
6
7
System houses hashed 
customer user data
Matching Server
1b
Audience identifier is 
passed through this 
system
Backend Databases
Process Descriptions
1a. The advertiser uploads their user data to Power Editor. 
1b. The advertiser sends their user data to the API. The customer is responsible for hashing the data, using their API command.
2. Power Editor hashes the user data input, and sends it to the API.
3. API sends the hashed data to a Facebook Web Server to redirect the data internally.
4. The hashed data is written to an internal Facebook server [Application Server #1]. 
5. Matching Server asks Application Server #1 if it has any new data – if so, it will grab the new hashes.
6. Matching Server then performs a match of the customer data and sends the matched hashes to Backend Databases. 
7. Backend Databases send back the corresponding Facebook user data to the Matching Server.
8. Matching Server creates an identifier for the new audience, then sends the ID to Application Server #2. 
9. Application Server #2 sends the audience identifier back to the Web Server.
10. The Web Server sends the audience identifier (which links to the audience’s metadata) back to the Facebook Ads Managers page.
11. The customer is then able to view and interact with the audience they have created.
 
 
 
 
 
 
 
 
 
 
 
 
 
Page 14 of 14 
This report is intended solely for the information and use of Facebook and users of Facebook's Custom Audiences product, 
defined as Advertisers who have read the Custom Audiences Terms.  The report is not intended to be and should not be used by 
anyone other than these specified parties.