A cross domain solution sits at one of the most consequential boundaries in a federal or defense environment. Data moves between networks with different classification levels, different trust assumptions, and different mission owners. The technical controls that enforce what can and cannot cross that boundary are only as reliable as the documentation that defines them. Without a well-constructed and actively maintained interface control document, the CDS becomes a system that nobody can fully describe, test, or defend during an assessment.

The interface control document, or ICD, is the formal contract between the mission systems connected to a CDS and the solution itself. It defines what data structures are permitted, what content types are allowed, what validation logic applies, and what trust assumptions govern each direction of data flow. When that document is incomplete, outdated, or disconnected from the actual configuration, the gap creates real risk: failed assessments, unauthorized data transfers, integration failures after system updates, and reauthorization delays that affect mission continuity.

Programs that integrate multiple mission applications or legacy data feeds face compounding complexity. Each source system may produce data in a different format, on a different schedule, with different field populations and encoding assumptions. The ICD has to account for all of it, not as a static snapshot, but as a living governance artifact that tracks changes, captures approvals, and reflects the current operational state of every interface.

This article focuses on the practical work of building and sustaining a CDS interface control document: what it needs to contain, how schema governance and validation rules are defined, how version control and stakeholder approvals function in practice, and what happens when interface changes trigger reauthorization requirements. The goal is to help engineering, test, and program teams treat the ICD as an operational instrument rather than a compliance checkbox.

Key Takeaways

  • A CDS interface control document must define data structures, field-level constraints, allowed content types, transport assumptions, and trust boundary logic for every interface direction, not just the high-to-low flow.
  • Schema governance and semantic validation rules belong in the ICD, not only in the CDS filter configuration, because they establish the testable baseline that assessors and validators can independently verify.
  • Version control and formal stakeholder approval workflows are not administrative overhead. They are the mechanism that keeps the ICD synchronized with the actual system configuration and protects the authorization boundary.
  • Interface changes that affect allowed data types, message size limits, or trust boundary assumptions frequently trigger reauthorization requirements. Programs that treat the ICD as a living document catch these triggers earlier and manage them with less disruption.
  • Ownership of the ICD must be clearly assigned across the program office, system owners, and the CDS integrator. Shared ownership without defined responsibilities produces documents that nobody updates and that fail to reflect operational reality.
  • Legacy system feeds require explicit interface documentation even when the data format is informal or undocumented by the source system owner. Reverse-engineering and formalizing those schemas is engineering work that cannot be deferred.

Table of Contents

What Belongs in a CDS Interface Control Document

The ICD for a cross domain solution is not a general system description. It is a precise technical specification of every interface the CDS manages, written at a level of detail that allows an independent engineer or assessor to verify that the deployed configuration matches the documented intent. That specificity is what separates a functional ICD from a document that satisfies a deliverable requirement but provides no operational value.

At minimum, a CDS ICD should address the following for each interface: the source and destination systems by name and classification level, the direction of data flow, the transport protocol and port assignments, the message format and schema version, the allowed MIME types or file types, maximum message and file size limits, field-level constraints including required fields, optional fields, and prohibited content, the validation logic applied at the boundary, and the handling rules for rejected or malformed content. Each of these elements has a direct relationship to the filter rules and guard logic configured in the CDS itself.

Programs that connect multiple mission applications to a single CDS often discover that each application team has a different understanding of what the interface allows. One team assumes XML with a specific namespace. Another assumes JSON with a relaxed schema. A third sends binary attachments that were never formally approved. The ICD resolves these ambiguities by establishing a single authoritative reference that all connected system owners have reviewed and accepted.

The document should also capture what is explicitly not permitted. Negative constraints are as important as positive ones. If the interface does not allow embedded scripts, executable attachments, or fields containing free-text that could carry sensitive metadata, those prohibitions need to be stated explicitly and tied to the validation logic that enforces them. Assessors and validators will look for this alignment between the document and the deployed configuration.

Schema Governance and Validation Rules

Schema governance is the discipline of controlling what data structures are permitted to cross the boundary and ensuring that the CDS filter configuration enforces those structures consistently. In practice, this means maintaining formal schema definitions, tracking schema versions, and establishing a process for approving schema changes before they are deployed.

For XML-based interfaces, this typically involves XML Schema Definition files tied to specific namespace versions. For JSON interfaces, it involves JSON Schema documents with explicit type constraints, required property lists, and pattern validations for fields that carry structured data such as coordinates, identifiers, or timestamps. For fixed-format or binary feeds from legacy systems, it may require a field map that documents byte offsets, data types, and encoding assumptions because the source system has no formal schema of its own.

