Integrity Requirements
The Integrity requirements define anti-malware and identity verification requirements, and how the system will ensure data contained within stays consistent.
Definitions
Goals
- To prevent unauthorised access to the system.
- To protect the system, store owners, and customers from malware.
- To enshrine the privacy and safety of data entered.
- To verify the identity of the entity performing an action before allowing the action to proceed.
Exclusions
- HTML entered by the store owner for page content is assumed to be safe.
Requirements
- The system shall require any administrative action to require a valid login session from a store owner.
- The system shall automatically expire a store owner login session after seven days, to prevent session reuse attacks.
- The system shall allow a store owner to sign out of a login session at any time, upon which no further administrative action can take place until the store owner signs in again.
- The system shall allow a store owner to manage any authentication token(s) or external device sign ins from a centralised page.
- The system shall scan all files uploaded by the store owner for malware.
- If the system detects malware, the system shall perform the following
actions:
- The system shall remove the file containing malware from storage.
- The system shall notify the store owner that the file contained malware and that it could not be uploaded.
- The system shall write a log message with all of the following
information:
- The remote IP of the computer where the upload originated.
- The logged in store owner account that attempted the upload.
- All request headers of the request containing the malware.
- The system shall put the store into maintenance mode until an administrator with WTI can review the store and the account.
- If the system detects malware, the system shall perform the following
actions:
- The system shall allow a customer to sign up for an account to track
their order history and optionally receive offers via email.
- The system shall send a confirmation email to the email provided to ensure the customer has control of the email address they provided.
- The system shall consider the email address already authenticated if the customer authenticates using an external service.
- If the system identifies previous orders under the same email address, the system shall associate them with the account after the email address has been confirmed.
- Upon the request for deletion of customer PII from a customer or store owner, the system shall replace the PII with placeholder data. The existing data must not be able to be recreated using this placeholder data. The account must be disabled in a way that does not allow further logins. The account must not be removed from the database to preserve referential integrity in the database.
- The system shall not allow items that have been previously purchased to be removed. The system shall instead offer to hide them.
- The system shall not allow collections that contain items to be removed. The system shall instead offer to hide them.
- The system shall not allow shipping services that are associated with an order to be removed. The system shall instead offer to hide them.
- All data stored by the system in any database system shall be stored in a
manner that prevents access to the data by unauthorised parties. This shall
include, but is not limited to:
- The data shall be encrypted at rest to prevent tampering and unauthorised access.
- The data shall be encrypted at all points in transit.
- The data shall be stored in a volume that is inaccessible to any other container-based workloads on the system.
- The data shall be backed up no less often than once per week, and the contents of the backup shall be encrypted in a manner that allows only authorised WTI administration to read and restore it.
- All pages that contain store owner-controlled HTML stanzas shall be scanned
no less often than once per week for malicious links, code, iframes, images,
and other data that may cause any harm to a visitor or another storefront.
- If malicious data is found, the system shall immediately be placed in maintenance mode until an administrator with WTI can review the store and the account.
- All changes made to the store data shall be logged to an Audit Log with at
least the following properties:
- The logged in store owner account that made the change.
- The remote IP of the computer that initiated the change.
- The properties that were changed, including old and new values.
- The Audit Log shall be stored in a manner that it cannot be tampered with, modified, or read by a store owner or customer. The Audit Log shall only be readable by authorised administrators with WTI.