SI-7(16): Time Limit on Process Execution Without Supervision

SI-7(16) requires you to set a defined maximum runtime for unsupervised processes and technically prevent any covered process from running beyond that limit without human oversight. Operationalize it by inventorying long-running jobs, classifying which ones require supervision, enforcing timeouts/kill switches, and retaining logs and approvals that prove the limit is configured and works. 1

Key takeaways:

  • Define “unsupervised process” in your environment, then set a maximum unsupervised runtime value and get it approved.
  • Enforce the limit with technical controls (timeouts, job schedulers, workflow gates), not policy-only statements.
  • Keep assessor-ready evidence: configs, job inventories, exception approvals, and logs showing termination or escalation on timeout.

The si-7(16): time limit on process execution without supervision requirement is easy to misunderstand because teams hear “process” and think only of application code. Assessors usually interpret it more broadly: scripts, batch jobs, ETL pipelines, administrative tooling, CI/CD tasks, scheduled tasks, and any automated workflow that can run unattended and create integrity risk if it hangs, loops, or continues after conditions change.

This enhancement sits under SI-7 (Software, Firmware, and Information Integrity). Practically, it is an integrity-and-safety control: an unsupervised process that runs too long can overwrite data, exhaust resources, propagate corrupted outputs, or keep operating after its inputs become untrusted. The requirement is intentionally parameterized; your organization must select the maximum allowed unsupervised runtime (the “time limit”) and then prohibit execution beyond it through real enforcement mechanisms. 1

If you are a CCO, GRC lead, or compliance officer supporting federal systems or contractor systems handling federal data, your fastest path is to: (1) choose and document the limit, (2) implement runtime controls at the platforms where work actually runs, and (3) build a repeatable evidence package for audits.

Requirement summary (plain-English)

What SI-7(16) is asking: you must stop processes from running unsupervised past a defined maximum time. If a process needs to run longer than the limit, it must do so under defined “supervision” (human oversight, explicit re-authorization, monitored execution with escalation) or you must formally approve an exception that still manages integrity risk. 1

What “prohibit” means in practice: technical enforcement. A written standard that says “jobs should not run too long” will not satisfy most assessors if you cannot show configured timeouts, scheduler limits, or automated termination/escalation.

Regulatory text

Prohibit processes from executing without supervision for more than {{ insert: param, si-07.16_odp }}.1

Operator interpretation:

  • You must fill in the parameter (your chosen maximum time).
  • You must define what counts as “without supervision” in your environment.
  • You must implement controls that prevent over-limit execution (terminate, pause, require re-approval, or hand off to an actively monitored run mode).
  • You must keep evidence that the limit exists, is enforced, and exceptions are controlled.

Who it applies to

Entity scope

  • Federal information systems and contractor systems handling federal data using NIST SP 800-53 as the control baseline. 1

Operational scope (where to look)

  • Job schedulers: cron, Windows Task Scheduler, enterprise schedulers, managed workflow tools.
  • Data platforms: ETL/ELT pipelines, streaming jobs, warehouse transformations.
  • CI/CD systems: build/test/deploy jobs that can hang.
  • Administrative automation: scripts that change configs, rotate keys, patch systems, bulk user management.
  • Containers and orchestration: batch workloads, Kubernetes Jobs, long-running workers.
  • Third-party operated workloads: managed services where you still have configuration responsibility (timeouts, quotas, alerts) or must enforce via contracts/SOW.

What you actually need to do (step-by-step)

1) Set the parameter value and define “supervision”

  1. Choose the maximum unsupervised runtime (the SI-7(16) parameter) based on process criticality and operational reality. Document the rationale and approving authority. 1
  2. Define “supervision” in one paragraph, in operational terms. Examples that typically count:
    • A human operator actively monitoring with an on-call procedure and clear stop authority.
    • A controlled runbook execution that requires periodic check-ins or re-authorization.
    • A workflow that pauses at gates for approval before continuing.
  3. Define “unsupervised process” categories you will govern (batch jobs, scheduled tasks, automation scripts, pipelines).

Deliverable: SI-7(16) standard (1–2 pages) that states the time limit, definitions, and enforcement approach.