Semantic Validation Requirements

Syntactic validation confirms that a message conforms to the schema structure. Semantic validation goes further and checks whether the content of a conforming message is operationally valid. A coordinate field that passes type validation but contains a value outside the expected geographic range is syntactically valid and semantically suspicious. A classification marking field that passes schema validation but contains a value not on the approved marking list is a semantic failure.

The ICD should specify which fields require semantic validation, what the valid value ranges or enumeration lists are, and how the CDS handles content that fails semantic checks. This is particularly important for interfaces that carry intelligence products, geospatial data, or any content where field values carry security or mission significance beyond their data type.

Schema governance also requires a controlled repository for schema artifacts. The ICD should reference specific schema file versions by hash or version identifier, not by filename alone. When a schema changes, the old version should remain available for reference, and the ICD should record when each version was approved, who approved it, and what changed. This traceability is what allows an assessor to confirm that the schema deployed in the CDS matches the schema documented in the ICD.

Practitioner Reality

In many programs, the schema documented in the ICD and the schema actually enforced by the CDS filter diverge within months of initial deployment. A source system team makes a minor field addition to accommodate a new reporting requirement. The change is coordinated informally between engineers. The filter configuration is updated. The ICD is not. By the time the next assessment arrives, the deployed configuration no longer matches the authoritative document, and the program is forced to either update the ICD under time pressure or explain the discrepancy to the assessor. Neither outcome is acceptable. The ICD update process needs to be triggered by the same change request that authorizes the filter configuration change, not treated as a separate documentation task that can wait.

Trust Boundary Assumptions and Directional Controls

Every interface in a CDS ICD carries implicit trust assumptions that need to be made explicit. The document should state what each connected system is trusted to send, what the CDS is trusted to enforce, and what the receiving system is trusted to do with content that has passed the boundary. These assumptions define the security model that the authorizing official is accepting when they sign the authorization package.

Directional controls deserve particular attention. A CDS interface that allows data to flow from a low-classification network to a high-classification network carries different trust assumptions than one flowing in the opposite direction. The ICD should document both directions separately, even when one direction carries no operational traffic, because the absence of traffic in one direction is itself a security assumption that needs to be stated and enforced.

For programs using Cross Domain Solutions (CDS) to connect mission systems across multiple classification boundaries, the ICD may need to address multiple trust tiers within a single document. Each tier should have its own interface section with its own schema references, validation rules, and approval signatures. Combining trust tiers into a single undifferentiated interface description creates ambiguity that becomes a liability during assessment.

The ICD should also document what happens at the boundary when a message fails validation. Does the CDS reject and discard the message? Does it quarantine the message for human review? Does it generate an alert? Does it log the failure with enough detail to support forensic analysis? These handling rules are part of the trust model, and they need to be documented and verified against the deployed configuration.

Version Control and Stakeholder Approvals

An ICD without version control is a document that cannot be trusted. Version control for a CDS ICD means more than incrementing a number on a cover page. It means maintaining a complete revision history that records what changed in each version, who requested the change, who reviewed it, who approved it, and when the approved version was deployed. That history is the audit trail that connects the document to the operational system.

Stakeholder approval workflows for a CDS ICD typically involve multiple parties: the program office or program manager, the system owners for each connected mission system, the CDS integrator or administrator, the information system security officer or ISSO, and in many cases the authorizing official or their designated representative. Each of these parties has a different perspective on the interface and a different stake in the approval.

Approval Workflow Structure

The approval workflow should be defined in the ICD itself, not left to informal coordination. The document should specify who must review and approve changes to each section, what the review period is, and what constitutes a blocking objection versus a comment that can be resolved without re-review. Without this structure, approval cycles become unpredictable and changes accumulate without formal sign-off.

For programs with multiple connected system owners, the approval workflow becomes a coordination challenge. A schema change requested by one system owner may affect the validation logic that another system owner depends on. The ICD change process needs to include a mechanism for notifying all affected parties and giving them an opportunity to assess the impact before the change is approved. This is not bureaucratic friction. It is the mechanism that prevents one team’s update from breaking another team’s interface without warning.

Version control should also address the relationship between the ICD version and the CDS configuration baseline. When a new ICD version is approved, the corresponding CDS configuration change should be tracked in the configuration management system with a reference to the ICD version that authorized it. This linkage allows an assessor to trace from the deployed configuration back to the approved document and confirm that the two are consistent.

