About
Initial goal is reducing cost/effort to run a security focused Internal Developer Platform with a small team.
Guiding Principles
For all systems and services:
-
Security by design
-
Integrate security practices throughout the development lifecycle, not as an afterthought, reference: ACSC Secure-by-Design
-
Software executing on servers (such as Websites, API's) will be constructed to meet the OWASP ASVS v4+ standard to ASVS Level 2.
-
Software executing on clients (such as Mobile Applications) will be constructed to meet the OWASP MASVS v2+ standard to MAS-L1.
-
-
Ensure service providers meet the Minimum Viable Secure Product baseline, and additional security controls from the WA Cyber Security Policy if needed by the organisations risk assessment.
-
-
Privacy by design
- Embed privacy protections into the design and architecture of IT systems and business practices from the outset, not as an afterthought, reference OAIC Privacy by design and WA Privacy and Responsible Information Sharing.
-
Data Classification and Handling
- Classify information based on sensitivity and implement appropriate handling procedures throughout the data lifecycle, reference WA Information Classification Policy
-
Align investment to risk and market capabilities
-
Systematically migrate legacy systems to modern, low-risk environments with reduced technical debt, prioritising based on business value and risk assessment, reference ACSC Managing the Risks of Legacy IT: Executive Guidance
-
Re-use or acquire systems where existing or commercial options closely match business needs
-
Develop systems where commercial options are limited or would require significant tailoring to meet business needs
-
-
Adopt CNCF Cloud-native practices
-
Architect loosely coupled systems that interoperate in a manner that is secure, resilient, manageable, sustainable, and observable.
-
Use automation and the above practices to enable your organization to make high-impact changes frequently, predictably, with minimal toil and clear separation of concerns.
-
For organisation developed systems:
-
Ownership and Open Source Licencing
- Retain ownership of code and artifacts developed with public funding and use the Apache 2.0 license to enable broad use, modification, and distribution while limiting legal liability.
-
Microservices architecture
-
Design applications as collections of loosely coupled, independently deployable services, reference Microservices Patterns
-
Adopt Service meshes to add reliability, observability, and security features uniformly across all services on a platform layer without touching the app code. They are compatible with any programming language, allowing development teams to focus on writing business logic.
-
Develop and document APIs according to the OpenAPI Specification to ensure consistency, clarity, and interoperability
-
-
Containerization and orchestration
- Package applications and dependencies into containers for consistency and portability, reference CNCF Application Definition & Image Build
-
Continuous Integration & Delivery
- Automate watching source code for changes, automatically building and testing the code, then begin moving it from development to production where it has to pass a variety of tests or validation to determine if the process should continue or fail, reference CNCF Continuous Integration & Delivery