v3.26.1
SIGNIFICANT ACCOUNTING POLICIES (Tables)
6 Months Ended
Jun. 30, 2026
Accounting Policies [Abstract]  
Schedule of Revenue Disaggregated by Product and Service and Timing of Revenue Recognition
In the following tables, revenue is disaggregated by product and service and the timing of revenue recognition.
For the Three Months Ended June 30,
20262025
Products and services
SaaS$5,921 $5,080 
Equipment— 
Other14 43 
$5,941 $5,123 
Timing of revenue recognition
Products transferred at a point in time$$— 
Services transferred over time5,935 5,123 
$5,941 $5,123 

For the Six Months Ended June 30,
20262025
Products and services
SaaS$11,435 $9,948 
Equipment12 
Other18 63 
$11,465 $10,017 
Timing of revenue recognition
Products transferred at a point in time$12 $
Services transferred over time11,453 10,011 
$11,465 $10,017 
Schedule of Revenue Expected to be Recognized Related to Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied (or partially unsatisfied) at the end of the reporting period:
Remainder
2026
20272028Total
SaaS$679 $514 $— $1,193 
Other— — 
$681 $514 $— $1,195 
Schedule of Basic and Diluted Earnings Per Share
Three Months Ended
June 30,
Six Months Ended
June 30,
2026202520262025
Numerator:
    Net income (loss)$663 $(251)$1,299 $(569)
Denominator:
Weighted average common shares –
Basic 20,244,80219,795,18920,243,71819,357,364
Diluted20,930,38019,795,18920,876,86119,357,364
Income (loss) per common share
Basic/Diluted$0.03 $(0.01)$0.06 $(0.03)
Summary of Common Stock Equivalents Excluded from Loss Per Diluted Share
The following table summarizes the common stock equivalents excluded from net income (loss) per diluted share because their effect would be anti-dilutive:
Three Months Ended
June 30,
Six Months Ended
June 30,
2026202520262025
Stock options1,500,7491,500,749
Restricted stock units11,42811,428
1,512,1771,512,177