Summary of Significant Accounting Policies (Tables)
|
6 Months Ended |
Jun. 30, 2026 |
| Accounting Policies [Abstract] |
|
| Schedule of Condensed Balance Sheet |
Consolidated Balance Sheet (In thousands) | | | | | | | | | | | | | | | | | | | March 31, 2026 | | As Previously Reported | | Adjustments | | As Revised | | Assets | | | | | | | Current assets: | | | | | | | Cash and cash equivalents | $ | 117,812 | | | $ | — | | | $ | 117,812 | | Accounts receivable, net of allowance of $4,232 as of March 31, 2026 | 46,062 | | | (370) | | | 45,692 | | | | | | | | | | | | | | | | | | | | | | | | | | | Total current assets | 210,976 | | | (370) | | | 210,606 | | | Property and equipment, net | 37,786 | | | 338 | | | 38,124 | | | | | | | | | Deferred taxes | 4,262 | | | (248) | | | 4,014 | | | | | | | | | | | | | | | | | | | | | Total assets | $ | 1,395,316 | | | $ | (280) | | | $ | 1,395,036 | | | Liabilities and stockholders' equity | | | | | | | Current liabilities: | | | | | | | | | | | | | Accrued liabilities and other | 40,298 | | | (473) | | | 39,825 | | | | | | | | | | | | | | | | | | | | | Income taxes payable | 9,717 | | | (1,327) | | | 8,390 | | | Current portion of deferred revenue | 20,677 | | | 4,019 | | | 24,696 | | | | | | | | | Total current liabilities | 167,396 | | | 2,219 | | | 169,615 | | | Long-term liabilities: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Total liabilities | 596,485 | | | 2,219 | | | 598,704 | | | | | | | | | Stockholders’ equity: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Retained earnings | 53,557 | | | (2,499) | | | 51,058 | | | Total stockholders' equity | 798,831 | | | (2,499) | | | 796,332 | | | Total liabilities and stockholders' equity | $ | 1,395,316 | | | $ | (280) | | | $ | 1,395,036 | |
|
| Schedule of Condensed Statement of Comprehensive Income |
Consolidated Statements of Operations and Comprehensive Income (In thousands, except per share information) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, 2025 | | Six Months Ended June 30, 2025 | | As Previously Reported | | Adjustments | | As Revised | | As Previously Reported | | Adjustments | | As Revised | | Revenue: | | | | | | | | | | | | | Subscription and other revenue | $ | 131,249 | | | $ | (728) | | | $ | 130,521 | | | $ | 249,446 | | | $ | (837) | | | $ | 248,609 | | | Cost of revenue: | | | | | | | | | | | | | Cost of revenue | 24,468 | | | 74 | | | 24,542 | | | 47,979 | | | 129 | | | 48,108 | | | | | | | | | | | | | | | Total cost of revenue | 28,697 | | | 74 | | | 28,771 | | | 56,375 | | | 129 | | | 56,504 | | | Gross profit | 102,552 | | | (802) | | | 101,750 | | | 193,071 | | | (966) | | | 192,105 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Operating income | 10,122 | | | (802) | | | 9,320 | | | 11,946 | | | (966) | | | 10,980 | | | Other expense, net: | | | | | | | | | | | | | | | | | | | | | | | | | Other (expense) income, net | (854) | | | 39 | | | (815) | | | 531 | | | 162 | | | 693 | | | Total other expense, net | (8,944) | | | 39 | | | (8,905) | | | (14,630) | | | 162 | | | (14,468) | | | Profit (loss) before income taxes | 1,178 | | | (763) | | | 415 | | | (2,684) | | | (804) | | | (3,488) | | | Income tax expense | 5,200 | | | (154) | | | 5,046 | | | 8,500 | | | (136) | | | 8,364 | | | Net loss | $ | (4,022) | | | $ | (609) | | | $ | (4,631) | | | $ | (11,184) | | | $ | (668) | | | $ | (11,852) | | | Other comprehensive income: | | | | | | | | | | | | | Foreign currency translation adjustment | 37,307 | | | (747) | | | 36,560 | | | 53,732 | | | (1,080) | | | 52,652 | | | Other comprehensive income | 37,307 | | | (747) | | | 36,560 | | | 53,732 | | | (1,080) | | | 52,652 | | | Comprehensive income | $ | 33,285 | | | $ | (1,356) | | | $ | 31,929 | | | $ | 42,548 | | | $ | (1,748) | | | $ | 40,800 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | Three Months Ended March 31, 2026 | | As Previously Reported | | Adjustments | | As Revised | | Revenue: | | | | | | | Subscription and other revenue | $ | 133,675 | | | $ | (1,306) | | | $ | 132,369 | | | Cost of revenue: | | | | | | | Cost of revenue | 27,510 | | | 92 | | | 27,602 | | | | | | | | | Total cost of revenue | 31,751 | | | 92 | | | 31,843 | | | Gross profit | 101,924 | | | (1,398) | | | 100,526 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Total operating expenses | 89,467 | | | — | | | 89,467 | | | Operating income | 12,457 | | | (1,398) | | | 11,059 | | | Other expense, net: | | | | | | | | | | | | | | | | | | | Total other expense, net | (8,272) | | | — | | | (8,272) | | | Income before income taxes | 4,185 | | | (1,398) | | | 2,787 | | | Income tax expense | 4,800 | | | (330) | | | 4,470 | | | Net loss | $ | (615) | | $ | (1,068) | | $ | (1,683) | | Other comprehensive loss: | | | | | | | Foreign currency translation adjustment | (13,033) | | | 1,180 | | | (11,853) | | | Other comprehensive loss | (13,033) | | | 1,180 | | | (11,853) | | | Comprehensive loss | $ | (13,648) | | | $ | 112 | | | $ | (13,536) | | | Net loss per share: | | | | | | | Basic loss per share | $ | (0.00) | | | $ | (0.01) | | | $ | (0.01) | | | Diluted loss per share | $ | (0.00) | | | $ | (0.01) | | | $ | (0.01) | | | | | | | | | | | | | | | | | | | |
|
| Schedule of Condensed Cash Flow Statement |
Consolidated Statements of Cash Flows (In thousands) | | | | | | | | | | | | | | | | | | | Six Months Ended June 30, 2025 | | As Previously Reported | | Adjustments | | As Revised | | Cash flows from operating activities | | | | | | | Net loss | $ | (11,184) | | | $ | (668) | | | $ | (11,852) | | | Adjustments to reconcile net loss to net cash provided by operating activities: | | | | | | | Depreciation and amortization | 21,281 | | | 129 | | | 21,410 | | | | | | | | | | | | | | | Gain on asset disposal | — | | | (162) | | | (162) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in operating assets and liabilities, net of assets acquired and liabilities assumed in business combinations: | | | | | | | | | | | | | | | | | | | | | | | | | Current contract assets | (3,193) | | | 94 | | | (3,099) | | | | | | | | | | | | | | | | | | | | | | | | | | | Income taxes payable | (441) | | | (136) | | | (577) | | | Deferred revenue | (3,641) | | | 743 | | | (2,898) | | | | | | | | | | | | | | | Net cash provided by operating activities | 43,864 | | | — | | | 43,864 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | Three Months Ended March 31, 2026 | | As Previously Reported | | Adjustments | | As Revised | | Cash flows from operating activities | | | | | | | Net loss | $ | (615) | | | $ | (1,068) | | | $ | (1,683) | | | Adjustments to reconcile net loss to net cash provided by operating activities: | | | | | | | Depreciation and amortization | 11,356 | | | 92 | | | 11,448 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in operating assets and liabilities, net of assets acquired and liabilities assumed in business combinations: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Income taxes payable | (1,100) | | | (330) | | | (1,430) | | | Deferred revenue | (4,207) | | | 1,306 | | | (2,901) | | | | | | | | | | | | | | | Net cash provided by operating activities | 17,471 | | | — | | | 17,471 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| Schedule of Changes In Accumulated Other Comprehensive Income By Component |
Changes in accumulated other comprehensive income by component are summarized below: | | | | | | | | | | | | | | | | | Foreign Currency Translation Adjustments | | Accumulated Other Comprehensive Income | | | | | | | | | | (in thousands) | | Balance as of December 31, 2025 | | | $ | 32,514 | | | $ | 32,514 | | | Other comprehensive loss before reclassification | | | (14,845) | | | (14,845) | | | Amount reclassified from accumulated other comprehensive income | | | — | | | — | | | Net current period other comprehensive loss | | | (14,845) | | | (14,845) | | | Balance as of June 30, 2026 | | | $ | 17,669 | | | $ | 17,669 | |
|
| Schedule of Disaggregation of Revenue |
Our revenue consists of the following: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | 2026 | | 2025 | | 2026 | | 2025 | | | | | | | | | | (in thousands) | | Subscription revenue | $ | 137,071 | | | $ | 129,146 | | | $ | 268,224 | | | $ | 245,886 | | | Other revenue | 1,152 | | | 1,375 | | | 2,368 | | | 2,723 | | | Total subscription and other revenue | $ | 138,223 | | | $ | 130,521 | | | $ | 270,592 | | | $ | 248,609 | |
During the three and six months ended June 30, 2026 and 2025, respectively, we recognized the following revenue from subscription and other services at a point in time and over time: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | 2026 | | 2025 | | 2026 | | 2025 | | | | | | | | | | (in thousands) | | | | Revenue recognized at a point in time | $ | 12,114 | | | $ | 16,709 | | | $ | 19,658 | | | $ | 26,831 | | | Revenue recognized over time | 126,109 | | | 113,812 | | | 250,934 | | | 221,778 | | | Total revenue recognized | $ | 138,223 | | | $ | 130,521 | | | $ | 270,592 | | | $ | 248,609 | |
|
| Schedule of Details Of Total Deferred Revenue Balance |
The following table reflects the changes in our total deferred revenue balance for the six months ended June 30, 2026: | | | | | | | Total Deferred Revenue | | | | (in thousands) | | Balance as of December 31, 2025 | $ | 28,954 | | | Deferred revenue recognized | (20,241) | | | Additional amounts deferred | 13,102 | | | | | Balance as of June 30, 2026 | $ | 21,815 | |
|
| Schedule of Remaining Performance Obligations for Revenue Recognition |
We expect to recognize revenue related to remaining performance obligations as of June 30, 2026, as follows: | | | | | | | | | | | | | | | | | | | | | | | | | Revenue Recognition Expected by Period | | Total | | Less than 1 year | | 1-3 years | | More than 3 years | | | | | | | | | | (in thousands) | | Expected recognition of remaining performance obligations | $ | 279,750 | | | $ | 209,428 | | | $ | 69,687 | | | $ | 635 | |
|
| Schedule of Amortization of Acquired Technologies |
Amortization of Acquired Technologies. During the three and six months ended June 30, 2026 and 2025, respectively, amortization of acquired technologies included in cost of revenue relate to our subscription products as follows: | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | 2026 | | 2025 | | 2026 | | 2025 | | | | | | | | | | (in thousands) | | Amortization of acquired technologies | $ | 4,237 | | | $ | 4,229 | | | $ | 8,478 | | | $ | 8,396 | |
|