Savely Privacy Policy
Last updated: May 11, 2026
This Privacy Policy explains how Savely handles information when you use the Savely iOS application. The short version: your financial data stays on your device. The only data that leaves your device is anonymous — receipt validation, anonymous usage and crash reports, and Apple-mediated install attribution. Each is detailed below.
1. Publisher
Savely is published by Salah-eddine Kably.
If you have any privacy questions, you can contact us at: support@savelybudget.com
2. Our approach to privacy
Savely is designed so that your financial data never leaves your device. We do not operate a server-side database for your envelopes or transactions, we do not sync to iCloud, we do not link to your bank, and we never ask for an email or password. Your envelopes, transactions, and amounts are stored locally on your iPhone in the app's SwiftData database.
Four narrow flows do leave your device, and none of them carry any financial value or identity: anonymous purchase validation through RevenueCat, anonymous usage and crash reports through Firebase, five categorical funnel events plus Apple-mediated SKAdNetwork install attribution through the TikTok Business SDK (which ships transitively with the GoogleAdsOnDeviceConversion library). The sections below describe each one.
3. What stays on your device, always
The following is stored only in the Savely app's local SwiftData database on your iPhone:
- envelopes and their budgets
- transactions — amounts, descriptions, dates
- allocations and your monthly stuffing target
- savings goals and progress
- debt plans
- sweep rules
- recurring expenses
- keyword rules
- monthly budget targets and period rollover state
- your display name, if you chose to enter one
- your chosen currency and other app settings (language, theme, month start day, notification preferences)
There is no server-side database for this information, no iCloud sync, no Plaid or bank linking, no email account, and no log-in flow. Uninstalling the app removes the database file from your device.
4. What leaves your device, anonymously
Only three flows leave the device. None of them carry your envelopes, transactions, amounts, name, or email.
Purchase validation (RevenueCat). When you buy a subscription or lifetime upgrade, the Apple-signed StoreKit transaction payload is sent to RevenueCat for receipt validation, together with an RC-generated anonymous UUID that we never set. RevenueCat sees the receipt; it never receives an envelope, a transaction, an amount, a name, or an email.
Anonymous usage and crash reports (Firebase Analytics + Crashlytics). Screen-view events use static SwiftUI view names. Funnel events use bucketed counts (for example, a transaction-count bucket), never raw values. User properties are limited to your entitlement state and app language. iOS version, device model, app version, locale, and region are reported as non-identifying device characteristics. AdSupport.framework is not linked into the binary, so the IDFA cannot be collected at all. Firebase's automatic in-app-purchase tracking is disabled. Firebase Performance Monitoring is not used.
TikTok install-attribution flow (TikTok Business SDK in minimal-events configuration + SKAdNetwork). When Savely advertises on TikTok, the TikTok Business SDK 1.6.1 emits five categorical funnel events to TikTok at anonymous app-instance level: OnboardingComplete (no properties), TransactionLogged (with a count bucket like "1", "2", "3", "3+"), PaywallShown (with a trigger label like "transaction" or "first_session"), PaywallDismissed (with outcome "locked"), and LifetimePurchased (with a product identifier). The SDK is configured with all auto-tracking disabled so no installs, launches, retention pings, or payment events are sent automatically; only the five explicit events listed leave the device. Apple's SKAdNetwork infrastructure then sends a signed conversion-value postback to TikTok's registered ad-network endpoint (mapped from the events above by TikTok's Ads Manager dashboard). No PII is included. The SDK links AdSupport.framework and reads the IDFA field, but because Savely never grants App Tracking Transparency, iOS returns the all-zeros placeholder rather than a real device identifier. No ATT prompt is shown. The transitive GoogleAdsOnDeviceConversion library performs on-device conversion measurement only; it does not send envelope data or transaction amounts.
5. What is never collected
Savely does not collect, transmit, or have access to any of the following:
- bank credentials or account numbers
- contacts, photos, location, health data, or browsing history
- identifiers that could link an event to your personal identity
No bank linking, ever. No iCloud sync. No data sales.
6. Your controls
The About & Privacy section of the app gives you two independent toggles:
- Analytics — turn the anonymous Firebase Analytics events on or off.
- Crash Reports — turn Crashlytics on or off.
Both default to ON. Turning either off takes effect immediately for new sessions. Purchase validation cannot be turned off because it is required to verify your subscription with Apple. SKAdNetwork postbacks are sent by Apple, not by the app, and are not controlled by the in-app toggles.
7. Third-party SDKs and Apple-mediated flows
Savely ships with the following third-party components and nothing else:
- RevenueCat — receipt validation. The privacy manifest declares Purchase History collection, Not Linked to identity, Not used for Tracking.
- Firebase Analytics + Crashlytics — anonymous usage events and crash reports. Firebase Performance Monitoring is not used.
- TikTok Business SDK 1.6.1 — install attribution. Minimal-events configuration: only five categorical funnel events are sent (no auto-tracking, no real IDFA, no ATT prompt). SKAdNetwork support is enabled so Apple's anonymous postback infrastructure can report installs to TikTok.
- GoogleAdsOnDeviceConversion 3.5.0 — on-device conversion measurement library shipped transitively with the TikTok SDK. Computes attribution locally; no envelope data, no transaction amounts.
- SKAdNetwork — Apple-mediated install attribution.
8. Notifications, biometrics, and widgets
If you enable notifications, Savely schedules reminders locally on your device.
If you enable Face ID or device authentication, Savely uses Apple's local authentication framework to gate access to the app. Your biometric data never reaches Savely.
If you use Savely widgets, the app writes a limited budget summary to a local shared container on your device so the widget can display current information. That summary stays on your device.
9. Data retention and deletion
Your data remains on your device until you delete it. You can reset it from inside the app or remove it by uninstalling the app. Because we do not store your financial data on a server, we cannot delete it remotely on your behalf.
If your Apple device backups are enabled, Apple may include the app's local database in your device backup under Apple's own terms and privacy practices.
For the anonymous data that does leave your device: RevenueCat retains purchase history under its own retention policy; Firebase retains analytics events for 14 months by default and crash reports under Google's policy; SKAdNetwork postbacks are sent by Apple and held by the receiving ad network under its own policy.
10. Children
Savely is a general-audience budgeting app and is not directed at children.
11. Changes to this Privacy Policy
We may update this Privacy Policy from time to time. If we make material changes, we will update the "Last updated" date above.
Politique de confidentialité Savely
Dernière mise à jour : 11 mai 2026
La présente Politique de confidentialité explique comment Savely traite les informations lorsque vous utilisez l'application iOS Savely. En résumé : vos données financières restent sur votre appareil. Les seules données qui quittent votre appareil sont anonymes — validation des achats, rapports d'usage et de plantage anonymes, et attribution d'installation gérée par Apple. Chacun est détaillé ci-dessous.
1. Éditeur
Savely est éditée par Salah-eddine Kably.
Pour toute question relative à la confidentialité, vous pouvez nous contacter à l'adresse suivante : support@savelybudget.com
2. Notre approche de la confidentialité
Savely est conçue pour que vos données financières ne quittent jamais votre appareil. Nous n'exploitons aucune base de données serveur pour vos enveloppes ou vos transactions, nous ne synchronisons pas avec iCloud, nous ne nous connectons pas à votre banque, et nous ne demandons jamais d'e-mail ni de mot de passe. Vos enveloppes, transactions et montants sont stockés localement sur votre iPhone, dans la base de données SwiftData de l'application.
Quatre flux limités quittent toutefois votre appareil, et aucun ne transporte de valeur financière ni d'identité : la validation anonyme des achats via RevenueCat, les rapports d'usage et de plantage anonymes via Firebase, cinq événements de funnel catégoriels plus l'attribution d'installation SKAdNetwork gérée par Apple via le SDK Business de TikTok (qui intègre de manière transitive la bibliothèque GoogleAdsOnDeviceConversion). Les sections suivantes décrivent chacun de ces flux.
3. Ce qui reste sur votre appareil, toujours
Les informations suivantes sont stockées uniquement dans la base de données SwiftData locale de Savely, sur votre iPhone :
- les enveloppes et leurs budgets
- les transactions — montants, descriptions, dates
- les allocations et l'objectif mensuel de stuffing
- les objectifs d'épargne et leur progression
- les plans de remboursement de dettes
- les règles de balayage (sweep)
- les dépenses récurrentes
- les règles par mots-clés
- les objectifs budgétaires mensuels et l'état du report de période
- le nom d'affichage que vous avez choisi, le cas échéant
- votre devise et les autres paramètres de l'application (langue, thème, jour de début de mois, préférences de notification)
Il n'existe aucune base de données serveur pour ces informations, aucune synchronisation iCloud, aucun Plaid ni lien bancaire, aucun compte e-mail, aucune connexion. Désinstaller l'application supprime le fichier de base de données de votre appareil.
4. Ce qui quitte votre appareil, anonymement
Seuls trois flux quittent l'appareil. Aucun ne transporte vos enveloppes, vos transactions, vos montants, votre nom ni votre e-mail.
Validation des achats (RevenueCat). Lorsque vous achetez un abonnement ou une mise à niveau à vie, le payload de transaction StoreKit signé par Apple est transmis à RevenueCat pour validation du reçu, accompagné d'un UUID anonyme généré par RevenueCat que nous n'attribuons jamais. RevenueCat reçoit le reçu ; il ne reçoit jamais d'enveloppe, de transaction, de montant, de nom ni d'e-mail.
Rapports d'usage et de plantage anonymes (Firebase Analytics + Crashlytics). Les événements d'affichage d'écran utilisent les noms statiques des vues SwiftUI. Les événements de funnel utilisent des comptes par tranches (par exemple une tranche du nombre de transactions), jamais les valeurs réelles. Les propriétés utilisateur se limitent à l'état d'abonnement et à la langue de l'application. La version iOS, le modèle d'appareil, la version de l'application, la locale et la région sont remontés en tant que caractéristiques d'appareil non identifiantes. AdSupport.framework n'est pas lié au binaire, donc l'IDFA ne peut pas être collecté. Le suivi automatique des achats in-app de Firebase est désactivé. Firebase Performance Monitoring n'est pas utilisé.
Flux d'attribution TikTok (SDK Business TikTok en configuration événements minimaux + SKAdNetwork). Lorsque Savely fait de la publicité sur TikTok, le SDK Business de TikTok 1.6.1 envoie cinq événements de funnel catégoriels à TikTok au niveau d'une instance d'application anonyme : OnboardingComplete (sans propriétés), TransactionLogged (avec une tranche de comptage comme « 1 », « 2 », « 3 », « 3+ »), PaywallShown (avec un libellé de déclencheur comme « transaction » ou « first_session »), PaywallDismissed (avec l'issue « locked »), et LifetimePurchased (avec un identifiant de produit). Le SDK est configuré avec tout suivi automatique désactivé ; aucune installation, aucun lancement, aucun signal de rétention, aucun événement de paiement n'est envoyé automatiquement. Seuls les cinq événements explicites cités quittent l'appareil. L'infrastructure SKAdNetwork d'Apple envoie ensuite une « conversion value » signée au point de terminaison du réseau publicitaire enregistré par TikTok (mappée depuis les événements ci-dessus par le tableau de bord Ads Manager de TikTok). Aucune donnée personnelle n'est incluse. Le SDK lie AdSupport.framework et lit le champ IDFA, mais comme Savely n'accorde jamais l'App Tracking Transparency, iOS renvoie l'espace réservé tout-zéros plutôt qu'un identifiant d'appareil réel. Aucune invite ATT n'est affichée. La bibliothèque transitive GoogleAdsOnDeviceConversion effectue uniquement la mesure de conversion sur l'appareil ; elle n'envoie pas de données d'enveloppe ni de montants de transaction.
5. Ce qui n'est jamais collecté
Savely ne collecte, ne transmet et n'a accès à aucun des éléments suivants :
- identifiants bancaires ou numéros de comptes
- contacts, photos, localisation, données de santé ou historique de navigation
- identifiants pouvant relier un événement à votre identité personnelle
Aucun lien bancaire, jamais. Aucune synchronisation iCloud. Aucune vente de données.
6. Vos contrôles
La section À propos et confidentialité de l'application propose deux interrupteurs indépendants :
- Analytics — activez ou désactivez les événements anonymes Firebase Analytics.
- Rapports de plantage — activez ou désactivez Crashlytics.
Les deux sont activés par défaut. La désactivation de l'un prend effet immédiatement pour les nouvelles sessions. La validation des achats ne peut pas être désactivée car elle est nécessaire pour vérifier votre abonnement auprès d'Apple. Les postbacks SKAdNetwork sont envoyés par Apple, pas par l'application, et ne sont pas pilotés par les interrupteurs in-app.
7. SDK tiers et flux gérés par Apple
Savely intègre les composants tiers suivants, et rien d'autre :
- RevenueCat — validation des reçus d'achat. Le manifeste de confidentialité déclare la collecte d'Historique d'achats, Non lié à l'identité, Non utilisé à des fins de Tracking.
- Firebase Analytics + Crashlytics — événements d'usage et rapports de plantage anonymes. Firebase Performance Monitoring n'est pas utilisé.
- TikTok Business SDK 1.6.1 — attribution d'installation. Configuration événements minimaux : seuls cinq événements de funnel catégoriels sont envoyés (aucun suivi automatique, aucun IDFA réel, aucune invite ATT). Le support SKAdNetwork est activé pour que l'infrastructure de postback anonyme d'Apple puisse rapporter les installations à TikTok.
- GoogleAdsOnDeviceConversion 3.5.0 — bibliothèque de mesure de conversion sur l'appareil livrée de manière transitive avec le SDK TikTok. Calcule l'attribution localement ; aucune donnée d'enveloppe, aucun montant de transaction.
- SKAdNetwork — attribution d'installation gérée par Apple.
8. Notifications, biométrie et widgets
Si vous activez les notifications, Savely programme des rappels localement sur votre appareil.
Si vous activez Face ID ou l'authentification de l'appareil, Savely utilise le framework d'authentification locale d'Apple pour protéger l'accès à l'application. Vos données biométriques ne parviennent jamais à Savely.
Si vous utilisez les widgets Savely, l'application écrit un résumé budgétaire limité dans un conteneur partagé local sur votre appareil afin que le widget puisse afficher les informations à jour. Ce résumé reste sur votre appareil.
9. Conservation et suppression des données
Vos données restent sur votre appareil jusqu'à leur suppression. Vous pouvez les réinitialiser depuis l'application ou les supprimer en désinstallant l'application. Comme nous ne stockons pas vos données financières sur un serveur, nous ne pouvons pas les supprimer à distance pour votre compte.
Si les sauvegardes de votre appareil Apple sont activées, Apple peut inclure la base de données locale de l'application dans la sauvegarde de votre appareil, selon ses propres conditions et pratiques de confidentialité.
Pour les données anonymes qui quittent votre appareil : RevenueCat conserve l'historique d'achats selon sa propre politique de conservation ; Firebase conserve les événements d'analyse pendant 14 mois par défaut et les rapports de plantage selon la politique de Google ; les postbacks SKAdNetwork sont envoyés par Apple et conservés par le réseau publicitaire destinataire selon sa propre politique.
10. Enfants
Savely est une application de budget destinée à un public général et n'est pas destinée aux enfants.
11. Modifications de la présente Politique
Nous pouvons mettre à jour la présente Politique de confidentialité de temps à autre. En cas de modification importante, nous mettrons à jour la date de « Dernière mise à jour » ci-dessus.
12. Contact
Pour toute question relative à la confidentialité, contactez :
Salah-eddine Kably
support@savelybudget.com