Mullvad VPN
Security
Usability
Rank 2 of 68 in the register
Sweden · Commercial VPN
Exits in 50 countries
Head to head
The gap
The security score is not a total of good things. It starts at 100 and eight channels each take a share of what is left, so one channel can settle a record on its own. Both records are drawn here on the same scale — the model’s own cap of 0.9 — rather than on a scale fitted to this pair, which would make every comparison look equally dramatic.
Line by line
Every field the contract publishes about a provider, in the contract’s own groups, including the rows where the two agree — a table that printed only differences would invent a disagreement, and one that printed only the interesting rows would be us choosing what is interesting. Open a group to read its rows; each one says how many it holds and how many of them the two records answer differently.
A green cell means the methodology itself prices that value below the other one, not that we prefer it. Rows the model does not price carry no mark at all: price is never marked, because nothing in the model says cheaper is safer, and neither is coverage, platform count or devices. Where a value was never established the cell says so instead of showing a zero.
What actually happened
Other pairs
Pairs within the top ten get a page — 80 comparisons in all. Records below that are not paired here: a comparison earns a page where the choice between the two is a real one, and that choice is made near the top of the register.
1 documented demand, none of which produced data
No demand on the public record
Recent changes
3 changes logged, the latest on 13 Sep 2026
Open questions
Still open on this record.
The audit cadence. Mullvad publishes an audit index in the app repository and it is honest about cadence: the index states outright that the main app audits happen every two years, with extras in between, which is why regularity is recorded as repeated at no fixed interval rather than as an annual series — no annual cadence is claimed by anyone.
Two reports, one date. Two separate engagements share 2026-02-17 and the record names both: Assured's code review of GotaTun, the userspace WireGuard implementation (no critical, high or medium issues; two low and nine notes), and Leviathan's Mobile App Profile assessment of the Android app, whose compliance report gives February 17, 2026 as its date of evaluation and AL2 as its assurance level. One date, two reports, no contradiction.
Why the count reads eight. The audit count is eight because the GotaTun review sits outside the app repository's own list. Before them, a 30 person-day X41 D-Sec review across all five platforms found six vulnerabilities — three high, two medium, one low, none critical.
What no engagement covers. What none of these engagements covers is the server fleet: every one of them examines the app or the tunnel protocol, which is why fleet coverage is recorded as not applicable rather than as a sample. The no-logs claim on the infrastructure side therefore rests on the April 2023 search warrant — Swedish police came for customer data and left without it — and not on any audit.
Reproducible builds, Android only. Reproducible builds are Android-only, from version 2025.2 onward, so the field stays partial; the desktop and iOS builds are not verifiable bit-for-bit. Turkey is the one mandate country on the offered list and the hosting behind it is not established.
Nothing published about demands. Nothing on record rests on anything the provider publishes about demands it receives: there is no transparency report and no warrant canary, so the April 2023 seizure carries that ground alone. Kill-switch coverage and P2P policy are unestablished; the latest audit is a protocol code review, not a no-logs engagement, so V11 is silent and retention leans on the declaration.
Still open on this record.
The owner group's record. X04 is the deliberate hole. The Form 20-F establishes that Opera itself is not party to any material proceeding, but the field asks about the owner group, and Kunlun's own record was not chased to a primary document this run.
The two proceedings nobody opened. The reported CFIUS-mandated divestiture of Grindr and the 2020 securities class action that followed a short-seller report are both widely described and neither was opened here. Grindr's first post-listing Form 10-K does not recount it.
Why the score does not turn on it. Both clean and unknown price at 0.000, so nothing in the score turns on this; what is missing is the record, not the number, and the next run should start at the Kunlun filings and the federal docket rather than at a summary of them.
The report that would move four fields. The Deloitte report is the other document that would move several fields at once: V04, V07, V11 and V15 are all unknown only because it is not published, and V11 in particular is the field the whole no-log claim rests on.
What has no document. U07 has no document and neither does C13 behind it: Opera names AES-256 and a "secure tunnel" and never a protocol, so the weakest transport on offer is unestablished. U08, U09 and U12b are unfilled for the same reason - the feature comparison table on the product page marks rows with ticks that the fetched markup does not carry, and reading ticks off a rendered image is not a source.
Servers described, not evidenced. C02, C06 and C08 have nothing behind them: Opera says the servers are physical and its own, which settles neither disk nor DNS nor who owns the hardware. C09b cannot be answered while U02 is unknown.
One store, not two. Only the Google Play data-safety form was read; the App Store privacy labels for the iOS browser were not, so X12 rests on one store rather than the worse of two.
Two readings rather than statements. Linux in U01 is inferred from the desktop help manual, which documents the VPN and covers Windows, macOS and Linux together without splitting by platform; Android and iOS are named explicitly in the audit announcement. U10 is unlimited because there is no account and no device cap to enforce one, which is a reading of the product rather than a stated figure.
Notes
On the record as a whole.
The April 2023 search warrant is the strongest single item in this record: police attended the office and left with nothing, which is practice evidence rather than paper and ages far more slowly than an audit. Pricing is a flat 5 EUR/month on every term; U04_price_monthly carries 5.80 (the USD equivalent Mullvad states on its own page); U04b_price_yearly is 69.60, the full year at that rate.
On the record as a whole.
Scope. This record is Opera's free VPN built into the browser, which is what makes it a browser_proxy: Opera states plainly that it "only protects your browsing within the Opera browser, and not your entire device".
The paid sibling VPN Pro is a different product and is not scored here - the privacy statement says VPN Pro "is provided by a third-party service provider which owns, operates, and maintains the infrastructure", it costs from $4 a month, covers up to six devices and 48 countries, and the free VPN by contrast runs on Opera's own infrastructure.
Who that third party is has moved: the 2024 audit announcement says VPN Pro servers are "provided in collaboration with Nord", and the 2026 explainer says VPN Pro is "equipped with the next-gen Lightway protocol", which is ExpressVPN's. Neither document says the arrangement changed.
X02 is the load-bearing finding, and both documents behind it are Opera's own. The 2024 announcement quotes Deloitte's opinion as "the configuration of IT systems and management of the supporting IT operations was suitably designed and implemented, in all material respects, based on the criteria described in Opera's Management Assertion, as of 10th August 2024", and separately attributes the sentence "There is no data logging functionality built into the VPN service, and no data whatsoever is collected" to Opera's own Management Assertion.
The 2026 post re-tells the same engagement as Deloitte having done the finding: "we gave Deloitte's team complete access to our VPN and server infrastructure, and they were able to verify our claim ... In fact, a data logging function is not even built into the VPN in the first place." The same post upgrades a window the 2024 post dates as 18 June to 10 August 2024 into "complete access".
Opera is describing its own assertion as its auditor's conclusion. That is why the VERIFY block splits the way it does. V01 is yes_verified on the strength of a report actually opened - Cure53's own published management summary of its March 2022 assessment - not on the strength of the Deloitte announcement.
The Deloitte report itself is not published anywhere, so V02 is press_only, and every field that is a finding of that report rather than a fact about the engagement stays unknown: fleet coverage (V04), assurance standard (V07), what the report states is retained (V11) and the strength of the opinion (V15).
Engagement facts - the firm, its category, the date, what was listed as tested - are taken from the announcement. A vendor that has demonstrably re-characterised this audit once is not a source for what the audit concluded. C01 is none_linkable because that is the declaration in the privacy statement; V11 is the finding, and there is no finding to read.
Cure53's report is real and is the reason V14 is yes_verified: seven testers, twenty-four person-days, white-box across four work packages covering the VPN clients, the server configuration and infrastructure, and the Opera Mini protocol used to deliver VPN config. Fourteen security-relevant issues, eight of them actual vulnerabilities, five rated high severity and none critical.
As of March 2022 nine were fixed with the fixes verified, one partly fixed, three risk accepted, one a false alert and one still in progress. Opera's blog says the seven items relating directly to the browser VPN were "all subsequently resolved", and the table bears that out - the residue sits in the Opera Mini work package, not in the VPN itself.
Ownership is fully disclosed and ends in a mandate country, which is why X03 and C11 point in opposite directions without contradicting each other.
The data controller named in Opera's own privacy statement is Opera Norway AS, a Norwegian company, and the transparency report is filed in that name.
The holding company is Opera Limited, an exempted company incorporated in the Cayman Islands in March 2018 with no substantive operations of its own. The Form 20-F for 2025 names Hong Kong Kunlun Tech Holding Limited as principal shareholder at 68.0%, a subsidiary of Kunlun Tech Co., Ltd. incorporated in the PRC, and states that Kunlun "is the ultimate parent of Opera and is controlled by Opera's executive chairman".
So M06 is NO and C10 is no, while M11 is CN and C11 is yes.
C12 is the sharpest gap between the VPN's declaration and the application it lives inside. The VPN section of the privacy statement declares no logging; a different section of the same document says that when an Opera application is installed "a random installation ID is generated. We collect this identifier, as well as Machine ID, hardware specifications (model, release date, etc.), operating system, environment configuration, and feature usage data", retained for up to three years.
A Machine ID is hardware-derived, so the identifier the provider holds is persistent_hardware_id and not an app-scoped random one, whatever the tunnel does or does not log.
X12 compares two documents Opera filed itself. The Play data-safety form for com.opera.browser declares Installed apps collected for Analytics, and the privacy statement never mentions collecting the applications installed on the device at all. Installed apps is behaviour, not an identifier, hence undisclosed_behaviour.
The same form declares Device or other IDs shared with other companies for advertising, which is what puts C07a at ads. C07b rests on something narrower and is marked B for it: the only third-party host in the markup served for the product page is Google Tag Manager, and what that container loads at run time was not enumerated.
U02 is unknown by design of the product, not by failure of the search: the free VPN offers three regions - Opera names them America, Asia and Europe - and never a country. C09 and C09b follow from that and cannot be settled while it holds.
X05 is ads_supported on Opera's own explainer, which lists advertising first among three revenue lines and describes Opera Ads collecting a randomly-generated user ID, city or country and broad categories of sites browsed, retained for up to a year; together with U05 = unlimited_free this is exactly the case R15 exists to flag.
X06 is the 2026 post's claim that AES-256 "would take a hacker with even the fastest computer more than a billion years to break". X09 is self_disclosed_prompt on two 2026 posts in which Opera published vulnerabilities that outside researchers had reported to it, along with the analysis and the fixed version - these are browser vulnerabilities rather than VPN incidents, and no VPN incident is known.
C05 is not_sold. The free VPN has no payment step at all - no subscription, no account - so there is nothing to pay anonymously or otherwise.
This record was first written as none, which reads as "only identified payment methods are offered" and is false here, because the vocabulary had no token for a service that takes no money; unknown would have claimed the search failed, which was also false, and between two wrong readings the one that errs against the provider was recorded. The token exists now and prices at nothing, which is the honest answer: where there is no payment there is no payment identity to leak.
Security
Usability
Rank 2 of 68 in the register
Sweden · Commercial VPN
Exits in 50 countries
Security
Usability
Rank 43 of 68 in the register
Norway · Browser proxy
Country list not published
| ChannelPressure taken from what was left | Mullvad VPNDominant channel: Retention0 to 0.9, longer is worse | Opera VPNDominant channel: Retention0 to 0.9, longer is worse |
|---|---|---|
| RetentionDoes a record exist that links traffic to a person, and who checked? | 0.218 | 0.750 |
| IntegrityHas it been caught saying one thing and doing another? | 0.000 | 0.516 |
| JurisdictionCan someone compel what exists, without the provider getting a say? | 0.050 | 0.478 |
| IgnoranceHow much of this did nobody establish? | 0.103 | 0.149 |
| HygieneWhat identifying material is collected in passing, and can the client be checked at all? | 0.050 | 0.148 |
| ArchitectureWho operates the exit, and what does it do to the traffic? | 0.050 | 0.050 |
| DisclosureHas it already handed something over? | 0.000 | 0.000 |
| SilenceTen years, millions of users and nothing on record? | 0.000 | 0.000 |
| What is left of 100The channels multiply: each one takes a share of what the one before it left standing | 60 | 4 |
Mullvad VPN and Opera VPN were assessed by the HushFleet team: Mullvad VPN scores 60/100 for security, in the Acceptable band, and Opera VPN 4/100, in the Not recommended band. They share an independent audit and sign-up without an account. The 56-point gap opens widest on Retention — “Does a record exist that links traffic to a person, and who checked?” — taking 22% from Mullvad VPN and 75% from Opera VPN.
By circumstance
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Torrenting | — not established | Blocked blocked |
| Streaming | — not established | — not established |
| Devices at once | 5 | unlimited |
| Under censorship | Claimed to work claimed | — not established |
| Exits in mandate countries | 1 Turkey | — not established |
| Hosting in those countries | — not established | — not established |
| Company under a mandate | No such mandate no | No such mandate no |
| Secret orders | Orders go through a judge judicial_only | Orders go through a judge judicial_only |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Security | 60 acceptable · rank 2 of 68 | 4 not recommended · rank 43 of 68 |
| Usability | 64 out of 100 | 75 out of 100 |
| Record completeness | 87% usability 75% | 77% usability 45% |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Who operates the exit | Run by the provider itself provider_operated | Run by the provider itself provider_operated |
| Retention as declared | Nothing that links traffic to a person none_linkable | Nothing that links traffic to a person none_linkable |
| RAM-only diskless servers | Yes, on the provider's word yes_declaredBmullvad.net · | — not establishedno source published |
| IP allocation model | Exit address shared between users shared | Exit address shared between users shared |
| Signup without email | Yes, on the provider's word yes_declared | Yes, on the provider's word yes_declared |
| Anonymous payment options | Cash · Cryptocurrency paid directly · Prepaid voucher or gift cardBmullvad.net · | The service takes no payment at allBopera.com · 2 sources · |
| Own DNS inside the tunnel | Yes, on the provider's word yes_declaredBmullvad.net · | — not establishedno source published |
| Worst third-party SDK category in the app | No third-party SDK noneBmullvad.net · | Advertising adsAplay.google.com · |
| Worst third-party tracker category on the site | No third-party tracker noneBmullvad.net · | Analytics analyticsBopera.com · |
| Who owns the hardware | Owned and rented both mixedBmullvad.net · | — not establishedno source published |
| Offered countries that sit under a logging mandate | 1 TurkeyBmullvad.net · | — not establishedno source published |
| Hosting in the mandate countries it offers | — not established | — not established |
| Incorporation country mandates retention | No such mandate no | No such mandate no |
| Beneficial owner sits under a retention regime | No such regime noCmullvad.net · | Yes, the owner sits under a retention regime yesAsec.gov · |
| Persistent device identifier | None held noneBplay.google.com · | A permanent hardware identifier persistent_hardware_idAopera.com · |
| Weakest protocol still offered | — the question does not ariseBmullvad.net · 2 sources · | — not establishedno source published |
| What the exit does to passing traffic | — not established | — not established |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| At least one independent audit | Yes, and the report was read yes_verified | Yes, and the report was read yes_verified |
| How the report is published | The full report is published full_pdfBgithub.com · | Press coverage only press_onlyAblogs.opera.com · |
| Subject of the audit | The protocol · The app's securityAassured.se · 2 sources · | The no-logs claim itself · The infrastructureBblogs.opera.com · |
| Server fleet coverage | — |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Server seizure by law enforcement | Seized, and nothing usable was on it seizure_no_dataBmullvad.net · | No seizure on record none_knownAsecurity.opera.com · 2 sources · |
| Actual disclosure history | No disclosure on record none_known | No disclosure on record none_known |
| Court record of compelled production | No court record none_known | No court record none_known |
| Response to a national logging mandate | Was never present in that country no_presenceBmullvad.net · | — not establishedno source published |
| Transparency report |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Documented gap between claim and behaviour | No documented lie none | No documented lie none |
| Marketing against audit findings | No gap on record noneCgithub.com · | Marketing claims more than the audit found marketing_overstatesAblogs.opera.com · 2 sources · |
| Ownership structure transparency | Ownership is stated and checkable clear | Ownership is stated and checkable clear |
| Adverse events on the owner group record | Nothing adverse on record cleanCmullvad.net · | — not establishedno source published |
| How the service is paid for |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Legal entity | Mullvad VPN AB, Box 53049, 400 14 Gothenburg, SwedenBmullvad.net · | Opera Norway AS, Vitaminveien 4, 0485 Oslo, Norway - data controller for the Opera browsers and the party named in the transparency report; holding company Opera Limited, an exempted company incorporated in the Cayman Islands in March 2018, listed on Nasdaq as OPRAAopera.com · 2 sources · |
| Where the company sits | Sweden SEBmullvad.net · | Norway NOAopera.com · 2 sources · |
| Year the service launched | 2009Bmullvad.net · | 2016 |
| Mullvad VPN | Opera VPN | |
|---|---|---|
| Platforms with a client | 5 Android, iOS, Linux, macOS, Windows | 5 Android, iOS, Linux, macOS, Windows |
| Countries with an exit | 50 countriesBmullvad.net · | — not establishedno source published |
| Paying monthly | $5.69 per monthBmullvad.net · | — the question does not ariseno source published |
| Paying yearly | $69.60 a year at renewal, billed onceBmullvad.net · | — the question does not ariseno source published |
| Usable free tier | No free tier noneB |
| — not establishedno source published |
| Auditor name | Assured Security Consultants (GotaTun code review) and Leviathan Security Group (Android Mobile App Profile assessment) — two engagements, both reports dated 2026-02-17Aassured.se · 3 sources · | Deloitte (no-log audit, opinion as of 10 August 2024, announced 25 September 2024); Cure53, Berlin (white-box security assessment of the VPN clients, servers and periphery, summary report 23 March 2022)Ablogs.opera.com · 2 sources · |
|---|
| Auditor category | A security specialist security_specialistBgithub.com · | One of the Big Four big4Ablogs.opera.com · |
|---|
| Assurance standard | Another standard otherBgithub.com · | — not establishedno source published |
|---|
| Date of latest report | 2026-02-17Aassured.se · 2 sources · | 2024-08-10Bblogs.opera.com · |
|---|
| Audit cadence | Repeated, at no fixed interval repeated_irregular | Repeated, at no fixed interval repeated_irregular |
|---|
| Total published audits | 8Bgithub.com · 2 sources · | 2Ablogs.opera.com · 2 sources · |
|---|
| Retention as the report states it | The report does not address retention not_statedBgithub.com · | — not establishedno source published |
|---|
| Client source code published | Every client allBgithub.com · | None noneAsec.gov · |
|---|
| Reproducible builds | On some platforms partialBmullvad.net · | — not establishedno source published |
|---|
| Separate pentest | Yes, and the report was read yes_verified | Yes, and the report was read yes_verified |
|---|
| Strength of the assurance opinion | — the question does not ariseno source published | — not establishedno source published |
|---|
Current, with request numbers fresh_with_numbersAsecurity.opera.com · |
| Reported numbers plausible for this scale | — the question does not ariseno source published | The numbers are plausible at this scale plausibleBsecurity.opera.com · 2 sources · |
|---|
| Warrant canary discipline | — not establishedno source published | Never had one noneBsecurity.opera.com · |
|---|
| Requests received | — not establishedno source published | 20Asecurity.opera.com · |
|---|
| Requests that produced data | — not establishedno source published | 0Asecurity.opera.com · |
|---|
| Secret-order regime | Orders go through a judge judicial_only | Orders go through a judge judicial_only |
|---|
| Chronology of documented enforcement events | 1 documented demandBmullvad.net · | 0 No demand on the public recordBsecurity.opera.com · 2 sources · |
|---|
paid_onlyPaid for by advertising ads_supportedAblogs.opera.com · 2 sources · |
| Claims of 100% anonymity or military-grade crypto | — not establishedno source published | Claims total anonymity or military-grade encryption yesAblogs.opera.com · |
|---|
| Aggressive lifetime subscriptions | Does not no | Does not no |
|---|
| Coverage exists only on affiliate sites | Covered outside affiliate sites too no | Covered outside affiliate sites too no |
|---|
| Security incident and how it was disclosed | Disclosed by the provider, promptly self_disclosed_prompt | Disclosed by the provider, promptly self_disclosed_prompt |
|---|
| Affiliate programme and payout tier | No affiliate programme noneBmullvad.net · | — not establishedno source published |
|---|
| Owner-run review media discloses the tie | — the question does not arise | — the question does not arise |
|---|
| App store declaration | The store form matches the published policy matches_policyBapps.apple.com · 3 sources · | Behaviour is declared to the store, not in the policy undisclosed_behaviourAplay.google.com · 2 sources · |
|---|
| User base scale (mass >=10M, mid >=1M, niche <1M) | Mid: a million users or more midBmullvad.net · | Mass: 10 million users or more massAsec.gov · |
|---|
| Ultimate beneficial owner as written | Amagicom AB, 100% owned by founders Fredrik Stromberg and Daniel BerntssonBmullvad.net · | Kunlun Tech Co., Ltd., incorporated in the PRC, ultimate parent, holding 68.0% through its Hong Kong subsidiary Hong Kong Kunlun Tech Holding Limited; Kunlun is controlled by Opera's executive chairman James Yahui Zhou, who holds 11.6% of Kunlun directly and 15.1% through Beijing Yingrui Century Software R&D Center L.P.Asec.gov · |
|---|
| Other businesses of the owner group | None disclosedBmullvad.net · | Adtech or adware · A portfolio of other appsAsec.gov · 2 sources · |
|---|
| Country of the ultimate beneficial owner | SEBmullvad.net · | CNAsec.gov · |
|---|
| Owner group | independentBmullvad.net · | kunlunAsec.gov · |
|---|
| Date the current owner took control | — the question does not ariseno source published | 2016-11Asec.gov · |
|---|
| Role of this brand inside the group | The group's principal brand principal | The group's principal brand principal |
|---|
| Infrastructure shared with cluster siblings | Separate infrastructure separate | Separate infrastructure separate |
|---|
A free tier with no data cap unlimited_freeAopera.com · 2 sources · |
| Works under active censorship | Claimed to work claimedBmullvad.net · | — not establishedno source published |
|---|
| Protocols offered | 1 WireGuardBmullvad.net · 2 sources · | — not establishedno source published |
|---|
| Kill switch coverage | — not established | — not established |
|---|
| Split tunneling available | Available yesBmullvad.net · | — not establishedno source published |
|---|
| Simultaneous connections | 5Bmullvad.net · | unlimitedBopera.com · 2 sources · |
|---|
| Friction to start using it | No account needed no_account | No account needed no_account |
|---|
| P2P allowed | — not establishedno source published | Blocked blockedAblogs.opera.com · 2 sources · |
|---|
| Major streaming services reachable | — not established | — not established |
|---|
25 Sep 20261 changes
Monthly price USD, month-to-month plan, as chargedU04_price_monthly
5.8 changed to 5.69
12 Sep 20264 changes
Security scoresecurity.score
65 changed to 64
Security scoresecurity.score
64 changed to 60
Works under active censorshipU06_censorship_circumvention
none changed to claimed
Usability scoreusability.score
55 changed to 64
13 Sep 20261 changes
Why this provider is in the catalogueM14_inclusion_basis
hand_picked changed to adverse_record
12 Sep 20261 changes
Security scoresecurity.score
5 changed to 4
30 Aug 20261 changes
Anonymous payment optionsC05_payment_anonymous
empty changed to not_sold