The following table summarizes how different interface change types map to approval requirements and potential authorization impacts.

Change Type ICD Update Required Approval Level Reauthorization Risk
Add optional field to existing schema Required ISSO and system owners Low
Add new allowed MIME type Required ISSO, system owners, and AO representative Moderate
Increase maximum message size limit Required ISSO and AO representative Moderate
Change trust boundary direction Required Full stakeholder review and AO approval High
Add new connected mission system Required Full stakeholder review and AO approval High
Correct documentation error with no config change Required ISSO review and program office acknowledgment Low

Change Impact Analysis and Reauthorization Triggers

Every change to a CDS interface has a potential impact on the authorization boundary. The ICD change process should include a formal impact analysis step that evaluates whether a proposed change affects the security posture of the boundary, the scope of the authorization, or the assumptions documented in the system security plan. This analysis does not need to be lengthy, but it needs to be documented and reviewed by the ISSO before the change is approved.

Changes that commonly trigger reauthorization or significant authorization review include adding a new connected system, expanding the set of allowed content types, modifying trust boundary direction, increasing message size limits beyond the approved threshold, and changing the validation logic in ways that reduce the restrictiveness of the filter. Programs that track these triggers in the ICD change process avoid the scenario where a series of individually minor changes accumulates into a material shift in the security posture that nobody formally reviewed.

The ICD should include a change log section that records every approved change with a brief description, the version number, the date of approval, and the names of approving parties. This log serves as the primary reference during assessments and reauthorization reviews. An assessor who can trace every configuration change back to an approved ICD revision has the evidence they need to confirm that the system has been managed within its authorization boundary.

Programs integrating legacy data feeds face a specific challenge with change impact analysis. Legacy systems often produce data in formats that were never formally documented, and the interface definition in the ICD may be based on observed behavior rather than a formal specification from the source system owner. When the legacy system changes its output, the change may not be communicated to the CDS program team in advance. The ICD should include a section that identifies which interfaces carry this risk and what monitoring or validation mechanisms are in place to detect unexpected format changes before they cause a boundary failure.

ICD Lifecycle Readiness Checklist

Use this checklist to evaluate whether a CDS interface control document is operationally ready and sustainment-capable.

  1. Interface inventory complete: Every interface managed by the CDS is documented with source system, destination system, classification levels, and data flow direction.
  2. Schema artifacts referenced: Each interface section references a specific schema version by identifier or hash, and the schema files are stored in a controlled repository.
  3. Validation rules documented: Both syntactic and semantic validation requirements are specified for each interface, including handling rules for rejected content.
  4. Allowed content types enumerated: Permitted MIME types, file types, and message formats are explicitly listed. Prohibited types are stated.
  5. Size limits specified: Maximum message size, file size, and field length limits are documented for each interface.
  6. Trust boundary assumptions stated: Each interface section documents what each connected system is trusted to send and what the CDS is trusted to enforce.
  7. Approval workflow defined: The document specifies who must approve changes to each section and what the review process requires.
  8. Version history maintained: A complete change log records every approved revision with dates, descriptions, and approving parties.
  9. Configuration linkage established: Each approved ICD version is linked to the corresponding CDS configuration baseline in the configuration management system.
  10. Reauthorization triggers identified: The document identifies which change types require ISSO review and which require AO involvement.
  11. Ownership assigned: A named individual or role is responsible for maintaining each section of the ICD, with a defined review cycle.

Common Mistakes

One of the most consistent problems in CDS programs is treating the ICD as a one-time deliverable rather than a living governance artifact. The document is produced during the acquisition or integration phase, submitted as part of the authorization package, and then left unchanged while the operational system evolves around it. By the time the next assessment cycle arrives, the ICD describes a system that no longer exists in its original form. Rebuilding the document under assessment pressure is expensive, disruptive, and avoidable.

Ownership ambiguity is a related problem. When the ICD is owned collectively by the program office, the CDS integrator, and the connected system owners without clear assignment of responsibility for each section, nobody updates it. Each party assumes another party is responsible. The document drifts. Assigning named ownership for each interface section, with a defined review cycle, is the structural fix. It is not complicated, but it requires the program office to make explicit decisions that are easy to defer during busy integration periods.

