-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add imprint + write first 3 FAQ articles
- Loading branch information
Showing
9 changed files
with
142 additions
and
59 deletions.
There are no files selected for viewing
27 changes: 27 additions & 0 deletions
27
Sources/FreemiumKit/FreemiumKit.docc/FAQ/FAQ-HowItWorks.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# How does FreemiumKit work? Can I trust it? | ||
|
||
Learn why you can trust FreemiumKit to scale with your app why there's no lock-in risk for you in the long term. | ||
|
||
@Metadata { | ||
@TitleHeading("FAQs") | ||
@PageKind(sampleCode) | ||
} | ||
|
||
## Short Answer | ||
|
||
FreemiumKit makes use of StoreKit 2 in the SDK and uses Apple's officially documented App Store Connect APIs in the native app. Therefore, most of what FreemiumKit does is following modern Apple best practices, without any dependency to our servers. Only the remote configuration of your paywalls depends on our servers. But we use a CDN for fast global availability & scalability. And | ||
|
||
|
||
## Contact | ||
|
||
Have questions or need support? Reach out to me at [freemiumkit@fline.dev](mailto:freemiumkit@fline.dev). | ||
|
||
--- | ||
|
||
## Legal | ||
|
||
@Small { | ||
Cihat Gündüz © 2024. All rights reserved. | ||
Privacy: No personal data is tracked on this site. | ||
[Imprint](https://www.fline.dev/imprint/) | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# How does FreemiumKit handle User Privacy? | ||
|
||
Learn how FreemiumKit was designed to keep your users data private and reduce the exposure of your purchase data to a minimum. | ||
|
||
@Metadata { | ||
@TitleHeading("FAQs") | ||
@PageKind(sampleCode) | ||
} | ||
|
||
|
||
## Short Answer | ||
|
||
We don't send any personal user data to our servers, respecting user privacy. And we delete purchase data from our servers as soon as they are fetched to your devices. Your purchase data is persisted via CloudKit. This ensures we can't access your purchase history. | ||
|
||
|
||
## Full Answer | ||
|
||
Firstly, we follow the principle of **data minimization** and don't send any personal data to our servers. The only data we send are the date and country of the purchase and the purchased product with its price. This way even if our servers were breached, there's nothing useful to be obtained for attackers. | ||
|
||
Secondly, we **don't keep the data for long**: The moment the FreemiumKit app on your devices successfully fetch the purchase data, they are deleted from our servers. If you install FreemiumKit on your iPhone and have push notifications turned on, this happens just seconds after a purchase was made, keeping the amount of data we store on our servers close to zero basically all the time. | ||
|
||
> Tip: All our servers are hosted within the European Union (EU), ensuring your data complies with strict EU privacy laws, including GDPR, for enhanced protection and security. | ||
To ensure your data is backed up and syncs across devices, we use CloudKit. This way, even if you delete the FreemiumKit app or lose your device, you can just reinstall FreemiumKit on another device and your full purchase history statistics will stay available within the same Apple Account. | ||
|
||
If you happen to stop using the FreemiumKit app for some reason, new purchases are kept up to 90 days on our servers. So you'll always be able to fetch tha last 90 days if you decide to return. If you have push notifications disabled, you need to open the app at least once every 90 days to not lose any purchase history data. If you returned after 100 days, you would lose 10 days of data, for example. | ||
|
||
That's why we strongly recommend to **keep push notifications enabled** on FreemiumKit for iPhone, even if you don't wish to actually receive push notifications. You can turn off push notifications within the FreemiumKit app, which will disable the local push notification sent by the app while woken up in the background by a silent push notification. This way, the app will continue fetching purchase data without bothering you with push notifications. | ||
|
||
|
||
## Contact | ||
|
||
Have questions or need support? Reach out to me at [freemiumkit@fline.dev](mailto:freemiumkit@fline.dev). | ||
|
||
--- | ||
|
||
## Legal | ||
|
||
@Small { | ||
Cihat Gündüz © 2024. All rights reserved. | ||
Privacy: No personal data is tracked on this site. | ||
[Imprint](https://www.fline.dev/imprint/) | ||
} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
36 changes: 36 additions & 0 deletions
36
Sources/FreemiumKit/FreemiumKit.docc/FAQ/FAQ-Validation.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Does FreemiumKit validate purchases? | ||
|
||
Learn how FreemiumKit deals with validation and how it helps you focus on what's important – your app's features! | ||
|
||
@Metadata { | ||
@TitleHeading("FAQs") | ||
@PageKind(sampleCode) | ||
} | ||
|
||
## Short Answer | ||
|
||
Yes, we handle validation automatically and only report purchases that have been verified by the App Store. No action needed on your end, it all happens within our SDK automatically. | ||
|
||
|
||
## Full Answer | ||
|
||
The FreemiumKit SDK is built on top of StoreKit 2, which automatically verifies any transaction is "signed by the App Store for _my_ app for _this_ device" (quote from WWDC22 session [Meet StoreKit 2](https://developer.apple.com/videos/play/wwdc2021/10114/?time=694)). StoreKit 2 leaves developers the choice to accept even unverified purchases. But FreemiumKit doesn't do that, it simply **always** ignores unverified purchases. When FreemiumKit reports a purchase, it has already successfully passed transaction verification. 💯 | ||
|
||
While StoreKit 2 makes sure a transaction is coming from Apple and has not been tampered with, it's still possible that a highly skilled attacker could tamper with the devices memory or the app logic on a jailbroken device to bypass these checks. It is possible to guard against these kinds of attacks with additional server-side validation and by moving some of the paid feature logic to your servers. | ||
|
||
The complexity of such an attack is very high though and most apps are vulnerable to it even with server-side validation receipt validation because the attacker can simply bypass the boolean check inside the apps logic if they have this level of access to your apps code. Protecting against all potential security risks is impossible and we think that the built-in transaction verification is a good level of security for most apps. | ||
|
||
|
||
## Contact | ||
|
||
Have questions or need support? Reach out to me at [freemiumkit@fline.dev](mailto:freemiumkit@fline.dev). | ||
|
||
--- | ||
|
||
## Legal | ||
|
||
@Small { | ||
Cihat Gündüz © 2024. All rights reserved. | ||
Privacy: No personal data is tracked on this site. | ||
[Imprint](https://www.fline.dev/imprint/) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters