# Engineering Guidance and Standards > Home Office engineering principles, standards and patterns. Principles guide the behaviour and decisions of engineering teams; standards are explicitly stated expectations; patterns are recommended approaches to solving common problems. This site is maintained by the Home Office. Each page below links to a clean Markdown version of its content. The source for this site, including the Markdown behind every page, is on GitHub: https://github.com/UKHomeOffice/engineering-guidance-and-standards ## Principles - [Automate to eliminate manual steps](http://localhost:8080/principles/automate-to-eliminate-manual-steps/index.md) - [Be collaborative](http://localhost:8080/principles/be-collaborative/index.md) - [Continuously maintain and evolve](http://localhost:8080/principles/continuously-maintain-and-evolve/index.md) - [Deploy little and often](http://localhost:8080/principles/deploy-little-and-often/index.md) - [Design for success](http://localhost:8080/principles/design-for-success/index.md) - [Design from evidence](http://localhost:8080/principles/design-from-evidence/index.md) - [End to end product ownership](http://localhost:8080/principles/end-to-end-product-ownership/index.md) - [Keep it simple](http://localhost:8080/principles/keep-it-simple/index.md) - [Monitor and measure proactively](http://localhost:8080/principles/monitor-and-measure/index.md) - [Proportionate security](http://localhost:8080/principles/proportionate-security/index.md) - [Provide a good engineering experience](http://localhost:8080/principles/provide-good-engineering-experience/index.md) - [Quality assurance and testing](http://localhost:8080/principles/quality-assurance-and-testing/index.md) - [Secure by design](http://localhost:8080/principles/secure-by-design/index.md) - [Security is everyone's responsibility](http://localhost:8080/principles/security-is-everyones-responsibility/index.md) - [Use AI tools in Home Office Digital product teams](http://localhost:8080/principles/use-ai-tools/index.md) - [Well managed code](http://localhost:8080/principles/well-managed-code/index.md) - [Work in the open](http://localhost:8080/principles/work-in-the-open/index.md) - [Write maintainable, reusable and evolutionary code](http://localhost:8080/principles/write-maintainable-reusable-and-evolutionary-code/index.md) - [Zero trust](http://localhost:8080/principles/zero-trust/index.md) ## Standards - [SEGAS-00001 — Writing a standard](http://localhost:8080/standards/writing-a-standard/index.md) - [SEGAS-00002 — Writing a principle](http://localhost:8080/standards/writing-a-principle/index.md) - [SEGAS-00003 — Minimal documentation set for a product](http://localhost:8080/standards/minimal-documentation-set-for-a-product/index.md) - [SEGAS-00004 — Open source licensing](http://localhost:8080/standards/open-source-licensing/index.md) - [SEGAS-00005 — Infrastructure as code](http://localhost:8080/standards/infrastructure-as-code/index.md) - [SEGAS-00006 — Managing secrets](http://localhost:8080/standards/managing-secrets/index.md) - [SEGAS-00007 — Managing the security of software dependencies](http://localhost:8080/standards/managing-security-software-dependencies/index.md) - [SEGAS-00008 — Accessibility](http://localhost:8080/standards/accessibility/index.md) - [SEGAS-00009 — Signing code commits](http://localhost:8080/standards/signing-code-commits/index.md) - [SEGAS-00010 — Encrypting data at rest and in transit](http://localhost:8080/standards/encrypting-data-rest-transit/index.md) - [SEGAS-00011 — Infrastructure utilisation monitoring](http://localhost:8080/standards/infrastructure-utilisation-monitoring/index.md) - [SEGAS-00012 — Low code workflow naming](http://localhost:8080/standards/low-code-workflow-naming/index.md) - [SEGAS-00013 — Developer Testing](http://localhost:8080/standards/developer-testing/index.md) - [SEGAS-00014 — Service reliability](http://localhost:8080/standards/service-reliability/index.md) - [SEGAS-00015 — Designing and Maintaining an API](http://localhost:8080/standards/designing-and-maintaining-an-api/index.md) - [SEGAS-00016 — Documenting an API](http://localhost:8080/standards/documenting-an-api/index.md) - [SEGAS-00017 — Test pyramid](http://localhost:8080/standards/test-pyramid/index.md) - [SEGAS-00018 — Collect DORA metrics](http://localhost:8080/standards/collect-dora-metrics/index.md) - [SEGAS-00020 — Use AI](http://localhost:8080/standards/use-ai/index.md) ## Patterns - [Catch defects early (shift quality left)](http://localhost:8080/patterns/catch-defects-early/index.md) - [Code reviews](http://localhost:8080/patterns/code-reviews/index.md) - [Docs as code](http://localhost:8080/patterns/docs-as-code/index.md) - [Immutable artefacts](http://localhost:8080/patterns/immutable-artefacts/index.md) - [Make small changes](http://localhost:8080/patterns/make-small-changes/index.md) - [Monitoring-as-code (MaC)](http://localhost:8080/patterns/monitoring-as-code/index.md) - [Observability by OpenTelemetry](http://localhost:8080/patterns/observability-by-opentelemetry/index.md) - [Reducing Code Complexity](http://localhost:8080/patterns/reducing-code-complexity/index.md) - [Securing application logging](http://localhost:8080/patterns/securing-application-logging/index.md) - [Selecting a deployment strategy](http://localhost:8080/patterns/selecting-a-deployment-strategy/index.md) - [Threat modelling](http://localhost:8080/patterns/threat-modelling/index.md) - [Write effective documentation](http://localhost:8080/patterns/write-effective-documentation/index.md) ## Machine-readable data - [Standards as JSON](http://localhost:8080/standards.json): all standards with their requirements - [Standards as CSV](http://localhost:8080/standards.csv): one row per standard requirement ## About - [About this site](http://localhost:8080/about/index.md): what this service is and who maintains it - [Accessibility statement](http://localhost:8080/accessibility-statement/index.md)