PROFILE STRONGBOX / REV SERVICES

Strongbox

What Strongbox collects, who receives it, and where its privacy policy and its behaviour part ways.

Profile opened with file 0001. The file covers the iOS app from the App Store in its in-app purchase variant (bundle com.markmcguill.strongbox), version 1.65.2 (152). Strongbox Pro, Strongbox Zero and the macOS version were not tested. “Disclosed” below means named in the privacy policy of 15 October 2026 or in the support article on network connections as accessed on 16 October 2026. In the versions in force at the time of the study (the policy of 9 May 2024 and the article as of 8 October 2026), none of the RevenueCat, Superwall, Google Fonts or Stripe hosts was named. The new versions name RevenueCat and Superwall, and mention resources from “third-party hosts” without naming Google Fonts or Stripe.

Service
Strongboxpassword manager
Platforms
iOS (tested), macOS (not tested)
Policy
eff. newest version on file
Earlier versions
Files
1 filenewest
Archived texts
7 versions

What it collects, and what leaves the device

What it collects
  • "SDK-generated identifiers"
  • "may process device identifiers"
  • "technical information, app-usage events and purchase status"
  • "may derive approximate location from your IP address"
  • "estimate the likelihood of a purchase"
What leaves the deviceFile 0001 / Evidence
  • On every cold start recorded in HAR (21): connections to api.revenuecat.com and to the Superwall hosts api.superwall.me, collector.superwall.me, enrichment-api.superwall.com and subscriptions-api.superwall.com.
  • 41 to 73 events per start to Superwall (from 1 s before to 20 s after launch), with a device profile of 50 to 61 fields (device_attributes; 9 events without $appTransactionId).
  • The device identifier (IDFV) to both RevenueCat and Superwall; $appTransactionId to Superwall.
  • On first launch: an Apple AdServices attribution token and the App Store receipt to RevenueCat.
  • A location derived from the IP address and a demand score, returned by Superwall and sent back by the app in later events.
  • On first launch: 127 to 206 requests for paywall resources (Superwall content, Google Fonts, Stripe); in some first launches, connections to m.stripe.com and m.stripe.network, content not decrypted.
  • Not observed: the content of password databases, the IDFA, identifying cookies.

File 0001: three iPhones, 1 to 8 October 2026, 24 cold starts, app 1.65.2 (152), in-app purchase variant. Evidence page, Exhibits 2 to 9 and 12. The captures were made before the policy of 15 October 2026; it does not name Google Fonts, Stripe or $appTransactionId.

Who receives it

RecipientRoleDisclosedWhere
RevenueCatapi.revenuecat.comPurchase handling: IDFV in every request; App Store receipt and AdServices attribution token on first launchYes15 Oct 2026 version
Superwallcollector.superwall.me41 to 73 events per start (from 1 s before to 20 s after launch), with a device profileYes15 Oct 2026 version
Superwallapi.superwall.mePaywall configuration (static_config)Yes15 Oct 2026 version
Superwallenrichment-api.superwall.comDevice profile; returns a location derived from the IP address and a demand scoreYes15 Oct 2026 version
Superwallsubscriptions-api.superwall.comContacted on every cold start recorded in HAR; the name is not visible in the packet capture without the proxy (T2)Yes15 Oct 2026 version
Superwalluser-content.superwalleditor.comPaywall resources, downloaded in full on first launchYes15 Oct 2026 version
Google Fontsfonts.googleapis.comFonts for the paywallsNonot listed
Google Fontsfonts.gstatic.comFonts for the paywallsNonot listed
Stripejs.stripe.comStripe.js for the paywall webview, fetched on a first launchNonot listed
Stripem.stripe.com, m.stripe.networkConnections from the paywall webview on first launch; content not decryptedNonot listed
DuckDuckGo testduckduckgo.com: connectivity test when the app comes to the foreground; no content sentYessupport article
DuckDuckGo faviconsicons.duckduckgo.com: favicons, only with the option switched onYesfavicon passage

4 recipients are not named in the policy.

