You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Contributing
2
2
3
-
This portfolio repository is a local demonstration of a secure product foundation. Contributions should preserve the delivered milestone boundaries and avoid adding cloud deployment, production vulnerability-management operations beyond the local evidence model, or Repository 5 integration before their roadmap milestone.
3
+
This portfolio repository is a local demonstration of a secure product foundation. Contributions should preserve the delivered milestone boundaries and avoid adding cloud deployment, production vulnerability-management operations beyond the local evidence model, or live Repository 5 ingestion.
4
4
5
5
## Local Checks
6
6
@@ -16,6 +16,7 @@ make lifecycle-full
16
16
make evidence-full
17
17
make developer-enablement-full
18
18
make champions-full
19
+
make integration-full
19
20
```
20
21
21
22
Use deterministic synthetic data only. Do not add real patient, NHS, genomic, credential, or cloud account data.
@@ -38,6 +39,7 @@ Use deterministic synthetic data only. Do not add real patient, NHS, genomic, cr
38
39
- Run `make security-doctor` when Docker, Terraform, Gitleaks, Trivy, ZAP or local dynamic checks fail locally.
39
40
- Keep scanner suppressions narrow, owned and expiring. Use formal lifecycle exceptions only for time-bound accepted risk or deferral with rationale and approval.
40
41
- Regenerate findings, release, lifecycle, consolidated evidence and developer enablement evidence when the corresponding source material changes.
41
-
- Commits should preserve milestone boundaries. Do not add deployment, AWS execution, dashboards, external ticketing or Repository 5 integration before their roadmap milestone.
42
+
- Regenerate integration evidence with `make integration-full` when finding, release, lifecycle, consolidated evidence or integration mapping config changes.
43
+
- Commits should preserve milestone boundaries. Do not add deployment, AWS execution, dashboards, external ticketing or live Repository 5 ingestion.
42
44
43
45
Run `make champions-full` when changing the Security Champions programme, roster, metrics, maturity model, escalation policy, workshops, exercises or reports. Champion records must remain synthetic and role-based.
Milestone 12 adds a local Security Champions programme: charter, role definition, onboarding, 90-day plan, monthly learning cadence, workshops, exercises, checklists, escalation model, metrics, maturity model, evidence and reports. It uses synthetic role-based records only and does not implement Repository 5 integration, dashboards, ticketing, messaging, deployment or AWS resource creation.
42
42
43
+
Milestone 13 adds a versioned Repository 5 integration contract. It exports local product-security findings, lifecycle evidence, release-assurance evidence, lineage, ownership and metrics under `outputs/security/integration/` using contract `product-security-control-plane-export` version `1.0`. A consumer control plane can validate the bundle with `examples/integration-consumer/validate_bundle.py`. This milestone does not modify Repository 5, perform live ingestion, deploy, create AWS resources, upload externally, or start Milestone 14.
44
+
43
45
## Milestone 1 Scope
44
46
45
47
Implemented:
@@ -449,14 +451,14 @@ Milestone 3 also implements local signed JWT authentication, RBAC, object-level
449
451
450
452
Milestone 4 adds secure AWS Terraform configuration for private ECS, least-privilege role separation, encrypted DynamoDB/Secrets/CloudTrail storage, CloudWatch/CloudTrail observability and secure remote-state design. These controls are configured and locally validated, not deployed.
451
453
452
-
Planned future controls include external IdP integration, production rate limiting, Repository 5 integration and enterprise reporting.
454
+
Planned future controls include external IdP integration, production rate limiting and later enterprise workflows beyond the local Milestone 13 export contract.
453
455
454
-
This repository does not claim production-grade identity, monitoring, cloud deployment, vulnerability-management workflow or release-gate coverage.
456
+
This repository does not claim production-grade identity, monitoring, cloud deployment, external Repository 5 ingestion, vulnerability-management workflow or release-gate coverage.
455
457
456
458
## Limitations
457
459
458
-
State is in memory and resets when the app restarts. JWT keys under `tests/fixtures/keys/` are synthetic local development material only. Audit retrieval is a local demonstration endpoint restricted by role. Terraform is a non-deployed reference architecture; no AWS resource is created by the repository state. Threat-model risk ratings are qualitative portfolio artefacts, not production risk acceptances.
460
+
State is in memory and resets when the app restarts. JWT keys under `tests/fixtures/keys/` are synthetic local development material only. Audit retrieval is a local demonstration endpoint restricted by role. Terraform is a non-deployed reference architecture; no AWS resource is created by the repository state. Threat-model risk ratings are qualitative portfolio artefacts, not production risk acceptances. The Repository 5 integration contract is a deterministic local export bundle only; no external transfer or consumer ingestion is performed.
459
461
460
462
## Future Milestones
461
463
462
-
Later milestones may add external identity-provider integration, Repository 5 integration and enterprise reporting.
464
+
Later milestones may add external identity-provider integrationand enterprise reporting beyond the local export contract.
Copy file name to clipboardExpand all lines: SECURITY.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ If you identify a vulnerability or unsafe pattern in this demonstration code, op
6
6
7
7
Do not submit real patient data, NHS data, genomic data, credentials, cloud account identifiers, or sensitive operational details in reports.
8
8
9
-
Current implemented security controls include local JWT authentication, role-based and object-level authorisation, threat-model validation, non-deployed Terraform reference controls, a Milestone 5 AppSec pipeline, Milestone 6 local dynamic API security validation, Milestone 7 canonical findings normalisation, Milestone 8 local release-assurance gates, Milestone 9 vulnerability lifecycle and exception governance, and Milestone 10 consolidated security evidence reporting.
9
+
Current implemented security controls include local JWT authentication, role-based and object-level authorisation, threat-model validation, non-deployed Terraform reference controls, a Milestone 5 AppSec pipeline, Milestone 6 local dynamic API security validation, Milestone 7 canonical findings normalisation, Milestone 8 local release-assurance gates, Milestone 9 vulnerability lifecycle and exception governance, Milestone 10 consolidated security evidence reporting, Milestone 11 developer enablement, Milestone 12 Security Champions evidence, and Milestone 13 local Repository 5 integration-contract export evidence.
10
10
11
11
Run local security checks with:
12
12
@@ -20,10 +20,11 @@ make lifecycle-full
20
20
make evidence-full
21
21
make developer-enablement-full
22
22
make champions-full
23
+
make integration-full
23
24
```
24
25
25
26
Docker-backed Gitleaks, Trivy, Schemathesis and ZAP scans require a running Docker daemon when native binaries or scanner containers are used. Dynamic scan targets must remain local-only. Do not treat local scanner, findings, release, lifecycle, consolidated or Security Champions evidence as a production vulnerability-management programme, penetration test, deployment approval system, regulatory certification or external training system.
26
27
27
-
Developer guidance is under `docs/developer-security/`. It explains safe reproduction, local-only DAST boundaries, scanner suppressions, formal security exceptions, release gates and evidence expectations. Do not submit real secrets, raw JWTs, private keys, exploit payloads, cloud identifiers or personal contact details in issues, pull requests or evidence.
28
+
Developer guidance is under `docs/developer-security/`. It explains safe reproduction, local-only DAST boundaries, scanner suppressions, formal security exceptions, release gates and evidence expectations. Integration guidance is under `docs/integration/` and covers the local export contract only. Do not submit real secrets, raw JWTs, private keys, exploit payloads, cloud identifiers or personal contact details in issues, pull requests or evidence.
28
29
29
30
Security Champions guidance is under `security-champions/`. It is a synthetic role-based operating model for facilitation, learning, triage support and escalation. Champions do not replace Product Security accountability or Risk Owner acceptance.
0 commit comments