Quality, Expert-Derived Cybersecurity Documentation To Keep Organizations Secure, Compliant & Resilient  |  Got Questions? +1-307-241-8740
ComplianceForge

How Do I Implement NIST 800-171 R3 03.13.13 Mobile Code?

NIST 800-171 R3 03.13.13 Mobile Code at a Glance

  • Family: 03.13 System and Communications Protection (SC)
  • Requirement ID: 03.13.13 Mobile Code
  • Assessment Objectives (AOs): Five (5) determination statements
  • Organization-Defined Parameters (ODPs): None (0). This requirement contains no organization-defined values
  • Source NIST 800-53 R5 Control: SC-18
  • NIST 800-171 R3 Kill Chain Phase: Phase 12, Secure Baseline Configurations (SBC)

Mobile Code is the requirement that governs code your users never chose to install. It sits in the System and Communications Protection (03.13) family, and it addresses software that arrives from somewhere else and runs locally without anyone deliberately executing it. Mobile Code (03.13.13) has two (2) parts: define acceptable mobile code and mobile code technologies, and authorize, monitor, and control the use of mobile code. Per the NIST discussion, mobile code includes software programs or parts of programs that are obtained from remote systems, transmitted across a network, and executed on a local system without explicit installation or execution by the recipient, and mobile code technologies include Java applets, JavaScript, HyperText Markup Language 5 (HTML5), VBScript, and Web Graphics Library (WebGL).

A common difficulty with this requirement is never writing down what counts as acceptable mobile code. R3 splits the definition into its own objectives, and those are the new work: you have to say which mobile code and which mobile code technologies are acceptable before the authorize, monitor, and control objectives mean anything. Teams also underestimate the scope, since JavaScript running in every browser session is mobile code.

Where things stand for companies facing the transition from NIST 800-171 R2 to R3:

  • The National Institute of Standards and Technology (NIST) withdrew R2 on May 14, 2024, the same day R3 was published. The withdrawal notice states that R2 "has been withdrawn (archived), and is provided solely for historical purposes," so it will never receive another correction or clarification from NIST.
  • R2 remains the contractual standard for the Department of Defense (DoD) and the Defense Industrial Base (DIB). Cybersecurity Maturity Model Certification (CMMC) assessments reference it directly: per Title 32 of the Code of Federal Regulations (CFR), section 170.14(c)(3), "the security requirements in CMMC Level 2 are identical to the requirements in NIST SP 800-171 R2."
  • The rulemaking points the other direction. The proposed Controlled Unclassified Information (CUI) rule for the Federal Acquisition Regulation (FAR), published June 23, 2026 as part of the Revolutionary FAR Overhaul, would apply CUI safeguarding requirements government wide rather than only to DoD contracts, and it sets the baseline at R3. That rule is not final, and DoD has separately signaled an interim rule to move CMMC to R3.

What Does NIST 800-171 R3 03.13.13 Actually Require?

The following is reproduced verbatim from NIST 800-171 R3, requirement 03.13.13 Mobile Code. Only the formatting has been adjusted for readability. This requirement has two (2) lettered parts:

  • a. Define acceptable mobile code and mobile code technologies.
  • b. Authorize, monitor, and control the use of mobile code.

The source control is SC-18 from NIST 800-53. There are no Organization-Defined Parameters (ODPs). Per the NIST discussion, decisions regarding the use of mobile code are based on the potential for the code to cause damage to the system if used maliciously, and mobile code policies and procedures address the actions taken to prevent the development, acquisition, and use of unacceptable mobile code within the system, including requiring mobile code to be digitally signed by a trusted source. You can read the requirement directly at NIST 800-171 R3, 03.13.13 (p. 62).

What Are the Organization-Defined Parameters (ODPs) Associated with NIST 800-171 R3 03.13.13?

None (0). Requirement 03.13.13 contains no bracketed assignment, so there is no organization-defined value to select and nothing for the DoD to specify. The requirement applies as written.