ON YOUR DEVICELEAVES YOUR DEVICEAppon your deviceRevenueCatapi.revenuecat.com / policy 15 Oct 2026 versionSuperwallcollector.superwall.me / policy 15 Oct 2026 versionSuperwallapi.superwall.me / policy 15 Oct 2026 versionSuperwallenrichment-api.superwall.com / policy 15 Oct 2026 versionSuperwallsubscriptions-api.superwall.com / policy 15 Oct 2026 versionSuperwalluser-content.superwalleditor.com / policy 15 Oct 2026 versionDuckDuckGo testpolicy support articleDuckDuckGo faviconspolicy favicon passagefonts.googleapis.comGoogle Fontsnot listed in the policyfonts.gstatic.comGoogle Fontsnot listed in the policyjs.stripe.comStripenot listed in the policyStripenot listed in the policym.stripe.com, m.stripe.networkAppon your deviceON DEVICELEAVES ITRevenueCatapi.revenuecat.com / policy 15 Oct 2026 versionSuperwallcollector.superwall.me / policy 15 Oct 2026 versionSuperwallapi.superwall.me / policy 15 Oct 2026 versionSuperwallenrichment-api.superwall.com / policy 15 Oct 2026 versionSuperwallsubscriptions-api.superwall.com / policy 15 Oct 2026 versionSuperwalluser-content.superwalleditor.com / policy 15 Oct 2026 versionDuckDuckGo testpolicy support articleDuckDuckGo faviconspolicy favicon passageGoogle Fontsnot listed in the policyfonts.googleapis.comGoogle Fontsnot listed in the policyfonts.gstatic.comStripenot listed in the policyjs.stripe.comStripenot listed in the policym.stripe.com, m.stripe.network
Figure 1 / where data from Strongbox goes. Solid line: disclosed in the policy. Dashed line: not named in the policy.drawn from the table above

