Skip to content

Privacy policy

How Football Training Maker handles your local library, Google account, subscription checks and content you choose to share.

Last reviewed: 29 September 2026

Publisher and contact

Football Training Maker is developed and published by Adriaan Debeuckelaere, an individual developer based in Torhout, Belgium, using the name ADB Code. The publisher is responsible for the app service and the server processing described here. For privacy questions, email adriaan@adb-code.be. ADB Code is not presented as a registered company.

Your personal library on the device

Exercises, drawings, animation phases, training sessions, schedules, personal evaluations, notes, drafts, filters and preferences are stored in the app’s local SQLite database. Signing in does not upload your personal library or synchronise it between devices.

The app works with age groups, player counts and goalkeepers rather than requiring individual player names. Free-text fields can contain personal information if you enter it; avoid adding information you do not need. The source does not use camera, microphone, location or contacts for these features.

Google sign-in and your app account

When you sign in, the app sends a Google identity token to the publisher’s server for verification. The server links the stable Google account identifier to an internal account ID and stores the Google email address, display name and an optional username you choose. Your Google password is not received by the app or publisher.

The server issues a short-lived session token for authenticated requests. The app keeps its own session token in memory and persists an opaque account reference for cached access. Native Google sign-in has its own session handling under Google’s policies.

Subscription and access verification

Google Play handles purchases and payment details. To verify a purchase, the app sends its Play purchase token to the publisher’s server, which checks it with Google Play. The server schema stores token fingerprints and entitlement records, including product, status and expiry, rather than raw purchase tokens.

The server also supports purchase-status notifications from Google Play through Google’s Pub/Sub service, where configured, to refresh entitlement status after subscription changes.

The app caches a token-free entitlement status. Personal access can use this cache offline for up to 48 hours after verification, provided the entitlement is still valid. The publisher does not receive payment card details.

What you choose to share

Sharing is a separate action. The app shows a preview of the exercise or session content and the author name before it submits a copy to the shared library under CC BY 4.0. Published copies can include drawings, animations, coaching information and the exercise content in a session.

The sharing projection excludes planning dates, private session notes, evaluations, completion state and internal identifiers. The author name you choose is visible with shared content. Your Google email and account identifiers are not presented as the public author identity.

Downloaded material becomes a separate local copy carrying attribution and licence information. Removing the shared item stops new downloads but cannot erase copies already downloaded by other coaches.

Ratings, reports and moderation

The server links a shared-item rating to your account, showing only aggregate ratings to other users. A report includes the item, the reporting account and the reason entered. Reports may lead to automatic hiding and publisher review. The server can retain a content fingerprint linked to the sharing account to prevent unchanged removed content being shared again.

The shared library requires a signed-in account, a connection and valid access. Rate limiting uses account-based request counts to protect the service.

Server, hosting and security

The project uses a publisher-operated backend and PostgreSQL database hosted on Railway. The app is configured to connect to the backend using HTTPS. Hosting and network infrastructure necessarily process request metadata to deliver the service; exact production logging and retention settings still need confirmation.

Server backup code supports scheduled database backups, with a default retention of 30 days. Project documentation describes Railway storage as the primary backup destination and optional Cloudflare R2 storage. The current production destinations, region, retention settings and transfer safeguards need confirmation before public release.

Exports and device backups

You can export diagrams, animations, exercise sheets and session sheets through the device’s share sheet. The app writes the chosen export file on the device and passes it to the destination you choose. That destination’s own storage and privacy practices then apply.

Library backups exported from Settings are readable JSON files and are not encrypted by the app. Store them securely. Android app backup is enabled, so eligible local data may also be backed up or transferred according to your device and Google account settings. These system backups are separate from the publisher’s database backups.

Retention and account deletion

Your local content remains until you remove it, replace it through a confirmed backup restore or remove app data. Signing out, uninstalling or losing access does not by itself delete the server account.

Settings includes Delete account. The implemented server action removes the account and its profile, shared items, ratings, reports and entitlement records; the app then signs out while keeping your local library. Backup copies can retain removed records until the applicable backup retention period ends. Copies other coaches downloaded under the sharing licence can remain with them.

If you cannot access the app, request account deletion at adriaan@adb-code.be from the Google email address linked to the account. Deleting an app account does not cancel a Google Play subscription; cancel it separately in Google Play.

Advertising, diagnostics and support

No advertising, analytics or third-party crash-reporting SDK was found in the inspected app dependencies and source. Google Play and the device platform may process their own purchase or diagnostic information under their policies.

When you contact the developer, your email address and the information you provide are processed to answer the request. Avoid sending training backups or player information unless needed for a specific support issue; remove unnecessary personal information first.

Purposes and legal bases

Account recognition, entitlement verification and requested shared-library actions are processed to provide the app service and perform the contract with you. Security, abuse prevention and necessary troubleshooting rely on legitimate interests in maintaining a secure service. Support correspondence is used to respond to your request. Obligations under applicable law may require additional processing.

The session generator matches your criteria against exercises in the local library. This feature is not used to profile individual players or make decisions about them.

Your privacy rights

Where the GDPR applies, you may request access, correction, erasure, restriction or portability of your personal data, and object to processing where applicable. These rights depend on the circumstances and the legal basis for the processing. Contact adriaan@adb-code.be to make a request.

You may complain to the Belgian Data Protection Authority or the supervisory authority where you live. Data held independently by Google, your media provider or another service is also subject to that service’s own privacy policy.

Coaches and youth teams

The app is intended for coaches. Planning an exercise for a youth age group does not require a child’s name or personal record. Coaches remain responsible for any personal information they put into free-text content or publish in the shared library.

Details to confirm before public release

TODO before public release: verify the live backend and backup destinations, hosting region, international-transfer safeguards, server-log retention and the effective backup deletion schedule. Repository defaults and older policy text do not establish the current production settings.

TODO: confirm retention for support correspondence and the final Google Play purchase and trial configuration. Account deletion and backup retention should be verified against the deployed release, including the treatment of restored backups.

Changes to this policy

This policy is maintained with the app. Its review date is shown on this page. Changes to processing will be reflected here before the affected public release.

Further information