Your System Security Plan (SSP) narrative for 03.13.13 therefore records how the requirement is implemented rather than a parameter you chose.

What Are the Assessment Objectives (AOs) For NIST 800-171 R3 03.13.13?

NIST 800-171A R3 breaks 03.13.13 into five (5) determination statements, and it has no Organization-Defined Parameters (ODPs). These AOs are:

  • A.03.13.13.a[01]: acceptable mobile code is defined.
  • A.03.13.13.a[02]: acceptable mobile code technologies are defined.
  • A.03.13.13.b[01]: the use of mobile code is authorized.
  • A.03.13.13.b[02]: the use of mobile code is monitored.
  • A.03.13.13.b[03]: the use of mobile code is controlled.

Note that mobile code (a[01]) and mobile code technologies (a[02]) are separate defining objectives, and authorizing, monitoring, and controlling are three more. The full guidance on assessment methods and objects, is in NIST 800-171A R3, 03.13.13 (p. 82).

Assessment Methods and Objects for NIST 800-171 R3 03.13.13

Examine: system and communications protection policy and procedures; procedures for mobile code; mobile code implementation policy and procedures; list of acceptable mobile code and mobile code technologies; authorization records; system monitoring records; system audit records; system security plan.

Interview: personnel with responsibilities for managing mobile code; personnel with information security responsibilities; system administrators.

Test: processes for authorizing, monitoring, and controlling mobile code; mechanisms for supporting or implementing the management of mobile code; mechanisms for supporting or implementing mobile code monitoring.

How Does NIST 800-171 R3 03.13.13 Map From NIST 800-171 R2?

03.13.13 maps from NIST 800-171 R2 requirement 3.13.13 (control and monitor the use of mobile code):

  • A.03.13.13.b[01] and A.03.13.13.b[03] map directly to R2 3.13.13[a] (use of mobile code is controlled).
  • A.03.13.13.b[02] maps directly to R2 3.13.13[b] (use of mobile code is monitored).
  • A.03.13.13.a[01] and A.03.13.13.a[02] have no clear mapping to any R2 assessment objective.

Mapped against the five (5) AOs, three (3) are direct (minimal effort) and two (2) have no clear mapping (significant effort). Controlling and monitoring mobile code carries forward, and R3 adds authorizing as an explicit objective alongside them. The new work is the pair of defining objectives: stating what acceptable mobile code is and what acceptable mobile code technologies are. Write those definitions down rather than assuming your browser and endpoint settings imply them.

How Does NIST 800-171 R3 03.13.13 Map to NIST 800-53 R5 and the SCF?

Source Control in NIST 800-53 R5:

  • SC-18

Secure Controls Framework (SCF) Crosswalk

Organizations running a single control set across multiple frameworks can satisfy 03.13.13 through the following SCF controls:

  • CFG-07.1 Automated Baseline Configuration Management & Verification
  • CFG-11 Software Usage Restrictions
  • CFG-12 Restrict Roles Permitted To Install Software
  • CFG-13 Open Source Software
  • CFG-14.1 Explicitly Allow / Deny Applications
  • END-13 Mobile Code

The crosswalks from NIST 800-171 R3 and NIST 800-171A R3 to the SCF are available at no cost through the SCF Set Theory Relationship Mapping (STRM): https://securecontrolsframework.com/start-here/set-theory-relationship-mapping-strm. The STRM also carries the relationship type for each mapping (Equal, Subset Of, Intersects With), which tells you whether an SCF control fully satisfies the requirement or only part of it. Mapping above taken from SCF 2026.3.

Common Pitfalls with NIST 800-171 R3 03.13.13

