v3.26.1
REVENUE RECOGNITION
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
REVENUE RECOGNITION REVENUE RECOGNITION
The majority of our revenue is recognized over time, as control is transferred continuously to our customers, who receive and consume benefits as we perform. Revenue transferred to customers over time accounted for 69% and 70% of our revenue for the three and six months ended June 30, 2026, respectively, and 68% and 73% of our revenue for the three and six months ended June 30, 2025, respectively. For performance obligations in which control does not continuously transfer to the customer, we recognize revenue at the point in time when each performance obligation is fully satisfied. This coincides with the point in time the customer obtains control of the product or service, which typically occurs upon customer acceptance or receipt of the product or service, given that we maintain control of the product or service until that point. Revenue transferred to customers at a point in time accounted for 31% and 30% of our revenue for the three and six months ended June 30, 2026, respectively, and 32% and 27% of our revenue for the three and six months ended June 30, 2025, respectively. The change in revenue mix for the three and six months ended June 30, 2026, as compared to the prior period, was primarily driven by an increase in product sales volume from a successful ramp-up of a significant program.
Our contracts may include various types of variable considerations and may include estimated amounts in the transaction price, based on all of the information available to us, and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when any uncertainty associated with the variable consideration is resolved. We evaluate and include these estimated amounts of variable consideration in the transaction price and as performance on these contracts is complete, we adjust our revenue, when deemed necessary. No revenue adjustments were recorded during the three and six months ended June 30, 2026, and 2025.
We provide for anticipated losses on contracts during the period when the loss is determined by recording an expense for the total expected costs that exceeds the total estimated revenue for a performance obligation. No contract loss was recorded during the three and six months ended June 30, 2026. No contract loss was recorded during the three months ended June 30, 2025, while we recorded an immaterial contract loss during the six months ended June 30, 2025.
Disaggregated Revenues
In addition to our segment reporting, as further discussed in Note 15 – Segment Information, we disaggregate our revenues by customer and contract types. We treat sales to U.S. customers as sales within the United States, regardless of where the services are performed. Substantially most of our revenues are generated from U.S. customers, while international customers are de minimis; as such, the financial information by geographic location is not presented.
Table 3.1: Revenue by Customer Type
For the Three Months EndedFor the Six Months Ended
June 30, 2026June 30, 2025June 30, 2026June 30, 2025
Amount%Amount%Amount%Amount%
(dollars in thousands)
Federal$43,937 92 %$32,672 91 %$88,141 92%$59,972 90%
State & local, and commercial3,808 8 %3,296 9 %7,346 8%6,612 10%
Total revenue$47,745 100 %$35,968 100 %$95,487 100 %$66,584 100 %
Table 3.2: Revenue by Contract Type
For the Three Months EndedFor the Six Months Ended
June 30, 2026June 30, 2025June 30, 2026June 30, 2025
Amount%Amount%Amount%Amount%
(dollars in thousands)
Firm fixed-price$37,444 78 %$25,153 70 %$74,904 78%$45,151 68%
Time-and-materials8,679 18 %8,913 25 %17,342 18%17,290 26%
Cost plus fixed fee1,622 4 %1,902 5 %3,241 4%4,143 6%
Total revenue$47,745 100 %$35,968 100 %$95,487 100 %$66,584 100 %
A majority of the Company's revenue was derived under prime contracts and subcontracts with agencies and departments of the federal government. No other customer accounted for 10% or more of the Company's revenue during the three and six months ended June 30, 2026, and 2025.
Table 3.3: Revenue Concentration Greater than 10% of Total Revenue
For the Three Months EndedFor the Six Months Ended
June 30, 2026June 30, 2025June 30, 2026June 30, 2025
(in thousands)
Federal government:
Security Solutions$42,854 $29,032 $85,286 $51,684 
Secure Networks1,083 3,640 2,855 8,288 
Total$43,937 $32,672 $88,141 $59,972 
Table 3.4: Contract Balances
Balance Sheet PresentationJune 30, 2026December 31, 2025
(in thousands)
Billed accounts receivable (1)
Accounts receivable, net$11,315 $9,375 
Unbilled accounts receivableAccounts receivable, net5,253 6,962 
Contract assetsAccounts receivable, net1,432 663 
Contract liabilities – currentContract liabilities – current portion17,220 11,223 
Contract liabilities – non-currentContract liabilities – non-current portion874 1,124 
(1) Net of allowance for credit losses.
The changes in the Company's contract assets and contract liabilities during the current period were primarily the result of the timing differences between the Company's performance, invoicing and customer payments. Revenue recognized for the three and six months ended June 30, 2026, which was included in the contract liabilities balance at December 31, 2025, was $3.3 million and $8.1 million, respectively. Revenue recognized for the three and six months ended June 30, 2025, which was included in the contract liabilities balance at December 31, 2024, was $1.7 million and $4.1 million, respectively.
As of June 30, 2026, we had approximately $56.5 million of remaining performance obligations, which we also refer to as funded backlog. We expect to recognize approximately 98% of our remaining performance obligations over the next 12 months, and the balance thereafter.