Programs frequently underspecify the negative constraints in their ICDs. They document what is allowed but do not explicitly state what is prohibited. An assessor reviewing an ICD that lists permitted content types but does not address prohibited types cannot confirm that the filter configuration is appropriately restrictive. Explicit prohibition lists are not redundant with the allowed list. They serve a different function in the security argument.

Schema governance is often treated as a development-phase activity rather than an ongoing operational discipline. Once the initial schema is deployed and the interface is working, schema management receives little attention until something breaks. Changes accumulate informally. The schema in the repository diverges from the schema enforced by the CDS. When a new engineer or assessor needs to understand what the interface actually allows, there is no reliable reference. Maintaining schema version control as an operational practice, not a development artifact, prevents this degradation.

Another common error is failing to document legacy feed interfaces at the same level of rigor as modern API-based interfaces. Legacy feeds often carry the most sensitive or mission-critical data in the environment, and their formats are frequently informal, undocumented, or based on tribal knowledge held by a small number of engineers. When those engineers rotate off the program, the interface knowledge goes with them. Formalizing legacy interface documentation in the ICD is engineering work that programs consistently deprioritize until a failure forces the issue.

Finally, programs sometimes conflate ICD approval with CDS filter configuration approval. The two are related but distinct. An approved ICD documents what the interface is intended to allow. An approved filter configuration implements that intent in the deployed system. Both need to be maintained, and the relationship between them needs to be traceable. Approving one without verifying the other leaves a gap that assessors will identify.

Start with an interface inventory before drafting any ICD content. Identify every system that will connect to the CDS, the classification level of each system, the direction of data flow for each interface, and the data types each system produces or consumes. This inventory becomes the structural skeleton of the ICD and ensures that no interface is undocumented by default.

For each interface in the inventory, engage the system owner directly to collect or develop the schema definition. Do not assume that a system owner has a formal schema ready to provide. Many mission system teams have never been asked to produce one. The CDS program team may need to work with the system owner to observe the actual data the system produces, extract the implicit structure, and formalize it into a schema document that both parties can review and accept. This is time-consuming work, but it is the foundation of a defensible ICD.

Define the validation rules for each interface in collaboration with the ISSO and the CDS integrator. The ISSO brings the security perspective on what the filter must enforce. The CDS integrator brings the technical perspective on what the filter can enforce given the capabilities of the deployed solution. Where there is a gap between what the security requirement demands and what the filter can technically implement, that gap needs to be documented and addressed through compensating controls or a design change, not ignored.

Establish the version control and approval workflow before the ICD reaches its first approved version. Define the repository where schema artifacts and ICD versions will be stored, the naming convention for versions, the approval chain for each change type, and the linkage mechanism between ICD versions and CDS configuration baselines. Getting this infrastructure in place early means that the first change request after deployment has a defined process to follow rather than requiring the team to improvise under operational pressure.

Integrate the ICD review cycle into the program’s existing configuration management and continuous monitoring processes. The ICD should be reviewed whenever a connected system undergoes a significant update, whenever the CDS filter configuration changes, and on a defined periodic schedule regardless of whether changes have occurred. Periodic review catches documentation drift that incremental change tracking might miss, particularly for legacy interfaces where changes may not be formally communicated.

Before each reauthorization cycle, conduct a reconciliation between the current ICD and the deployed CDS configuration. Verify that every interface documented in the ICD is reflected in the filter configuration, that every allowed content type in the ICD is explicitly permitted in the filter, and that every prohibited type in the ICD is explicitly blocked. Document the reconciliation results and include them in the reauthorization package. This step converts the ICD from a static document into an active verification artifact that supports the authorization decision.

For programs managing multiple mission applications through a single CDS, consider organizing the ICD into interface-specific annexes with a common governance section that applies to all interfaces. This structure allows individual system owners to review and approve only the sections relevant to their systems while maintaining a unified document that the program office and ISSO can manage as a whole. It also makes it easier to add new interfaces over time without restructuring the entire document.

Workforce continuity is a sustainment consideration that programs rarely address in ICD governance. The engineers who built the initial interface definitions and understand the rationale behind specific validation rules will eventually rotate off the program. The ICD should include enough context in each interface section that a new engineer can understand not just what the rules are but why they exist. This is not documentation padding. It is the difference between a document that supports operational continuity and one that becomes an obstacle when institutional knowledge leaves the program.

Anchor Defense

Need help evaluating solutions for your environment?

Whether you’re modernizing infrastructure, improving resilience, or evaluating technologies, Anchor Defense helps organizations align mission requirements with practical outcomes.

TALK TO AN EXPERT →