2) Build an inventory of in-scope processes

  1. Pull job lists from schedulers and platforms.
  2. Identify owners for each job (system owner or service owner).
  3. Classify jobs:
    • Allowed unsupervised (must have enforced timeout at or below the limit).
    • Requires supervision (must run only in monitored mode or with gating).
    • Exception candidate (cannot meet the limit; requires compensating controls and approval).

Deliverable: Process execution inventory (spreadsheet or CMDB export) with owner, platform, typical duration, max duration, timeout setting, and exception status.

3) Implement technical enforcement (preferred patterns)

Pick the enforcement mechanism where the process runs. Common approaches:

A. Scheduler-enforced time limits

  • Configure job-level max runtime (where supported).
  • Configure automatic termination and notification on timeout.
  • Require re-run through a supervised workflow if it times out.

B. Application/process-level timeouts

  • Add hard timeouts to scripts and ETL steps.
  • Use watchdogs that terminate runaway processes.
  • For idempotent jobs, design safe restart logic to reduce integrity risk after forced stops.

C. Workflow gates for “supervised” execution

  • Split jobs into stages with approval points.
  • Require an operator check before continuing beyond the unsupervised limit.

D. Managed service controls

  • Use service-native limits (timeouts, execution quotas).
  • If limits are not available, treat as an exception and document compensating controls (enhanced monitoring, narrow permissions, output validation).

Deliverable: Configuration evidence per platform (screenshots, exported settings, infrastructure-as-code snippets).

4) Establish exception handling (don’t let exceptions become the norm)

  1. Create an SI-7(16) exception template:
    • Business justification
    • Why the runtime cannot be reduced
    • Compensating controls (monitoring, integrity checks, restricted permissions, rollback)
    • Expiration criteria and review cadence
    • Approver (system owner + security/compliance)
  2. Track exceptions in a register and tie each to the process inventory entry.

Deliverable: Exception register and approved exception records.

5) Monitor and produce repeatable evidence

  1. Log job starts/stops and termination reasons.
  2. Alert on timeouts and repeated near-timeout behavior.
  3. Review reports for:
    • Jobs hitting time limits
    • Jobs with missing timeout configuration
    • Exceptions nearing expiration

Deliverable: Monthly/quarterly control operation packet (report + tickets + changes).

Required evidence and artifacts to retain

Keep artifacts that prove design and operation:

  • Policy/standard: SI-7(16) time limit value, definition of supervision, scope statement. 1
  • Process inventory: list of in-scope jobs with owners and configured limits.
  • Configuration exports: scheduler settings, pipeline configs, IaC, scripts showing timeouts.
  • Run logs: evidence of enforcement (timeouts triggered, jobs terminated/paused, alerts generated).
  • Exception records: approvals, compensating controls, expiration and periodic review results.
  • Change records: tickets/PRs implementing timeouts and approvals.

Tip for audit readiness: store evidence by system and platform, not by team chat threads.

Common exam/audit questions and hangups

Assessors typically press on:

  • “What is your {{ si-07.16_odp }} value and who approved it?” They want a named approver and a stable definition. 1
  • “Show me enforcement.” Expect to demonstrate a configured timeout and a log showing termination or escalation.
  • “What is supervision?” If your definition is vague (“monitored by IT”), expect follow-ups about on-call coverage, alerting, and documented actions.
  • “How do you handle jobs that must run longer?” They will look for exception governance rather than ad hoc explanations.

Frequent implementation mistakes (and how to avoid them)

  1. Policy-only compliance. Fix: implement timeouts in the scheduler/pipeline and show logs.
  2. No process inventory. Fix: treat jobs as assets. If you can’t list them, you can’t prove coverage.
  3. “Supervision” defined as “someone could look at dashboards.” Fix: define who, when, and what actions they take on alerts.
  4. Timeouts set higher than reality without rationale. Fix: tie the parameter to risk and operational needs; document the reasoning and approvals. 1
  5. Exceptions that never expire. Fix: require expiration criteria and periodic reviews tied to change management.

Enforcement context and risk implications

No specific public enforcement cases were provided for this control enhancement in the source catalog, so you should treat enforcement risk as assessment and authorization risk rather than a known case pattern.

Operationally, the risk is concrete: unsupervised processes can corrupt data, propagate integrity failures, or cause availability incidents through runaway compute or stuck loops. SI-7(16) gives you a clean compliance hook to require engineering teams to implement guardrails and safe stop behavior, which also reduces incident response load.