What the policy says, and what we found

  1. DeclaredD1

    "The Application does not use vendors or analytics providers."

    Strongbox Privacy Policy, Last Update 9 May 2024, D1 “Do you use vendors or analytics providers?”
    effective , retrieved

    Observed0001 / INV

    Departs from the wording

    On every cold start the app connected to RevenueCat and to four Superwall hosts and sent Superwall 41 to 73 events with a device profile (from 1 s before to 20 s after launch), whether the user had an active entitlement, an expired one or none. The policy of 15 October 2026 names both services.

    21 of 21 cold starts recorded in HAR; in the 3 starts recorded only in packet capture, 3 of the 5 host names are visible / devices A, B and C / 1, 3, 5 and 8 Oct 2026

  2. DeclaredD4–D8

    "The following are the possible network connections that Strongbox can make which may be seen if you monitor network traffic while using the features described below."

    Strongbox support article, version of 8 Oct 2026, D4–D8 “What Network Connections Can Strongbox Make?”
    retrieved

    Observed0001 / INV

    Departs from the wording

    The list covered the App Store, the duckduckgo.com connectivity test, favicons and Have I Been Pwned. It did not cover RevenueCat, Superwall, Google Fonts or Stripe, which the app contacted. The new version of the article names RevenueCat and Superwall, not Google Fonts or Stripe.

    all 10 HAR files / 3 devices / 4 days

  3. DeclaredD16

    "we get almost the same data we get from RevenueCat, which is the same as we get from Apple. The only addition is lifecycle events for the paywall itself, i.e paywall viewed, closed."

    Post on r/strongbox by u/strongbox-support, 26 Jan 2026, D16 “Strongbox 1.64.0”
    effective , retrieved

    Observed0001 / INV

    Departs from the wording

    The events sent on start cover the app lifecycle (app_launch, app_open, session_start, app_close) and a device profile (device_attributes, 50 to 61 fields), not only paywall events.

    41 to 73 events per cold start, from 1 s before to 20 s after launch / the HAR files with content

  4. DeclaredD16

    "This is only in the free app, and is not linked in PRO or Zero, just like with RevenueCat."

    Post on r/strongbox by u/strongbox-support, 26 Jan 2026, D16 “Strongbox 1.64.0”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    The "free app" is the in-app purchase variant, which paying subscribers use too. On device A, with an active subscription, the flow to RevenueCat and Superwall is the same as on B and C; under the configuration no paywall can be shown to A. The policy of 15 October 2026 says the integration "can run even when you already have an active Pro subscription".

    device A: 11 cold starts with recorded content, no decision to display a paywall

  5. DeclaredD16

    "These events all happen on the homepage, before any databases are opened, and there are no further manually tracked events."

    Post on r/strongbox by u/strongbox-support, 26 Jan 2026, D16 “Strongbox 1.64.0”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    In one of six database unlocks, the app sent the event Nudge and the configuration returned a decision to display a paywall; no display was recorded. In the app's public code Nudge follows a tap on the "Upgrade to Pro" banner, and a tap cannot be ruled out. In the other five unlocks, no event concerning the database.

    1 of 6 unlocks: run T3, cycle 3, device B, 3 Oct 2026

  6. DeclaredD15

    "we don't have any identifiers that we track."

    Representative of the vendor, interview published 1 Aug 2026, D15 “Techlore interview, 32:57–40:56”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    The app sends the device identifier (IDFV) to both services and $appTransactionId to Superwall. Whether the vendor reads them cannot be determined with this method. The policy of 15 October 2026 says the services "may process device identifiers".

    IDFV equal in both services in 9 of 9 files with both fields / SDK code, D17 and D18

  7. DeclaredD15

    "Both of those are effectively in the most limited state they possibly can be."

    Representative of the vendor, interview published 1 Aug 2026, D15 “Techlore interview, 32:57–40:56”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    The vendor's assessment. In the app's code no limiting option is set, three available ones are unused and two expanding ones are enabled; most of the traffic has no switch in these SDK versions. The vendor states that the user currently cannot turn the event collection off.

    config_attributes in 20 of 20 starts / SDK code / app's public code, 1.65.0

  8. DeclaredD15

    "the general rule that we followed throughout all of this is that we haven't added analytics."

    Representative of the vendor, interview published 1 Aug 2026, D15 “Techlore interview, 32:57–40:56”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    Depends on the definition. The App Store label itself declares the purpose "Analytics"; session and paywall events go to Superwall, as does demandScore, computed according to Superwall's documentation from the number of app opens and paywall views. The policy of 15 October 2026 has the heading "Upgrade screens and related analytics".

    all 10 HAR files / D13 / Superwall documentation

  9. DeclaredD8

    "None of these connections send any of your databases or personal identifying information."

    Strongbox support article, version of 8 Oct 2026, D8 “What Network Connections Can Strongbox Make?”
    retrieved

    Observed0001 / INV

    Open to interpretation

    No database content is sent. The app sends the IDFV and $appTransactionId, and Superwall returns a location derived from the IP address. Whether these count as identifying information depends on how they are classified. The new version of the article names device identifiers and IP-derived location.

    all 10 HAR files

  10. DeclaredD9

    "The exact same information is provided to RevenueCat as it would be directly to Apple, and no extra analytics or tracking is added as a result of this change."

    App Store release notes, Strongbox 1.60.39, D9 “Release notes 1.60.39”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    RevenueCat receives the IDFV with every request and, on first launch, an Apple AdServices attribution token, which the app has to switch on. Apple receives such values within its own store; here they go to two third parties.

    6 first launches: S01, S17, A5 (2), A8, C8

  11. DeclaredD13

    "Data Not Linked to You: Purchases"

    App Store privacy label, US and PL storefronts, App Store app on macOS, D13 “App Privacy”
    retrieved

    Observed0001 / INV

    Open to interpretation

    The label lists one type, "Purchases" (subtype "Purchase History", purpose "Analytics", as the App Store app on macOS shows it). It does not contain the types that match Apple's definitions of Device ID, Coarse Location and Product Interaction, all of which occur in the traffic. Whether Apple's exemptions apply, the authors do not decide. According to web archive snapshots the label has not changed since 8 January 2026, including after Superwall was added.

    label snapshots of 8, 9, 10 and 18 Oct 2026 / Wayback Machine, 2025 to 7 Oct 2026 / Apple, App privacy details (D19)

  12. DeclaredD1

    "The Application does not use or collect any data related to your geographic location."

    Strongbox Privacy Policy, Last Update 9 May 2024, D1 “How do you handle location data?”
    effective , retrieved

    Observed0001 / INV

    Open to interpretation

    No access to GPS location was observed. On every start Superwall returns a country, region and city derived from the IP address, and the app sends them back in later events. The policy of 15 October 2026 says Superwall "may derive approximate location from your IP address".

    20 responses with content in 9 files; the values are replaced with labels

  13. DeclaredD11

    "Added automatic opt-in crash reporting."

    App Store release notes, Strongbox 1.64.0, D11 “Release notes 1.64.0”
    effective , retrieved

    Observed0001 / INV

    Consistent

    No connection from Strongbox to Sentry was observed. Requests to *.sentry.io occur in 4 of the authors' 10 HAR files (these entries are not in the published files): in two they name the authors' proxy app, the other two come from runs made with it; the name does not occur in the packet captures made without it. Three captures contain DNS lookups of sentry.io without a connection, of unestablished origin. No crash occurred during the tests.

    4 of 10 HAR files; packet captures T1 and T2; DNS extracts

  14. DeclaredD5

    "No information is sent, just a connection test."

    Strongbox support article, version of 8 Oct 2026, D5 “Offline Connectivity Detection”
    retrieved

    Observed0001 / INV

    Consistent

    On device A, and in S01 on device B, a DNS query for duckduckgo.com when the app comes to the foreground; no content was sent. Also consistent with the new version of the article.

    devices A and B (S01)

  15. DeclaredD6

    "FavIcon Download - (Opt In)"

    Strongbox support article, version of 8 Oct 2026, D6 “FavIcon Download”
    retrieved

    Observed0001 / INV

    Consistent

    Connections to icons.duckduckgo.com and to the hosts of the entries' addresses occurred only after the option was switched on. Their content was not decrypted. Also consistent with the new version of the article.

    run S18, device B, 3 Oct 2026

  16. DeclaredD16

    "Strongbox's free app has a new setup for its paywalls - we're using Superwall."

    Post on r/strongbox by u/strongbox-support, 26 Jan 2026, D16 “Strongbox 1.64.0”
    effective , retrieved

    Observed0001 / INV

    Consistent

    Both providers were named publicly by the vendor before this study: RevenueCat in the release notes for 1.60.39 (12 May 2025), Superwall in this post, both in the interview of 1 August 2026. According to the vendor, no release note names Superwall.

    D9, D16, D15; the vendor's reply of 16 Oct 2026

Files on this service

All files
  1. "The Application does not use vendors or analytics providers." D1

    0001 / Publication / Strongbox

Policy versions on file

Archive
  1. Archived . Follows 1.60.39. Quoted in file 0001.

    SHA-256 8afba72d…806a01Plain text, 1,053 bytes

  2. Archived . The oldest version on file. Quoted in file 0001.

    SHA-256 42bbdaea…4acf38Plain text, 1,205 bytes

  3. Archived . Follows 2026-10-08. Quoted in file 0001.

    SHA-256 2f6e4e0f…fb2b5bPlain text, 4,459 bytes

  4. Archived . The oldest version on file. Quoted in file 0001.

    SHA-256 9b02d83d…51384fPlain text, 3,791 bytes

  5. Archived . Follows 2024-05-09. Quoted in file 0001.

    SHA-256 4a9b8525…a2d468Plain text, 5,827 bytes

  6. Archived . The oldest version on file. Quoted in file 0001.

    SHA-256 89292466…94a500Plain text, 6,010 bytes

  7. Archived . The oldest version on file. Quoted in file 0001.

    SHA-256 1cfa5ff9…f015e2Plain text, 2,677 bytes