Revenues
Substantially all revenues were generated within the United States of America.

The table below presents total revenues by contract type for the following periods:
Years Ended December 31,
202520242023
Time and materials$78,437 $88,740 $85,734 
Firm fixed price
31,613 46,259 50,100 
Cost-reimbursable
17,622 23,237 19,330 
Total revenues
$127,672 $158,236 $155,164 

The table below presents the revenue recognition pattern for the following periods:

Years Ended December 31, 2025Years Ended December 31, 2024Years Ended December 31, 2023
Point in TimeOver TimeTotal RevenuePoint in TimeOver TimeTotal RevenuePoint in TimeOver TimeTotal Revenue
All revenue streams$8,298 $119,374 $127,672 $7,294 $150,942 $158,236 $9,583 $145,581 $155,164 

The table below presents total revenues by major customer type for the following periods:
Years Ended December 31,
202520242023
U.S. government
$114,686 $143,087 $145,182 
Non-U.S. government and commercial
12,986 15,149 9,982 
Total revenues
$127,672 $158,236 $155,164 

The table below summarizes the activity in the allowance for expected credit losses:

Years Ended December 31,
202520242023
Beginning balance$127 $230 $98 
Additions
351 125 1,739 
Write-offs
(40)(228)(1,607)
Recoveries— — — 
Ending balance
$438 $127 $230 
Concentration of Risk

Revenue earned from customers contributing in excess of 10% of total revenues are presented in the tables below for the following periods:
Years Ended December 31, 2025
TotalPercent of total
revenues
Customer A(1)
$— — %
Customer B(1)
10,640 %
Customer C
16,945 13 %
Customer D
13,831 11 %
Customer E
20,728 16 %
Customer F
13,600 11 %
All others
51,928 41 %
Total revenues
$127,672 100 %

Years Ended December 31, 2024
TotalPercent of total
revenues
Customer A
$21,284 13 %
Customer B
25,681 16 %
Customer C
18,731 12 %
Customer D(1)
— — %
Customer E
16,840 11 %
Customer F(1)
— — %
All others
75,700 48 %
Total revenues
$158,236 100 %
Years Ended December 31, 2023
TotalPercent of total
revenues
Customer A
$33,266 21 %
Customer B
24,560 16 %
Customer C
18,143 12 %
Customer D(1)
14,197 %
Customer E(1)
— — %
Customer F(1)
— — %
All others
64,998 42 %
Total revenues
$155,164 100 %
(1) Customers that contributed in excess of 10% of consolidated revenues in any period presented have been included in all periods presented for comparability.

As of December 31, 2025, the Company had one customer with an accounts receivable balance of $3.4 million, which exceeds 10% of total accounts receivable. As of December 31, 2024, no individual customer had an accounts receivable balances that exceeded 10% of total accounts receivable.
Contract Balances

The table below presents the contract assets and contract liabilities included on the consolidated balance sheets for the following periods:
December 31,
2025
December 31,
2024
December 31,
2023
Accounts receivable, net of allowance for credit losses
$22,703 $38,953 $21,949 
Contract assets$218 $895 $4,822 
Contract liabilities
$14,756 $2,541 $879 

We receive payments from customers based on a billing schedule as established in our contracts. Contract assets relate to our conditional right to consideration for our completed performance under the contract. Accounts receivables are recorded when the right to consideration becomes unconditional. Contract liabilities relates to payments received in advance of performance under a contract. Contract liabilities are recognized as revenue as (or when) we perform under the contract. Included in the contract liabilities balance as of December 31, 2025 are $11.6 million of contract liabilities from our acquisition of Ask Sage. Refer to Note 4—Business Combinations. Revenue recognized in the year ended December 31, 2025 that was included in the contract liability balance as of December 31, 2024 was $2.3 million. Revenue recognized in the year ended December 31, 2024 that was included in the contract liability balance as of December 31, 2023 was $0.9 million.

When the Company’s estimate of total costs to be incurred to satisfy a performance obligation exceeds the expected revenue, the Company recognizes the loss immediately. When the Company determines that a change in estimate has an impact on the associated profit of a performance obligation, the Company records the cumulative positive or negative adjustment in the consolidated statements of operations and comprehensive loss. Changes in estimates and assumptions related to the status of certain long-term contracts may have a material effect on the Company’s operating results.

The following table summarizes the impact of the net estimates at completion (“EAC”) adjustments on the Company’s operating results:
Years Ended December 31,
202520242023
Net EAC Adjustments, before income taxes$4,347 $626 $593 
Net EAC Adjustments, net of income taxes(1)
$4,347 $626 $593 
Net EAC Adjustments, net of income taxes, per diluted share$0.01 $— $— 
(1) Due to the Company being in a net taxable loss position for all periods presented, the impact of income taxes is insignificant.

Remaining Performance Obligations

The Company includes in its computation of remaining performance obligations customer orders for which it has accepted signed sales orders and generally includes the funded and unfunded components of contracts that have been awarded. As of December 31, 2025, the aggregate amount of the transaction price allocated to remaining performance obligations was $8.2 million. The Company expects to recognize approximately 74% of its remaining performance obligations as revenue within the next 12 months and the balance thereafter assuming completion of these contracts without any reductions in scope or termination.

Historical Timeline

Fiscal YearFiled
2025Mar 2, 2026Showing above
2024Mar 25, 2025
2023Mar 15, 2024
2022Mar 31, 2023
2021Mar 31, 2022

About Revenue Disclosures

Revenue disclosures under ASC 606 explain how a company identifies performance obligations, allocates transaction prices, and determines when revenue is recognized. This section is essential for understanding whether reported revenue reflects genuine economic activity or aggressive accounting choices. Analysts examine the mix of point-in-time versus over-time recognition, which directly affects revenue timing and comparability.

Key signals: rising contract liabilities (deferred revenue) suggest strong future revenue visibility, while declining contract assets may indicate slowing project milestones. Watch for variable consideration estimates — rebates, returns, and performance bonuses that require management judgment. Significant changes in disaggregated revenue by geography or product line can reveal shifting business mix before it appears in headline numbers. Compare revenue growth against contract liability growth to assess sustainability, and scrutinize any changes in the timing of recognition that coincide with earnings pressure.