Practical execution plan (30/60/90-day)

You asked for speed. Use this plan as a control rollout structure, and adapt to your system boundaries.

First 30 days (Immediate)

  • Assign a control owner and write the SI-7(16) standard with the selected time limit parameter and definitions. 1
  • Identify the top execution platforms (scheduler, CI/CD, ETL).
  • Build an initial inventory for high-impact systems and jobs.
  • Implement timeouts on the highest-risk jobs first (privileged automation, data mutation jobs, production deploy pipelines).

Days 31–60 (Near-term)

  • Expand inventory coverage across remaining systems in scope.
  • Standardize enforcement patterns per platform (one “gold” approach per platform).
  • Stand up exception workflow and register; require compensating controls for each exception.
  • Begin generating recurring evidence packets (configs + logs + review notes).

Days 61–90 (Operationalize)

  • Add control checks to engineering workflows (e.g., job template requires timeout value).
  • Add monitoring dashboards and alert routing for timeouts.
  • Perform an internal readiness review: sample jobs, trace to configs, show logs, reconcile exceptions.
  • If you use Daydream for control mapping and evidence tracking, connect SI-7(16) to the job inventory, assign owners, and schedule recurring evidence requests so the control stays “alive” between audits.

Frequently Asked Questions

What counts as a “process” for SI-7(16)?

Treat it broadly: scheduled jobs, scripts, pipelines, CI/CD tasks, automation, and batch workloads that can run unattended. If it can keep running after conditions change and affect integrity, include it. 1

What does “without supervision” mean in an audit?

Define it explicitly for your environment, then prove you enforce the time limit when supervision is absent. Auditors usually expect either active monitoring with clear procedures or technical gating/approvals for long runs. 1

Do I have to kill the process at the time limit?

The requirement says “prohibit” execution beyond the limit, so termination is a common method, but pausing with an approval gate or switching to supervised execution can also satisfy the intent if it truly prevents unsupervised continuation. 1

How do we handle jobs that legitimately take longer than the limit?

Put them under a supervised run mode (documented monitoring and escalation) or grant a documented exception with compensating controls and an expiration/review. Keep the exception tied to the specific job and owner. 1

Can monitoring and alerting alone meet SI-7(16)?

Only if your definition of “supervision” includes real-time alerting to an accountable responder and documented action paths, and you can show the process does not run unsupervised beyond the limit. Many programs still add hard timeouts because it’s easier to prove. 1

What evidence is most convincing to an assessor?

A job inventory mapped to owners, exported configuration showing runtime limits, and logs showing timeout events and operator response. Pair that with approved exceptions where needed. 1

Footnotes

  1. NIST SP 800-53 Rev. 5 OSCAL JSON

Frequently Asked Questions

What counts as a “process” for SI-7(16)?

Treat it broadly: scheduled jobs, scripts, pipelines, CI/CD tasks, automation, and batch workloads that can run unattended. If it can keep running after conditions change and affect integrity, include it. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

What does “without supervision” mean in an audit?

Define it explicitly for your environment, then prove you enforce the time limit when supervision is absent. Auditors usually expect either active monitoring with clear procedures or technical gating/approvals for long runs. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Do I have to kill the process at the time limit?

The requirement says “prohibit” execution beyond the limit, so termination is a common method, but pausing with an approval gate or switching to supervised execution can also satisfy the intent if it truly prevents unsupervised continuation. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

How do we handle jobs that legitimately take longer than the limit?

Put them under a supervised run mode (documented monitoring and escalation) or grant a documented exception with compensating controls and an expiration/review. Keep the exception tied to the specific job and owner. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Can monitoring and alerting alone meet SI-7(16)?

Only if your definition of “supervision” includes real-time alerting to an accountable responder and documented action paths, and you can show the process does not run unsupervised beyond the limit. Many programs still add hard timeouts because it’s easier to prove. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

What evidence is most convincing to an assessor?

A job inventory mapped to owners, exported configuration showing runtime limits, and logs showing timeout events and operator response. Pair that with approved exceptions where needed. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Operationalize this requirement

Map requirement text to controls, owners, evidence, and review workflows inside Daydream.

See Daydream