Here you can find security requirements to help with the data protection questions in the data acesss renewal assessment.
These questions are the same as the ones in the individual data protection assessment being sent out after January of 2025.
These data security requirements are intended to provide helpful information and assist you in completing the data protection section of Meta’s data access renewal assessment. For any given question, please note there may be more than one way to demonstrate that you meet our requirements. Only a member of Meta’s review team can make a final determination on whether the evidence provided meets the requirements of the assessment. In addition to using this guide, we recommend consulting with your Chief Information Officer, the person with an equivalent role within your organization, or a qualified cybersecurity firm when preparing your responses to ensure your responses are complete and accurate.
A subset of the data access renewal assessment is focused on Platform Term 6, which outlines data security requirements. We recommend you utilize this document to understand the expectations, requirements, and related evidence with respect to data security use and processing as defined in Meta Platform Terms. `
Create a data flow diagram or description that shows how your app or system processes Platform Data.
To meet our requirements, the data flow diagram or description should include:
When submitting evidence to support your data security measures, please refer to the Evidence Guide provided in this document for examples of acceptable evidence. We accept common document file types, screenshots, and screen recordings. Ensure that files are not password protected and do not exceed 2 GB each. Accepted file types include .xls, .xlsx, .csv, .doc, .docx, .pdf, .txt, .jpeg, .jpg, .png, .ppt, .pptx, .mov, .mp4, .zip, and .zipx.
Redacting Sensitive Data
Before submission, remove any sensitive data from your evidence. This includes, but is not limited to:
Types of Evidence Required
Meta requires two types of documentation for each data security question:
Guidelines for Evidence Submission
backendstorage-8, datastored-8.a, hosting-8.b, hosting-8.b.i
In order to perform our reviews accurately, we need to first understand how Platform Data is processed and stored by your system or application.
This section asks if you store Platform Data in a backend environment, and if so:
None
Not familiar with security in server or backend environments? Review these resources.
Developers are not required to provide evidence in response to this question.
backendencryption1-9a, backendencryption2-9.a, backendencryption-9.b, backendencryption-9.b.i, backendencryption-9.b.ii, hostingsecurity-9.c.i, hostingsecurity-9.d.i
Encryption at rest protects Platform Data by making the data indecipherable without a separate decryption key. This provides an additional layer of protection against unauthorized read access in cloud or server environments where Platform Data tends to be concentrated.
You must encrypt all Platform Data stored within your backend environments. You may be asked to provide policy/procedure documentation and screenshot proof to demonstrate you have implemented this control.
This section asks if Platform Data stored in your backend environment is protected with encryption at rest or another acceptable approach to reduce the risk of data loss.
Backendencryption-9.b.i, backendencryption-9.b.ii Requirements
You must encrypt all Platform Data stored within your backend environments. You may be asked to provide policy/procedure documentation and screenshot proof to demonstrate you have implemented this control.
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
Backendencryption-9.b.i - Provide a written explanation (e.g., a policy or procedure document) that states ALL Platform Data is encrypted at rest, including back-ups if necessary. | backendencryption-9.b.ii - Provide one or more screenshots showing your implementation of encryption at rest. For example, one or more of these:
|
Hostingsecurity-9.c.i, hostingsecurity-9.d.i Requirements
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
hostingsecurity-9.c.i - Provide a written explanation that confirms your hosting provider’s ISO 27001 or SOC 2 audit had in-scope physical security and secure media disposal controls.
| hostingsecurity-9.d.i- Provide your hosting provider’s ISO 27001 or SOC 2 Type 2 certificate.
|
Not familiar with encryption at rest in a server or backend environment? Review these resources.
devicestorage-10, devicestorage1-10.a, devicestorage2-10.a, devicestorage-10.a.i, devicestorage-10.a.ii,devicestorage-10.a.iii, devicestorage-10.a.iv, devicestorage1-10.b, devicestorage2-10.b, devicestorage1-10.c, devicestorage2-10.c, devicestorage2-10.b, devicestorage-10.ci, devicestorage-10.c.ii, devicestorage-10.d
If your organization allows Platform Data on devices like employee laptops or removable storage (e.g., USB drives), that data is at high risk of unauthorized access if the device is lost or stolen. We require developers to take steps to limit this risk to Platform Data.
If you don’t allow storage of Platform Data on devices, but it is still accessible to members of your organization, we require developers to take steps to limit unauthorized use/storage.
This question asks if you have technical or administrative controls to limit the risk of loss of confidentiality of Platform Data stored on organizational and personal devices.
Changed questionnaire to ask specifically whether technical or administrative controls are in place specific to protection of storage of Platform Data on organizational devices and removable media.
devicestorage1-10.a, devicestorage2-10.a Requirements
This requirement applies to all developers that have at least one member that could process Platform Data on an organizational or personal device such as a work or personal laptop computer.
If you store Platform Data on organizational devices or removable media:
You must have EITHER technical controls OR administrative controls relevant to Platform Data stored on organizational devices (e.g., laptops) and removable media.
Acceptable Technical Controls:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
devicestorage-10.a.i - A written explanation (e.g., a policy or procedure document) that outlines you have implemented ONE of the following controls:
| devicestorage-10.a.ii - A screenshot that demonstrates you have implemented one of the accepted technical controls (see left). Please note the control must be enforced at an organizational level through a configuration dashboard, ruleset, etc. A screenshot of the control implemented on a single device will NOT be accepted. |
Acceptable Administrative Controls:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
devicestorage-10.a.iii - Policy/procedure document (must be a file upload) that states BOTH of the following:
| devicestorage-10.a.iv - Confirm that all people in your organization who may process Platform Data on organizational or personal devices:
|
Devicestorage1-10.b, devicestorage2-10.b, devicestorage1-10.c, devicestorage2-10.c Requirements
If you do not store platform data on organizational devices but it is still accessible to members of your organization, we require that you forbid storage of platform data on all organizational devices and removable media:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
devicestorage-10.c.i - A written policy/procedure document (must be an uploaded file) that clearly states that storage of Platform Data on organizational devices (laptops, tablets, etc.) and removable media (USB devices, phones, etc.) is forbidden. Please highlight or circle the clause in your policy that relates to this control. If you have data classification and data handling policies to determine controls on platform data storage, please indicate how you have classified Platform Data. | devicestorage-10.c.ii - Confirm that all people in your organization:
|
devicestorage-10.d Requirements
If you store Platform Data neither in a backend environment nor on organizational devices and removable media, please provide a data flow diagram to demonstrate how you are processing Platform Data. Your diagram should:
Not familiar with encryption at rest on organizational and personal devices? Review these resources.
transitencryption1-11.a, transitencryption1-11.b, transitencryption1-11.d, transitencryption1-11.a.i, transitencryption1-11.a.ii
Platform Data transmitted across the internet is accessible to anyone that can observe the network traffic. Therefore it must be protected with encryption to prevent those unauthorized parties from being able to read the data.
This section asks if you always protect Platform Data with encryption in transit when sending it over the Internet.
None
This requirement applies to all developers who transmit Platform Data over the internet for any reason other than requests directly to Meta:
transitencryption1-11.a Requirements
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
transitencryption1-11.a.i - Provide a written explanation (e.g., a policy or procedure document) that demonstrates you enable TLS 1.2 encryption or greater for all network connections that pass through, or connect, or cross public networks where Platform Data is transmitted. Your policy should include the following:
| transitencryption1-11.a.ii - Provide evidence (e.g., a full screen capture of the results of a Qualys SSL report run against one of your web domains) that demonstrates you enable security protocol TLS 1.2 or greater for data in transit. |
The table below summarizes encryption in transit policy for different transmission types:
| Type of Transmission | Encryption in Transit Policy |
|---|---|
To and from end user devices (mobile phones, PCs, tablets, etc.) and the server or cloud infrastructure |
|
To and from the server or cloud infrastructure and any remote server, cloud infrastructure, or 4th party service |
|
To and from components entirely within the private data center, server, or cloud infrastructure |
|
To and from Meta and any device, server, or cloud infrastructure |
|
Not familiar with encryption in transit? Review these resources.
testing1-12.a, testing-12.a.i, testing-12.a.ii, testing1-12.b, testing-12.b.i, testing-12.b.ii, testing1-12.c, testing-12.c.i, testing-12.c.ii
You must test for vulnerabilities and security issues so that they can be discovered proactively, ideally preventing security incidents before they happen
This section asks about steps you take to test your software and cloud configuration for vulnerabilities and security issues.
testing1-12.a, testing1-12.b Requirements
This requirement is applicable to all developers.
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
testing-12.a.i, testing-12.b.i - Provide a written explanation (e.g., a policy or procedure document) that states how you test the software you use to process Platform Data for vulnerabilities and security issues. The following testing procedures should all be included in your written explanation:
| testing-12.a.ii, testing-12.b.ii - You must have tested your software used to process Platform Data for security vulnerabilities by conducting ONE of the following:
The following details should be included in your evidence:
Remove or redact sensitive information such as detailed vulnerability reproduction steps from the evidence before submitting. |
Vulnerability Disclosure Program (VDP)
If you are operating a functioning Vulnerability Disclosure Program (VDP), e.g., using the BugCrowd, HackerOne platforms, or another platform meeting industry standards, you may present this as an alternative protection instead of a pen test or vulnerability scan. To demonstrate this, you must submit the following evidence:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
testing-12.a.i, testing-12.b.i - Provide a written description or policy/procedure document that describes your vulnerability disclosure program. Your document should state that:
| testing-12.a.ii, testing-12.b.ii - Provide screenshot proof of use of your vulnerability disclosure program:
Remove or redact sensitive information such as detailed vulnerability reproduction steps from the evidence before submitting. |
testing1-12.c Requirements
If you store Platform Data in a backend environment hosted by a cloud provider, you must test your cloud configuration for security issues. This requirement applies irrespective of the hosting approach (e.g., BaaS, PaaS, IaaS, self hosted, or hybrid), except if you are using a no-code backend.
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
testing-12.c.i - Provide a written explanation (e.g., a policy or procedure document) that includes all of the following:
| testing-12.c.ii - You must have tested the cloud environments you use to process Platform Data for security misconfigurations. The evidence you provide must include all of the following:
Remove or redact sensitive information such as detailed vulnerability reproduction steps from the evidence before submitting. |
Not familiar with application and cloud security testing? Review these resources.
accesstoken-13.a, appsecret-13.b, accesstoken-13.c, accesstoken-13.c.i, accesstoken-13.c.ii, appsecret-13.d, appsecret-13.d.i, appsecret-13.d.ii
App secrets and access tokens are fundamental to the security of how Meta APIs make decisions about what actions to allow. If an unauthorized party gains access to these credentials they could call Meta APIs - impersonating the real developer - and take any of the actions that we have granted the app (e.g., reading data from Meta APIs about an app’s users).
This section asks questions about how you protect these attributes on the client and server side, as applicable.
Refactored to ask about protecting app secret and access tokens on client and backend environments separately.
accesstoken-13.cRequirements
This question pertains to protecting Meta User Access Tokens stored in your backend environment.
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
accesstoken-13.c.i - Provide a written explanation (e.g., a policy or procedure document) that describes your approach to protecting Meta User Access Tokens: Your written explanation should include:
| accesstoken-13.c.ii - Provide screenshot proof that Meta User Access Tokens are:
If access tokens are not encrypted/ protected server side, you must:
Make sure that you do not include (i.e., remove or redact) the plaintext values of any secrets or access tokens in the evidence that you submit. |
accesstoken-13.d Requirements
This question pertains to storage of Meta App Secrets.
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
Q3.1-13.d.i - Provide a written explanation (e.g., a policy or procedure document) that describes your approach to protecting the Meta App Secret. Your response should include:
| accesstoken-13.d.ii - Provide screenshot proof that the Meta App Secret is either:
If the developer does not protect or encrypt the app secret
Make sure that you do not include (i.e., please remove or redact) the plaintext values of any secrets or access tokens in the evidence that you submit. |
Acceptable Alternative Protections
mfa1-15.a.i, mfa1-15.a.ii, mfa1-15.a.iii, mfa1-15.b.i, mfa1-15.b.ii, mfa1-15.b.iii, mfa1-15.e, mfa-15.e.iii, mfa-15.e.iv
A common technique used by adversaries to gain access to confidential data is to start by gaining access to tools that a developer uses to build or operate their app/system. Sophisticated tools exist to hack into accounts that are protected only by password and present the risk of account takeover attacks. The intent of these questions is to ensure developers have implemented multi-factor authentication to mitigate these risks.
This section asks about how you protect accounts against unauthorized access using multi factor authentication or another approach.
Refactored to ask about protecting against unauthorized access using multi-factor authentication or another approach for each of these separately:
mfa1-15.a.i Requirements
Related to an organization’s processing of Platform Data, remote access to all tools listed above (if applicable) must be protected with multi factor authentication (i.e., not simply a password):
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
mfa1-15.a.ii - Provide a written explanation (e.g., a policy or procedure document) that states your requirements for multi-factor authentication (MFA) or other measures to prevent account takeover. Your explanation should include requirements for all access to any collaboration and communication tools, and code repositories. | mfa1-15.a.iii - Provide screenshot proof that MFA is enforced on ONE or MORE of the tools applicable to the environment that are listed above (i.e., collaboration tools and code repository) Your evidence should show how you use authentication to protect all access to any collaboration and communication tools, and code repositories. |
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
mfa1-15.b.ii - Provide a written explanation (e.g., a policy or procedure document) that states your requirements for multi-factor authentication (MFA) or other measures to prevent account takeover. Your explanation should include requirements for all access to any collaboration and communication tools, code repositories, software deployment tools, and backend administrative tools. | mfa1-15.b.iii - Provide screenshot proof that MFA is enforced on ONE or MORE of the tools applicable to the environment that are listed above (i.e., collaboration tools, code repositories, software deployment tools, and backend administrative tools). Your evidence should show how you use authentication to protect all access to any collaboration and communication tools, code repositories, software deployment tools, and backend administrative tools. |
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
mfa-15.e.iii - Provide a written explanation (e.g., a policy or procedure document) that states your requirements for multi-factor authentication (MFA) or other measures to prevent account takeover. Your explanation should include your authentication requirements for all remote access to servers via a tool like SSH. | mfa-15.e.iv - Provide screenshot proof that MFA is enforced on ONE or MORE of the tools applicable to the environment that are listed above (i.e., remote access to servers via a tool like SSH) Your explanation should include your authentication requirements for all remote access to servers via a tool like SSH. |
Acceptable Alternative Protections
Meta recommends that developers protect against account takeover by requiring MFA. However, when MFA is not used, developers must take other steps to protect against unauthorized access in line with industry best practices for password complexity rules (see The Center for Internet Security (CIS) Password Policy Guide here: https://www.cisecurity.org/insights/white-papers/cis-password-policy-guide).
Requirements for DPAs submitted PRIOR TO May 15, 2025
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
mfa1-15.a.ii/b.ii/e.iii - Provide a written explanation (e.g., a policy or procedure document) that demonstrates you enforce:
| mfa1-15.a.iii/b.iii/e.iv - Provide a global configuration or dashboard demonstrating password complexity policies. |
Requirements for DPAs submitted AFTER May 15, 2025
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
mfa1-15.a.ii/b.ii/e.iii - Provide a written explanation (e.g., a policy or procedure document) that demonstrates you enforce:
| mfa1-15.a.iii/b.iii/e.iv - Provide a global configuration or dashboard demonstrating password complexity policies. |
Not familiar with protecting accounts from unauthorized access? Review these resources.
maintaining-16, maintaining-16.a.i, maintaining-16.a.ii
Accounts are the basic unit of management for granting people access to systems, data, and administrative functions. Having good account management hygiene is an important part of preventing unauthorized use of accounts to gain access to Platform Data. The intent of this question is to ensure developers are following the principle of least privilege and have a systematic way for managing accounts, granting permissions or privileges, and revoking access when it’s no longer needed.
This section asks about the systems and processes you use to manage access to your systems / tools.
Refactored to ask a question about the specific processes you have in place for reviewing and revoking access under different circumstances.
You must have a tool or process for managing accounts for each of the these tools/systems/apps:
You must regularly review (i.e., not less than once every 12 months) access grants and have a process for revoking access when: (1) it’s no longer required, (2) no longer being used, and (3) when a person departs the organization
Meta does not require:
maintaining-16.a Requirements
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
maintaining-16.a.i - Provide a written explanation (e.g., a policy or procedure document) that covers your account management practices. We expect this document to contain procedures for:
| maintaining-16.a.ii - Provide evidence from AT LEAST ONE of the following tools or processes that is in place to manage accounts (or denote as not applicable to the environment):
For example you could provide evidence that demonstrates people that have departed your organization have had their access to these tools revoked |
Not familiar with access controls? Review these resources.
patches1-17.a, updated-17.a.i, updated-17.a.ii, mobile1-17.b, mobile-17.b.i, mobile-17.b.ii, patches1-17.c, antivirus-17.c.i, antivirus-17.c.ii
Software components are routinely updated or patched to resolve security vulnerabilities, and eventually these components will reach their end of life when they are no longer supported. Developers who package or rely on these components must keep up to date to avoid running software with known vulnerabilities. Therefore, developers using Meta’s platform must have a systematic way to identify, prioritize, and apply patches for all relevant parts of their tech stack.
This section asks about the systems and processes you use to keep software up to date.
Refactored to ask about your approach for keeping different types of software up to date, in separate questions:
For the following software components, as applicable, you must have a defined and repeatable way of identifying available patches that resolve security vulnerabilities, prioritizing based on risk, and applying patches as an ongoing activity:
Meta does not require the use of any particular tool for these activities. It’s common that an organization would use different approaches for keeping different types of software up to date (e.g., libraries that are packaged with the app vs operating system updates for employee laptops).
This requirement applies irrespective of the hosting approach (e.g., BaaS, PaaS, IaaS, self hosted, or hybrid), although the set of components that you are responsible for keeping up to date will vary Start by identifying the in-scope types of software in the environment, e.g., Libraries, SDKs, Packages, Virtual Machine images, app containers, and operating systems, Browsers, operating systems, and other applications used by the employees / contributors.
You may have one or more tools that you use for the following activities:
patches1-17.a Requirements related to third-party software in your backend environment, if applicable:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
updated-17.a.i - Provide a written explanation (e.g., a policy or procedure document) that describes how you keep code and backend environments updated. Your response should describe that your patch management system:
| updated-17.a.ii - Provide screenshot evidence that shows how you keep code and backend environments updated. This evidence can come in the form of:
|
mobile1-17.b Requirements related to third-party code in your mobile app, if applicable:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
mobile-17.b.i - Provide a written explanation (e.g., a policy or procedure document) that describes how you keep third-party code in your mobile app updated. Your response should describe that your patch management system:
| mobile-17.b.ii - Provide screenshot evidence that shows how you keep third-party code in your mobile app updated. This evidence can come in the form of:
|
patches1-17.c Requirements related to other third-party software used by people in your organization to build and operate your app, if applicable:
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
antivirus-17.c.i - Provide a written explanation (e.g., a policy or procedure document) that describes how you keep third-party software and antivirus software on organizational devices updated. Your response should describe that your patch management system:
| antivirus-17.c.ii - Provide screenshot evidence that shows how you keep third-party software and antivirus software on organizational devices updated. This evidence can come in the form of:
|
Not familiar with keeping software up to date? Review these resources.
auditlog-22, auditlog-22.a, auditlog-22.a.i, auditlog-22.b, auditlog-22.b.iv, auditlog-22.b.iii, auditlog-22.c, auditlog-22.d, auditlog-22.e.1, auditlog-22.e.ii, auditlog-22.e.iii, auditlog-22.f.1, auditlog-22.f.ii, auditlog-22.g, auditlog-22.g.i
Without reliable log files it can be difficult to impossible for a developer to detect unauthorized access to Platform Data. Audit logs allow an organization to record the fact that an event occurred, e.g. that a particular user executed a query against database tables containing Platform Data. These logs can then support processes like triggering automated alerts based on suspicious activity or forensic analysis after a security incident has been identified. The intent of this question is to determine if developers have implemented controls around admin and application event logging to flag and escalate potential security incidents.
auditlog-22 Requirements
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
auditlog-22.a - Provide a written explanation (e.g., a policy or procedure document)that describes your approach to collecting admin audit logs. Your response should:
| auditlog-22.a.i - Provide screenshot evidence that shows how you collect admin audit logs. This evidence can come in the form of:
Evidence provided must meet the following requirements:
|
auditlog-22.b Requirements
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
auditlog-22.b.iv - Provide a written explanation (e.g., a policy or procedure document) that describes your approach to collecting application event logs. Your response should:
| auditlog-22.b.iii - Provide screenshot evidence that shows how you collect application event logs. This evidence can come in the form of:
Evidence provided must meet the following requirements:
|
auditlog-22.e.1 Requirements
| Policy/Procedure Evidence | Implementation Evidence |
|---|---|
auditlog-22.e.ii - Provide a written explanation (e.g., a policy or procedure document) that describes your approach to reviewing application event logs. Your response should:
Please note that due to anticipatedly large amounts of data we expect to be captured in application event logs, we will not accept responses that indicate reviews conducted are solely manual. | auditlog-22.e.iii - Provide screenshot evidence that shows how you review application event logs to find indicators of everyday security events or incidents that result in risk or damage. Evidence provided must meet the following requirements: An alert or output that demonstrates active use of an automated solution to detect and investigate security-relevant events found in your logs. Acceptable Evidence examples:
The key is that the evidence demonstrates active use of an automated solution to detect and initiate a follow up resulting from security-relevant events found in your logs. |
auditlog-22.f.1 Requirements
| Policy/Procedure Evidence (no screenshot evidence needed): |
|---|
auditlog-22.f.ii - Provide a written explanation (e.g., a policy or procedure document) that describes your approach to reviewing admin logs. Your response should:
Please note that manual review of admin audit logs is acceptable. |
auditlog-22.g Requirements
| Policy/Procedure Evidence (no screenshot evidence needed): |
|---|
auditlog-22.g.i - Provide a written explanation (e.g., a policy or procedure document) that states how you investigate everyday security events or incidents in your backend environments where Platform Data is stored, which result in risk or damage to your audit logs. Your approach should describe:
|
Not familiar with audit logs? Review these resources:
The following resources are not available free-of-charge, but offer valuable information and guidance:
securityprocesses-23
Ensuring personnel are properly trained in the safe handling and protection of confidential data, including Platform Data, along with recognizing signs of potential compromise will reduce the likelihood a security incident.
None
Not familiar with personnel security? Review these resources:
Developers are not required to provide evidence in response to this question.