System Deployment

These checklists are copy-pastable in Markdown and can be used in Github Pull Requests.

Asset Management

Removal of assets that mandatory legal and regulatory requirements of critical business processes: Hubspot (Marketing Data) and Narrative Customers (marketplace database):

- [ ] When removing an asset, if the asset contains data, has the [Data Asset Retirement](../playbooks/asset-management#data-asset-retirement) process been followed?

Backups and Data Retention

- [ ] When creating Cloudwatch Log Groups, is the data kept for 3 years, as instructed in the [Backup Playbook](/playbooks/backup)? - [ ] When creating a RDS Database, is the data backed up to a different AWS region, as instructed in the [Backup Playbook](/playbooks/backup)? - [ ] When creating a Github repository, has the [backup-daily](https://github.com/narrative-io/common-build/blob/main/.github/workflows/backup-daily.yml) workflow been added?

Maintainability

- [ ] Does the project provide up to date `README.md`, `architecture.md`, and `operation.md` documentation files following the [README Template](../templates/project-readme/)? - [ ] Have the software components been added to the [Service Inventory](../services.md) to maintain a global view of what exactly is running in production? - [ ] Have all the pull-requests been mapped to the corresponding Shortcut stories using the appropriate git support in Shortcut (namely: push code using the branch name suggested in the Shortcut story)? - [ ] Has the code review ticket URL been added to the corresponding Shortcut story?

Monitoring

- [ ] Have the monitoring infrastructure and alarms been updated to support the [Monitoring and Maintenance](../playbooks/software-development-life-cycle#monitoring-and-maintenance) needs?

Security

- [ ] Have authentication and authorization mechanisms been implemented for the new functionality? - [ ] Role-based Access Control (RBAC) - [ ] Principle of least permissions - [ ] Has the new functionality been built in a way that protects against [OWASP 10 security risks](https://owasp.org/Top10/)? - A01:2021-Broken Access Control - A02:2021-Cryptographic Failures - A03:2021-Injection - A04:2021-Insecure Design - A05:2021-Security Misconfiguration - A06:2021-Vulnerable and Outdated Components - A07:2021-Identification and Authentication Failures - A08:2021-Software and Data Integrity Failures - A09:2021-Security Logging and Monitoring Failures - A10:2021-Server-Side Request Forgery - [ ] When creating a database, has the database been setup with daily backups to satisfy the [Daily Database Backups](https://app.drata.com/compliance/monitoring/107) Drata test? - [ ] Have all passwords been stored with a unique salt and as a one-way hash using an approved password hashing algorithm (pbkdf2, bcrypt, scrypt) and an HMAC-SHA256 according to the [Password Policy](https://app.drata.com/policy-builder/14)