ABCD
1
Security checklist from https://mvsp.dev/
2
3
1 Business controls
4
ControlDescription
5
1.1 Vulnerability reportsPublish the point of contact for security reports on your website

Respond to security reports within a reasonable time frame
Yeshttps://www.pullapprove.com/security/
6
1.2 Customer testingOn request, enable your customers or their delegates to test the security of your application

Test on a non-production environment if it closely resembles the production environment in functionality

Ensure non-production environments do not contain production data
NoNot something we've done before. Let us know if you're interested.
7
1.3 Self-assessmentPerform annual (at a minimum) security self-assessments using this documentYes
8
1.4 External testingContract a security vendor to perform annual, comprehensive penetration tests on your systemsNoPotentially 2025
9
1.5 TrainingImplement role-specific security training for your personnel that is relevant to their business functionYes
10
1.6 ComplianceComply with all industry security standards relevant to your business such as PCI DSS, HITRUST, ISO27001, and SSAE 18

Comply with local laws and regulations in jurisdictions applicable to your company and your customers, such as GDPR, Binding Corporate Rules, and Standard Contractual Clauses

Ensure data localization requirements are implemented in line with local regulations and contractual obligations
Yes
11
1.7 Incident handlingNotify your customers about a breach without undue delay, no later than 72 hours upon discovery

Include the following information in the notification:
Relevant point of contact

Preliminary technical analysis of the breach

Remediation plan with reasonable timelines
Yes
12
1.8 Data handlingEnsure media sanitization processes based on NIST SP 800-88 or equivalent are implementedYes
13
2 Application design controls
14
ControlDescription
15
2.1 Single Sign-OnImplement single sign-on using modern and industry standard protocolsYes
16
2.2 HTTPS-onlyRedirect traffic from HTTP protocol (port 80) to HTTPS (port 443)
This does not apply to secure protocols designed to run on top of unencrypted connections, such as OCSP



Scan and address issues using freely available modern TLS scanning tools

Include the Strict-Transport-Security header on all pages with the includeSubdomains directive
Yes
17
2.3 Security HeadersApply appropriate security headers to reduce the application attack surface and limit post exploitation:

Set a minimally permissive Content Security Policy

Limit the ability to iframe sensitive application content where appropriate
YesCurrently working to use CSP more
18
2.4 Password policyIf password authentication is used in addition to single sign-on:

Do not limit the permitted characters that can be used

Do not limit the length of the password to anything below 64 characters

Do not use secret questions as a sole password reset requirement

Require email verification of a password change request

Require the current password in addition to the new password during password change

Store passwords in a hashed and salted format using a memory-hard or CPU-hard one-way hash function

Enforce appropriate account lockout and brute-force protection on account access
N/A
19
2.5 Security librariesUse frameworks, template languages, or libraries that systemically address implementation weaknesses by escaping the outputs and sanitizing the inputs

Example: ORM for database access, UI framework for rendering DOM
Yes
20
2.6 Dependency PatchingApply security patches with a severity score of "medium" or higher, or ensure equivalent mitigations are available for all components of the application stack within one month of the patch releaseYes
21
2.7 LoggingKeep logs of:

Users logging in and out

Read, write, delete operations on application and system users and objects

Security settings changes (including disabling logging)

Application owner access to customer data (access transparency)


Logs must include user ID, IP address, valid timestamp, type of action performed, and object of this action. Logs must be stored for at least 30 days, and should not contain sensitive data or payloads.
Yes
22
2.8 EncryptionUse available means of encryption to protect sensitive data in transit between systems and at rest in online data storages and backupsYes
23
3 Application implementation controls
24
ControlDescription
25
3.1 List of dataMaintain a list of sensitive data types that the application is expected to processYes
26
3.2 Data flow diagramMaintain an up-to-date diagram indicating how sensitive data reaches your systems and where it ends up being storedYes
27
3.3 Vulnerability preventionTrain your developers and implement development guidelines to prevent at least the following vulnerabilities:

Authorization bypass. Example: Accessing other customers' data or admin features from a regular account

Insecure session ID. Examples: Guessable token; a token stored in an insecure location (e.g. cookie without secure and httpOnly flags set)

Injections. Examples: SQL injection, NoSQL injection, XXE, OS command injection

Cross-site scripting. Examples: Calling insecure JavaScript functions, performing insecure DOM manipulations, echoing back user input into HTML without escaping

Cross-site request forgery. Example: Accepting requests with an Origin header from a different domain

Use of vulnerable libraries. Example: Using server-side frameworks or JavaScript libraries with known vulnerabilities
Yes
28
3.4 Time to fix vulnerabilitiesProduce and deploy patches to address application vulnerabilities that materially impact security within 90 days of discoveryYes
29
3.5 Build processBuild processes must be fully scripted/automated and generate provenance (SLSA Level 1)Yes
30
4 Operational controls
31
ControlDescription
32
4.1 Physical accessValidate the physical security of relevant facilities by ensuring the following controls are in place:

Layered perimeter controls and interior barriers

Managed access to keys

Entry and exit logs

Appropriate response plan for intruder alerts
N/A
33
4.2 Logical accessLimit sensitive data access exclusively to users with a legitimate need. The data owner must authorize such access

Deactivate redundant accounts and expired access grants in a timely manner

Perform regular reviews of access to validate need to know

Ensure remote access to customer data or production systems requires the use of Multi-Factor Authentication
Yes
34
4.3 SubprocessorsPublish a list of third-party companies with access to customer data on your website

Assess third-party companies annually against this baseline
Yes
35
4.4 Backup and Disaster recoverySecurely back up all data to a different location than where the application is running

Maintain and periodically test disaster recovery plans

Periodically test backup restoration
Yes