The following are issues teams may encounter rather than certainties. They are about the definitions and the breadth of scope, each of which needs documented evidence of due diligence and due care such as policies, standards, procedures, and configuration screenshots:

  • Two definitions, not one. A.03.13.13.a[01] and a[02] separately require defining acceptable mobile code and acceptable mobile code technologies, so a policy naming technologies but never defining acceptable code leaves an objective open.
  • Authorize is now explicit. A.03.13.13.b[01] requires the use of mobile code to be authorized, which R2 did not call out separately from controlling.
  • Scope is wider than it looks. Per the NIST discussion, mobile code technologies include Java applets, JavaScript, HTML5, VBScript, and WebGL, so ordinary web browsing is in scope.
  • Consider digital signing. Per the NIST discussion, mobile code policies can require mobile code to be digitally signed by a trusted source, which is a practical way to demonstrate control.

What Is Reasonable Evidence For NIST 800-171 R3 03.13.13?

Reasonable objective evidence for an assessment is often subjective. The following examples of evidence to address NIST 800-171 R3 03.13.13 are sourced from the SCF Evidence Request List (ERL), available at https://securecontrolsframework.com/free-content/scf-download. These ERL artifacts are mapped to NIST 800-171 R3 03.13.13 through SCF controls. They establish a starting point for discussions on what an organization needs to have for evidence of due diligence and due care to withstand external scrutiny by an assessor or regulator.

  • E-AST-28 Software Licenses. Software license inventories.
  • E-AST-31 Allowlist / Denylist. Software applications that are explicitly allowed (allowlist / whitelist) and/or blocked (denylist / blacklist).
  • E-AST-32 Mobile Code. Mobile code that is explicitly allowed (allowlist / whitelist) and/or blocked (denylist / blacklist).

Alongside these, keep the System Security Plan (SSP) narrative for 03.13.13.

Timeline Considerations for NIST 800-171 R3 03.13.13

With three (3) AOs mapping directly and two with no clear mapping, 03.13.13 is a moderate lift centered on the definitions. A realistic sequence:

  1. Define what acceptable mobile code is for your environment (A.03.13.13.a[01]).
  2. Define which mobile code technologies are acceptable (A.03.13.13.a[02]).
  3. Establish how the use of mobile code is authorized (A.03.13.13.b[01]).
  4. Confirm mobile code use is monitored and controlled through endpoint and browser configurations (A.03.13.13.b[02] and b[03]).
  5. Collect evidence for all five (5) AOs, including the documented definitions, authorization records, and configuration settings.

Frequently Asked Questions About NIST 800-171 R3 03.13.13

How many assessment objectives does NIST 800-171 R3 03.13.13 have? NIST 800-171A R3 breaks 03.13.13 into five (5) assessment objectives. An assessor works through each one separately, so each needs its own evidence.

Which NIST 800-53 R5 control does NIST 800-171 R3 03.13.13 come from? SC-18.

How many Organization-Defined Parameters (ODPs) does NIST 800-171 R3 03.13.13 have? None (0). The requirement contains no bracketed assignment, so there is no organization-defined value and nothing for the DoD to specify.

Where does NIST 800-171 R3 03.13.13 sit in the NIST 800-171 R3 Kill Chain? Phase 12, Secure Baseline Configurations (SBC). The Kill Chain is a phased model for sequencing R3 implementation, and it assigns this requirement to that phase.

Bottom Line on NIST 800-171 R3 03.13.13

03.13.13 Mobile Code defines acceptable mobile code and mobile code technologies, then authorizes, monitors, and controls its use. It maps from R2 3.13.13 with controlling and monitoring transitioning directly, while the two defining objectives are new work and authorizing is now explicit. The recurring problem is never writing the definitions down. Say what mobile code and which technologies are acceptable, authorize their use, and back it up with endpoint and browser configurations that monitor and control what runs.

Authoritative sources:

Authoritative sources:

This guide reproduces U.S. Government text from NIST 800-171 R3 and NIST 800-171A R3. It is educational, not legal or assessment advice. Last reviewed: 2026-09-22.