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
- "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"
- On every cold start recorded in HAR (21): connections to
api.revenuecat.comand to the Superwall hostsapi.superwall.me,collector.superwall.me,enrichment-api.superwall.comandsubscriptions-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;
$appTransactionIdto 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.comandm.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
| Recipient | Role | Disclosed | Where |
|---|---|---|---|
| RevenueCatapi.revenuecat.com | Purchase handling: IDFV in every request; App Store receipt and AdServices attribution token on first launch | Yes | 15 Oct 2026 version |
| Superwallcollector.superwall.me | 41 to 73 events per start (from 1 s before to 20 s after launch), with a device profile | Yes | 15 Oct 2026 version |
| Superwallapi.superwall.me | Paywall configuration (static_config) | Yes | 15 Oct 2026 version |
| Superwallenrichment-api.superwall.com | Device profile; returns a location derived from the IP address and a demand score | Yes | 15 Oct 2026 version |
| Superwallsubscriptions-api.superwall.com | Contacted on every cold start recorded in HAR; the name is not visible in the packet capture without the proxy (T2) | Yes | 15 Oct 2026 version |
| Superwalluser-content.superwalleditor.com | Paywall resources, downloaded in full on first launch | Yes | 15 Oct 2026 version |
| Google Fontsfonts.googleapis.com | Fonts for the paywalls | No | not listed |
| Google Fontsfonts.gstatic.com | Fonts for the paywalls | No | not listed |
| Stripejs.stripe.com | Stripe.js for the paywall webview, fetched on a first launch | No | not listed |
| Stripem.stripe.com, m.stripe.network | Connections from the paywall webview on first launch; content not decrypted | No | not listed |
| DuckDuckGo test | duckduckgo.com: connectivity test when the app comes to the foreground; no content sent | Yes | support article |
| DuckDuckGo favicons | icons.duckduckgo.com: favicons, only with the option switched on | Yes | favicon passage |
4 recipients are not named in the policy.
What the policy says, and what we found
- 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 , retrievedObserved0001 / INVDeparts 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
- 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?”
retrievedObserved0001 / INVDeparts from the wording
The list covered the App Store, the
duckduckgo.comconnectivity 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
- 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 , retrievedObserved0001 / INVDeparts 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
- 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 , retrievedObserved0001 / INVOpen 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
- 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 , retrievedObserved0001 / INVOpen to interpretation
In one of six database unlocks, the app sent the event
Nudgeand the configuration returned a decision to display a paywall; no display was recorded. In the app's public codeNudgefollows 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
- 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 , retrievedObserved0001 / INVOpen to interpretation
The app sends the device identifier (IDFV) to both services and
$appTransactionIdto 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
- 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 , retrievedObserved0001 / INVOpen 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_attributesin 20 of 20 starts / SDK code / app's public code, 1.65.0 - 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 , retrievedObserved0001 / INVOpen 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
- 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?”
retrievedObserved0001 / INVOpen 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
- 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 , retrievedObserved0001 / INVOpen 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
- DeclaredD13
"Data Not Linked to You: Purchases"
App Store privacy label, US and PL storefronts, App Store app on macOS, D13 “App Privacy”
retrievedObserved0001 / INVOpen 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)
- 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 , retrievedObserved0001 / INVOpen 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
- DeclaredD11
"Added automatic opt-in crash reporting."
App Store release notes, Strongbox 1.64.0, D11 “Release notes 1.64.0”
effective , retrievedObserved0001 / INVConsistent
No connection from Strongbox to Sentry was observed. Requests to
*.sentry.iooccur 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 ofsentry.iowithout a connection, of unestablished origin. No crash occurred during the tests.4 of 10 HAR files; packet captures T1 and T2; DNS extracts
- DeclaredD5
"No information is sent, just a connection test."
Strongbox support article, version of 8 Oct 2026, D5 “Offline Connectivity Detection”
retrievedObserved0001 / INVConsistent
On device A, and in S01 on device B, a DNS query for
duckduckgo.comwhen the app comes to the foreground; no content was sent. Also consistent with the new version of the article.devices A and B (S01)
- DeclaredD6
"FavIcon Download - (Opt In)"
Strongbox support article, version of 8 Oct 2026, D6 “FavIcon Download”
retrievedObserved0001 / INVConsistent
Connections to
icons.duckduckgo.comand 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
- 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 , retrievedObserved0001 / INVConsistent
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"The Application does not use vendors or analytics providers." D1
Policy versions on file
ArchiveArchived . Follows 1.60.39. Quoted in file 0001.
Archived . The oldest version on file. Quoted in file 0001.
Strongbox Network Connections Article 2026-10-16
Effective date not stated
Archived . Follows 2026-10-08. Quoted in file 0001.
Strongbox Network Connections Article 2026-10-08
Effective date not stated
Archived . The oldest version on file. Quoted in file 0001.
Strongbox Privacy Policy 2026-10-15
Effective
Archived . Follows 2024-05-09. Quoted in file 0001.
Strongbox Privacy Policy 2024-05-09
Effective
Archived . The oldest version on file. Quoted in file 0001.
Archived . The oldest version on file. Quoted in file 0001.