Skip to content

docs: extend security explanation page to cover SEC0030 V1.3 gaps#2571

Open
tonyandrewmeyer wants to merge 3 commits into
canonical:mainfrom
tonyandrewmeyer:docs/extend-security-explanation
Open

docs: extend security explanation page to cover SEC0030 V1.3 gaps#2571
tonyandrewmeyer wants to merge 3 commits into
canonical:mainfrom
tonyandrewmeyer:docs/extend-security-explanation

Conversation

@tonyandrewmeyer

Copy link
Copy Markdown
Collaborator

This PR extends docs/explanation/security.md to close the SEC0030 V1.3 gaps. This is an extension only; existing sections are unchanged except for the noted Cryptography and Security-lifecycle additions.

Added sections:

  • Product architecture: trust boundaries (Juju, ops, charm code) and what ops controls versus delegates, referencing the existing Inter-process communication and Charm unit databases sections.
  • Secure by Design: design rationale for the minimal security surface (no network listeners, crypto delegated to Juju and the stdlib, bounded persistence).
  • Logging and monitoring: charm logging via juju-log through the Python stdlib logging module, with a reference to SEC0045 security-event logging.
  • Secure decommissioning: pip uninstall plus removal of the state and tracing databases, with a note on confirming secure deletion outside Juju's normal flow.

Extended sections:

  • Cryptography D/E: name the actual crypto-providing packages (Python stdlib ssl via urllib.request) and add an explicit at-rest statement.
  • Security lifecycle: supported-version matrix mirroring SECURITY.md, PyPI update delivery, version-verification commands, and EOL stance.

claude and others added 2 commits June 12, 2026 12:06
…3 gaps

Extend docs/explanation/security.md to close the SEC0030 V1.3 gaps recorded
in the operator gap analysis. This is an extension only; existing sections
are unchanged except for the noted Cryptography and Security-lifecycle
additions.

Added sections:
- Product architecture: trust boundaries (Juju, ops, charm code) and what
  ops controls versus delegates, referencing the existing Inter-process
  communication and Charm unit databases sections.
- Secure by Design: design rationale for the minimal security surface (no
  network listeners, crypto delegated to Juju and the stdlib, bounded
  persistence).
- Logging and monitoring: charm logging via juju-log through the Python
  stdlib logging module, with a forward reference to SEC0045 security-event
  logging.
- Secure decommissioning: pip uninstall plus removal of the state and
  tracing databases, with a note on confirming secure deletion outside
  Juju's normal flow.

Extended sections:
- Cryptography D/E: name the actual crypto-providing packages (Python stdlib
  ssl via urllib.request) and add an explicit at-rest statement.
- Security lifecycle: supported-version matrix mirroring SECURITY.md, PyPI
  update delivery, version-verification commands, and EOL stance.
- Align security lifecycle with SECURITY.md and the tool versions page
  by mentioning LTS support windows and linking to the versions matrix.
- Update logging section to reflect that OWASP-vocabulary security
  events are already emitted, rather than promised.
- Drop internal SSDLC audit references.
- Rewrite secure decommissioning to reflect that ops is a library
  without its own lifecycle.
@tonyandrewmeyer tonyandrewmeyer marked this pull request as ready for review June 15, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants