|
Fair Value of Financial Instruments (Cash and Cash Equivalents, Available-for-sale Securities, Restricted Cash Reconciliation) (Details) (USD $) In Thousands, unless otherwise specified
|
Dec. 31, 2014
|
Dec. 31, 2013
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
$ 166,656us-gaap_AvailableForSaleSecuritiesAmortizedCost |
$ 132,766us-gaap_AvailableForSaleSecuritiesAmortizedCost |
| Unrealized Gains |
37qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax |
45qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax |
| Unrealized Losses |
(27)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax |
(7)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax |
| Fair value |
166,666us-gaap_AvailableForSaleSecuritiesCurrent |
132,804us-gaap_AvailableForSaleSecuritiesCurrent |
| Cash and Cash Equivalents |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
76,504us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
42,368us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
| Unrealized Gains |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
1qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
| Unrealized Losses |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
| Fair value |
76,504us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
42,369us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember |
| Short-term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
50,716us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
54,810us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
| Unrealized Gains |
10qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
17qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
| Unrealized Losses |
(12)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
| Fair value |
50,714us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
54,827us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember |
| Long-Term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
39,436us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
35,588us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
| Unrealized Gains |
27qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
27qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
| Unrealized Losses |
(15)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
(7)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
| Fair value |
39,448us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
35,608us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember |
| Cash | Cash and Cash Equivalents |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
36,024us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CashMember |
27,488us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CashMember |
| Fair value |
36,024us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CashMember |
27,488us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CashMember |
| Money market funds | Cash and Cash Equivalents |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
39,180us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
183us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
| Unrealized Gains |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
| Unrealized Losses |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
| Fair value |
39,180us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
183us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MoneyMarketFundsMember |
| U.S. government agencies | Cash and Cash Equivalents |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
300us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
|
| Unrealized Gains |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
|
| Unrealized Losses |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
|
| Fair value |
300us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
|
| U.S. government agencies | Short-term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
33,280us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
4,004us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Unrealized Gains |
3qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Unrealized Losses |
(6)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Fair value |
33,277us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
4,004us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| U.S. government agencies | Long-Term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
3,101us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
15,256us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Unrealized Gains |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
22qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Unrealized Losses |
(2)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
(4)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Fair value |
3,099us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
15,274us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember |
| Commercial paper | Cash and Cash Equivalents |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
1,000us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
14,697us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Unrealized Gains |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
1qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Unrealized Losses |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Fair value |
1,000us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
14,698us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Commercial paper | Short-term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
4,998us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
32,784us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Unrealized Gains |
1qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
6qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Unrealized Losses |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Fair value |
4,999us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
32,790us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember |
| Corporate bonds | Short-term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
12,438us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
16,894us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Unrealized Gains |
6qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
11qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Unrealized Losses |
(6)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Fair value |
12,438us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
16,905us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Corporate bonds | Long-Term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
20,243us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
14,835us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Unrealized Gains |
22qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
1qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Unrealized Losses |
(10)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
(3)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Fair value |
20,255us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
14,833us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember |
| Municipal bonds | Short-term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
|
1,128us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember |
| Unrealized Gains |
|
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember |
| Unrealized Losses |
|
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember |
| Fair value |
|
1,128us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_AvailableForSaleSecuritiesLineItemMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember |
| Asset-backed securities | Long-Term Investments |
|
|
| Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] |
|
|
| Amortized cost, total |
16,092us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
5,497us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
| Unrealized Gains |
5qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
4qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedGainbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
| Unrealized Losses |
(3)qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
0qlys_AvailableforsaleSecuritiesAccumulatedGrossUnrealizedLossbeforeTax / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
| Fair value |
$ 16,094us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |
$ 5,501us-gaap_AvailableForSaleSecuritiesCurrent / us-gaap_BalanceSheetLocationAxis = qlys_LongTermInvestmentsMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember |