Key takeaways
- Internal does not mean trusted; authenticate users and authorize every sensitive function.
- Use separate identities and least privilege for people, services, environments, and actions.
- Keep secrets out of code and logs, control storage, and plan rotation and revocation.
- Record consequential actions and denied access with enough context to investigate without exposing sensitive values.
- Repeat the review after material changes, dependency changes, incidents, and offboarding events.
Use the checklist with a named reviewer
An internal tool may be reachable only by employees and still hold broad credentials, sensitive data, or high-consequence actions. “Behind login” is the beginning of the review, not the conclusion.
Internal Tool Security Checklist
A copyable pre-launch and change-review checklist covering identity, permissions, secrets, data, effects, logs, dependencies, release, incidents, and offboarding.
Preview the fileHide preview
# Internal tool security checklist Use this with a named security or product reviewer before launch and after material change. Record `pass`, `gap`, `not applicable`, or `needs specialist review` for each item, with evidence, owner, and due date. This worksheet is not a penetration test, threat model, compliance certification, or legal opinion. Do not put secrets, tokens, personal data, customer confidential data, production credentials, or exploitable configuration details in this document. ## Review record - Tool and version: - Accountable service owner: - Security or product reviewer: - Business decision owner: - Data and actions in scope: - Environments in scope: - Review date and next review trigger: ## Identity and authorization - [ ] Every person and service authenticates with its own identity. - [ ] Ordinary operation does not use shared human accounts. - [ ] Access is denied by default and explicitly granted by role. - [ ] Record, field, function, and action permissions are reviewed separately. - [ ] Administrative, bulk, sensitive, financial, destructive, and irreversible actions receive stronger controls. - [ ] Service identities and permissions are separated by environment. - [ ] Dormant accounts, roles, delegated approvals, sessions, and service accounts are reviewed and revoked. - [ ] Authorization is enforced at the server or action boundary, not only hidden in the interface. ## Secrets and credentials - [ ] Secrets are stored in a controlled secret manager, not source code, examples, tickets, or logs. - [ ] Access to secrets is limited, monitored, and assigned to an owner. - [ ] Rotation and emergency revocation are documented and tested. - [ ] Credentials have the minimum records, functions, actions, duration, and environment scope. - [ ] Departing users and retired services trigger credential and access review. ## Data - [ ] Every data field has a business purpose and named source owner. - [ ] Collection and display are limited to the minimum necessary data. - [ ] Sensitive data is classified, masked where appropriate, and protected in transit and at rest. - [ ] Retention, deletion, export, backup, and legal-hold duties are recorded. - [ ] Production data and credentials do not enter development or test without explicit approved protection. - [ ] Prompts, examples, model inputs, outputs, traces, logs, notifications, and exports follow the same data rules. ## Actions and approvals - [ ] Required inputs, current state, version, and authority are checked immediately before an action. - [ ] Approvers see the exact proposed action, target, evidence, uncertainty, expiry, and effect. - [ ] Approval is bound to the exact version and scope and expires after material change. - [ ] Stable business keys, idempotency where supported, rate limits, value limits, and scope limits constrain effects. - [ ] Destination state is verified; timeout-after-possible-effect routes to reconciliation before retry. - [ ] Rollback, compensation, containment, and manual fallback are defined for applicable effects. ## Logging and monitoring - [ ] Authentication, denied authorization, sensitive configuration changes, administrative actions, approvals, attempted effects, failures, and corrections are recorded. - [ ] Logs exclude secrets and minimize personal or confidential content. - [ ] Log access, export, retention, integrity, and deletion are controlled. - [ ] Alerts have a named recipient, immediate action, severity, and duplicate-suppression behavior. - [ ] Business outcomes and confirmed external effects are monitored, not only technical completion. - [ ] The team can reconstruct intent, version, inputs, decision, authority, effect, error, repair, and outcome. ## Secure development and change - [ ] Security requirements and a risk-based threat review are current. - [ ] Source, build systems, artifacts, deployment credentials, and production configuration are protected from unauthorized change. - [ ] Dependencies, provenance, vulnerabilities, versions, notices, and support windows are tracked. - [ ] Authorization, validation, logging, secrets, failure paths, and security controls have tests. - [ ] Releases and AI instructions are versioned with review, test evidence, approval, rollout scope, verification, and rollback or fallback. - [ ] Corrected failures become regression cases before changed behavior is released. - [ ] Material feature, data, integration, permission, model, or infrastructure changes trigger another review. ## Incident readiness - [ ] A contact and escalation path exists outside the tool. - [ ] The team has exercised containment, credential revocation, effect reconciliation, evidence preservation, fallback, notification, and recovery. - [ ] Incident roles and decision authority are named. - [ ] Legal, privacy, customer, employee, insurer, and regulatory notification duties are identified where applicable. ## Offboarding and retirement - [ ] Human access, groups, roles, delegated approvals, and sessions are removed promptly. - [ ] Credentials available to a departing person are reviewed and rotated or revoked. - [ ] Sole ownership of repositories, deployment, alerts, documentation, and fallback is transferred. - [ ] Retirement stops triggers and jobs, reconciles open work, exports required data, preserves required evidence, revokes identities and secrets, and notifies users. ## Findings | Control or gap | Status | Evidence location | Owner | Due date | Verification | | --- | --- | --- | --- | --- | --- | | | | | | | | ## Release decision - Approved scope: - Conditions before release: - Accepted residual risks and accountable owner: - Required specialist reviews: - Release approver: - Next review date or material-change trigger:
Identity and authorization
- Authenticate every person and service; prohibit shared user accounts for ordinary operation.
- Deny access by default and grant only the records, fields, functions, and actions required by each role.
- Use separate service identities for tools and environments; avoid giving an agent a person's broad standing credential.
- Require stronger confirmation or approval for administrative, bulk, sensitive, financial, destructive, or irreversible actions.
- Review active users, roles, service accounts, delegated approvals, and dormant access on a risk-based cadence.
OWASP's API authorization guidance recommends a consistent authorization mechanism that denies by default and requires explicit grants to functions. Apply that control at the action boundary, not only in the navigation.
Secrets, data, and environments
| Area | Check |
|---|---|
| Secrets | Controlled storage, scoped access, rotation, revocation, no source-code or log exposure |
| Data purpose | Named business purpose, minimum fields, source owner, and prohibited uses |
| Sensitivity | Classification, masking, encryption expectations, and restricted display or export |
| Retention | Retention period, deletion path, legal hold where applicable, and evidence retention separated from raw content |
| Environments | Production data and credentials do not leak into development or test; promotion is controlled |
| AI context | Prompts, examples, model inputs, outputs, and tool traces follow the same data rules |
Actions, approvals, and external effects
- 01Validate current stateCodeCheck required inputs, versions, permissions, and preconditions immediately before the action.
- 02Present the decisionHuman approvalShow the proposed action, target, evidence, material uncertainty, expiry, and what approval will do.
- 03Bind authorityCodeTie approval to the exact version and scope; re-approve after material input or action changes.
- 04Execute onceCodeUse stable business identity, idempotency where supported, rate and scope limits, and destination verification.
- 05Preserve evidenceTriggerRecord actor, time, version, decision, attempted effect, destination response, confirmed state, and correction.
Logging, monitoring, and incident readiness
OWASP notes that insufficient logging and monitoring makes suspicious activity difficult to detect and investigate. Its API guidance calls out failed authentication, denied access, and validation errors, while also treating logs as sensitive data whose integrity needs protection.
- Log authentication, denied authorization, sensitive configuration changes, administrative actions, approvals, attempted effects, failures, and corrections.
- Exclude secrets and minimize personal or confidential content; control who can query and export logs.
- Alert only when a named responder has an immediate action; route non-urgent review into an owned queue.
- Test containment, credential revocation, effect reconciliation, fallback, notification, evidence preservation, and recovery.
- Keep an incident contact and escalation path outside the tool so it remains available during an outage.
Secure development, dependencies, and change
NIST's SSDF supplies a high-level framework for preparing the organization, protecting software, producing well-secured releases, and responding to residual vulnerabilities. OWASP's ASVS provides a basis for testing technical web-application security controls and for specifying verification requirements.
- Track source, dependencies, provenance, vulnerabilities, and supported versions.
- Protect repositories, build systems, artifacts, deployment credentials, and production configuration from unauthorized change.
- Require review and automated tests for security controls, authorization, validation, logging, and failure paths.
- Version releases and AI instructions; record approver, test evidence, rollout scope, and rollback or fallback.
- Review security after material feature, data, integration, permission, model, or infrastructure changes.
Offboarding and retirement
- Disable human access promptly and remove group, role, delegated approval, and cached session rights.
- Rotate or revoke credentials the departing person could access; transfer service ownership and alert routing.
- Review automation created or solely maintained by the person and confirm current repository, deployment, documentation, and fallback ownership.
- At retirement, stop triggers, reconcile work, export required data, retain required evidence, revoke all identities and secrets, and notify users.
Limitations and when not to use this
- This checklist is general guidance, not a penetration test, threat model, compliance certification, or legal opinion.
- Control selection and verification depth depend on the data, actions, threat model, architecture, contracts, and regulatory duties of the specific tool.
- The page remains noindex pending a named security or product reviewer. Do not publish sensitive findings, live secrets, tokens, personal data, or exploitable configuration in the completed worksheet.
Sources
- Secure Software Development Framework 1.1 — NIST Accessed 14 August 2026
- Application Security Verification Standard — OWASP Foundation Accessed 14 August 2026
- API5:2023 Broken Function Level Authorization — OWASP Foundation Accessed 14 August 2026
- API10:2019 Insufficient Logging and Monitoring — OWASP Foundation Accessed 14 August 2026
Download the security checklist
Complete it with a named security or product reviewer and record each gap, owner, due date, and verification evidence.
Download the security checklistUli Prantz
Builds and operates all-agents
Uli Prantz builds all-agents, the process-automation platform this site documents. He writes about the operational side of automating recurring business work: where deterministic code beats model judgment, where it does not, and where a human still has to approve.