Skip to content

Non-Functional Requirements

Module: op-opsdevnz
Status: Draft


Overview

Non-functional requirements cover security, reliability, compatibility, and code quality standards for op-opsdevnz.

Requirements

NFR-1: Security — No secret leakage

The module SHALL NOT log, print, or expose secret values in error messages, stack traces, or debug output.

NFR-2: Security — Token redaction

Error messages SHALL redact any tokens or secret values before display.

NFR-3: Reliability — Graceful fallback

When the SDK path is not configured (SDK not installed, or no service-account token), the module SHALL attempt the secondary resolver (CLI) before raising an error. When the SDK path is configured and fails, the module SHALL raise an error without falling back to the CLI.

NFR-4: Reliability — Timeout handling

CLI invocations SHALL have a configurable timeout (default: 10 seconds) to prevent hanging.

NFR-5: Compatibility — Python versions

The module SHALL support Python 3.12 and later.

NFR-6: Compatibility — 1Password SDK versions

The module SHALL work with the official onepassword-sdk Python package.

NFR-7: Code quality — Linting

The codebase SHALL pass ruff linting with no errors.

NFR-8: Code quality — Testing

The codebase SHALL maintain test coverage for all public APIs.