Skip to content

Can I trust DuckDuckGo, optional Duck.ai?

TRUSTish 95 iOS Version 7.236.0 (Build 18) Store version released: Last checked: DuckDuckGo, Inc. com.duckduckgo.mobile.ios Scanned

This app did not meet one of the trust checks that applied to it, with no red flags.

Best for
People who keep browsing history on their own device
What it means for you
Browsing history and tracker-block statistics stay on the device, with no third-party analytics, advertising, or crash-reporting SDKs present in this build. The bundled libraries (GRDB, Lottie, Kingfisher, and others) are utility components with no data-collection function. Telemetry is first-party and anonymous, with no persistent device identifiers and no search query content.
Main concern
Browsing history backup-accessible via iCloud without full file protection on a privacy browser
The developer's description
DuckDuckGo iOS browser prioritizes privacy with built-in password vault, VPN protection, and tracker blocking. No third-party ads, analytics, or tracking identifiers. End-to-end encrypted cross-device sync.
Third-party services
6
Findings rated low or higher
2

How the score and the label work

Open on the App StoreOpens the app's listing on the App Store in a new tab.

Full findings

Open this scan in your dashboard

The account that ran this scan sees every finding and the Rescan button there.

Trust checks

  • Secure by Design

    Strong

    Strong security foundation

    Why this result

    This check looks for security issues at high severity or above in the code of this build, and none were recorded. Its scope covers stored credentials, how the app protects data on the device, and how it protects data in transit.

  • Data Minimization

    Strong

    Tracking done right

    Why this result

    The check looks at analytics and attribution code for companies other than the developer: the data it reads, the companies named in code as recipients, and whether a consent step runs before that code. In this build, either no such code was recorded, or a consent step runs before it and the app's own disclosures describe the collection.

    The app contains no third-party analytics, advertising, or attribution SDKs. All usage telemetry is handled by DuckDuckGo's own internal system, which includes code to send anonymous, non-linked behavioral counts to a DuckDuckGo-controlled server. No personal identifiers, search queries, or browsing history are included in these events. The app does not use the advertising identifier or any vendor identifier. The privacy tracking flag is declared as false, and no tracking domains are listed. There is no evidence of data collection that occurs before a user takes an action.

  • Manifest Mismatch

    One criterion not met

    Disclosure incomplete or contradicted

    Why this result

    The check compares the app's privacy disclosures against what the code does, and at least one claim did not match in this build. Mismatches of this kind include a data category collected but not disclosed, a recipient the disclosure omits, and an identifier attached to data the disclosure describes as anonymous.

  • User Control

    Strong

    No lock-in

    Why this result

    The check looks for a way to export the data an account has accumulated and a way to delete the account itself. In this build, either both were found, or the app has no account of its own and keeps its data on the device. For an app without an account, the developer has no server-side copy to export or delete, and deleting the app removes the data in its own storage.

    Browsing history, bookmarks, passwords, and browser settings are stored locally on the device. The Fire Button feature permanently wipes all local browsing data on demand. The password vault stores credentials in a format the user controls on their own device. Account credentials and authentication state are removed from the device when an account is removed. There is no evidence of proprietary data formats that would trap user content or of artificial barriers to stopping use of the app.

Strengths

  • No third-party analytics, advertising, or crash-reporting SDKs present — eliminates all third-party data flows and SDK supply-chain risk
  • No IDFA, IDFV, or persistent cross-app tracking identifiers used anywhere in the app
  • Browsing history and tracker-block statistics stay on the device with no behavioral reporting to external servers
  • Password vault uses application-layer AES-GCM 256-bit encryption with a two-level key hierarchy and biometric lock, matching dedicated password manager standards
  • Cross-device sync encrypted end-to-end with libsodium Argon2id, Curve25519/XSalsa20-Poly1305, and BLAKE2b — exceeds industry standard for sync security
  • All telemetry is first-party and anonymous with no PII, no persistent device identifiers, and no search query content
  • Data sharing across extensions is restricted to the developer's own Team ID (HKE973VLUW) — no third-party access to any shared containers
  • Fire Button wipe deletes the CoreData browsing history store entirely — above-industry-average mitigation for privacy-aware users
  • HTTPS upgrade applied proactively via a bundled bloom filter before connections are made

What the app contains

  • 6 services

    Third-party services the scan names in the build:

    • GRDB
    • Lottie
    • JWTKit
    • ZIPFoundation
    • Kingfisher
    • Gzip

Libraries

Libraries in the build of DuckDuckGo, optional Duck.ai
LibraryVersionAdvisory
Autofill_-727AF466A0EF7FB8_PackageProduct1.0none confirmed
BloomFilter3.0.4none confirmed
BloomFilterObjC1.0none confirmed
BloomFilterWrapper1.0none confirmed
BrowserServicesKit1.0none confirmed
CombineExtensions_-990568FB7DB6F02_PackageProduct1.0none confirmed
Common_17A2E8D93C1D2F_PackageProduct1.0none confirmed
ConcurrencyExtensions_7B64C1CD057D37D0_PackageProduct1.0none confirmed
ContentBlocking1.0none confirmed
ContentScopeScripts_AFF2657D638ED0_PackageProduct1.0none confirmed
Show all 37 libraries

Method and limits

Static analysis: the decompiled code, manifest and resources of this build, read file by file. Network traffic at run time is established by a capture of the running app.

Files decompiled
38
Scan date
10 September 2026

Corrections

No correction is published for this app.

Developer response

No response is published for this app.

Report an error Opens an email to [email protected] that names this app and this scan.