Leistungsbeschreibung
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; optional daily reminder on the device (native iOS/Android app, opt-in in settings; not web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- marketing emails without an unsubscribe option (newsletters with unsubscribe and frequency choice are offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- promotional or server-side app push messages (FCM/APNs); optionally only a local, user-enabled daily-goal reminder on the device (see section 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.12 Newsletter and digest emails
- Name / type: Manager newsletters and optional digest emails to subscribers
- Purpose: Inform about app/product content; measure delivery via an invisible open pixel (1×1 image) in the email — without advertising cookies or ad networks; frequency and unsubscribe in the app or via a link in the email
- Personal data: Email address, user ID, newsletter frequency, send/open status (timestamp and counters, indicative)
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (database, backend functions; region eu-central-1)
- Sending: Resend (Resend, Inc.; sender e.g.
newsletter@grapllab.app)
6.13 Local daily-goal reminder
- Name / type: Optional daily local OS notification about the daily goal (daily check-in)
- Purpose: Reminder to set today’s priority (nudge), or show the set daily goal (recap) at the chosen time
- Personal data: Enabled/disabled setting and reminder time in
user_settings; notification text derived from daily-goal/check-in content. Delivery is local on the device via the operating system (no remote push via Apple/Google FCM for this feature). - Processors: Settings stored via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; notification executed by the device OS (Apple/Google as platform vendors, without server push for this feature)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
Stand: Oktober 2026 · Produkt: BJJ App · Anbieter: siehe Impressum
Diese Leistungsbeschreibung (LB) ist die online hinterlegte Beschreibung der Features und sonstigen Leistungen der BJJ App. Sie dient Nutzern als klar erkennbare Übersicht, welche Leistungen wir erbringen — und welche nicht. Sie umfasst auch das Preismodell. Neue Features nehmen wir in diese LB auf; die LB ist damit der konkrete Bezugspunkt zum geschuldeten Leistungsumfang (ergänzend zu den AGB).
Abschnitt 6 listet zusätzlich die Funktionen mit personenbezogener Datenverarbeitung (für die Datenschutzerklärung).
1. Produktbeschreibung
Die BJJ App (Domain bjj.app, Plattformen: iOS, Android, Web/PWA) ist eine Trainings- und Lernplattform für Brazilian Jiu-Jitsu. Ziel ist strukturierter Fortschritt statt Technik-Überflutung.
Wesentliche Features (für alle erkennbarer Kern)
| Feature | Was du damit machst |
|---|---|
| Fokus | 1–3 Techniken als aktueller Trainingskompass |
| Trainingspläne | Strukturierte Techniklisten (GraplLAB Originals / Community) |
| Level | Fortschritt an Fokus-Techniken sichtbar machen |
| Journal / Sessions | Trainingseinheiten dokumentieren und mit dem Fokus verknüpfen |
| Mein Spiel & Game Plans | Persönliches Technik-Set und Sequenzen aufbauen (Pro) |
| Community | Videos, Kommentare, Likes; Inhalte teilen und diskutieren |
| Daily Check-in | Kurzer täglicher Trainingsimpuls; optional tägliche Erinnerung auf dem Gerät (native App iOS/Android, Opt-in in den Einstellungen; kein Web/PWA) |
| Gürtel / Profil | Profil und Gürtelstand pflegen |
| Mehrsprachigkeit | App-Oberfläche und übersetzte Inhalte in mehreren Sprachen |
| Captions / Untertitel | Automatische Untertitel und Übersetzungen für Technik-Videos |
Marketing-Überblick und Preise auch unter /pricing.
2. Preismodell
| Modell | Für wen | Preis |
|---|---|---|
| Preview | Ausprobieren ohne vollständige Registrierung | kostenlos |
| Free | Registriertes Konto mit dem kostenlosen Funktionsumfang | kostenlos |
| Pro | Erweiterter Funktionsumfang | 9,99 €/Monat oder 79 €/Jahr (Einführungspreis; Kleinunternehmer, ohne USt-Ausweis) |
- Zahlung, Erstattung, Abo-Verwaltung und Widerruf von Pro ausschließlich über Apple App Store bzw. Google Play (kein eigener Web-Checkout).
- Maßgeblich sind die im Store angezeigten Preise sowie die AGB.
- Es gibt derzeit keine ausgewiesene kostenlose Testphase und keine Werbung über Drittnetzwerke.
3. Leistungsumfang nach Modell — was wir leisten
Diese LB konkretisiert den geschuldeten Funktionsumfang. Ob ein Feature verfügbar ist, hängt vom Modell ab.
Preview
- eingeschränkte Nutzung zum Kennenlernen
- Zustimmung zu AGB, Datenschutz und Mindestalter vor Nutzung
- automatische Löschung inaktiver Preview-Zugänge nach wenigen Tagen
Free und Pro im Vergleich
| Feature / Leistung | Free | Pro |
|---|---|---|
| Community (Kommentare, Likes, Beiträge) | ja | ja |
| App-Trainingspläne / strukturiertes Lernen | wichtigste Techniken | alle Techniken |
| Sessions, Fokus, Daily Check-in, Gürtel/Profil | ja | ja |
| Öffentliche Videos und eingebettete Links hochladen | ja | ja |
| Private/Gym-Videos und -Links | ja, mit Cooldown (~161 h) | ja, ohne Cooldown |
| Video-Speicher (eigene Uploads) | ca. 10 GiB; pro Datei max. 2 Min und 130 MB | ca. 10 GiB; pro Datei max. 2 Min und 130 MB |
| Mein Spiel | nein | ja |
| Game Plans | nein | ja |
| Eigene Techniken und Sequenzen erstellen | nein | ja |
| Community-Trainingsplan im Training | nein | ja |
| Notiz-Indikator im Journal | nein | ja |
| Persönliche Statistiken | nein | ja |
| Captions/Übersetzungen (soweit für Inhalte vorgesehen) | ja | ja |
Pro umfasst den Free-Umfang zuzüglich der Pro-Spalte. Details zu Speicherlimit und Cooldown: Abschnitt 6.
4. Was wir nicht leisten (Abgrenzung)
Nicht Bestandteil unserer Leistungen sind insbesondere:
- medizinische, physiotherapeutische oder trainerersetzende Beratung; die App ist kein Medizinprodukt
- Garantie auf sportlichen Erfolg, Gürtelprüfungen oder Wettkampfresultate
- persönliches Coaching durch uns oder durch Dritte in unserem Auftrag
- unbegrenzter Videospeicher oder unbegrenzte private Uploads im Free-Modell
- eigener Zahlungs-/Checkout-Prozess außerhalb der App Stores
- Werbe-Mails ohne Opt-out / ohne Abmelde-Möglichkeit (Newsletter mit Abmeldung und Frequenzwahl werden angeboten)
- Nutzer-zu-Nutzer-Chat als eigenständiges Chat-Produkt
- systematische Altersprüfung über die Selbstbestätigung 18+ und Store-Mechanismen hinaus
- personifizierte KI-Trainingsratschläge auf Basis einer Analyse der Nutzerdaten (geplant, noch nicht live — siehe Abschnitt 7)
- werbliche oder servergestützte App-Push-Nachrichten (FCM/APNs); optional nur eine lokale, vom Nutzer aktivierbare Tagesziel-Erinnerung auf dem Gerät (siehe Abschnitt 6.13)
Training und Umsetzung von Inhalten erfolgen auf eigene Gefahr.
5. Aktualisierung der LB und Änderung von Features
- Neue Leistungen / Features: Wir integrieren sie in diese LB (und ggf. in AGB/DSE). Die jeweils aktuelle Fassung unter
/leistungsbeschreibungist maßgeblich. - Verbesserungen und Anpassungen im Rahmen des bestehenden Leistungsumfangs sind nach Maßgabe der AGB möglich.
- Alternativlose Reduzierung oder Abkündigung wichtiger Features, auf die Nutzer vertrauen bzw. bauen, erfolgt nur mit der erforderlichen Zustimmung der Betroffenen bzw. nach den in den AGB vorgesehenen Änderungs- und Kündigungsrechten — nicht einseitig „stillschweigend“ zulasten der Nutzer.
Mindestalter: 18 Jahre.
6. Liste der Funktionen mit Verarbeitung personenbezogener Daten
Abhängig von Registrierung bzw. gebuchtem Modell stehen Nutzern u. a. die nachfolgend aufgeführten Funktionen bereit. Wir stellen sie bereit, damit Nutzer den vereinbarten Leistungsumfang nutzen können. Die Weitergabe an Dritte erfolgt nur, soweit für die jeweilige Funktion erforderlich (Auftragsverarbeitung bzw. eigene Verantwortung des Store-/Embed-Anbieters). Rechtsgrundlage für die Erbringung der vertraglichen Funktionen ist typischerweise Art. 6 Abs. 1 lit. b DSGVO; ergänzende Zwecke und Rechtsgrundlagen siehe Datenschutzerklärung.
Jede Funktion ist mit folgenden Angaben beschrieben: Name/Art, Zweck, personenbezogene Daten, Dienstleister (Name, Firma, Anschrift) — bzw. Hinweis, wenn die Verarbeitung allein beim Verantwortlichen liegt.
6.1 Account und Authentifizierung
- Name / Art: Nutzerkonto, Login, Preview-Zugang, Passwort-Reset, E-Mail-Änderung
- Zweck: Identifizierung und Zugang zu den Services; Absicherung des Kontos; administrative Authentifizierungs-Mails
- Personenbezogene Daten: E-Mail-Adresse, Passwort (gehasht), Nutzer-ID, Sitzungs-/Anmeldedaten; bei Preview eingeschränkte Session-Daten
- Dienstleister:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden (Auth, Datenbank, Backend-Functions; Region eu-central-1)
- Transaktions-Mails (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Deutschland (Absender u. a.
hello@grapllab.app)
6.2 Profil
- Name / Art: Öffentliches bzw. in der App sichtbares Nutzerprofil
- Zweck: Darstellung und Pflege von Profilangaben gegenüber anderen Nutzern und in der App
- Personenbezogene Daten: Anzeigename/Name, Profilbild, Gürtel, Gewicht, Geburtsdatum, Bio, Social-Links (soweit vom Nutzer angegeben)
- Dienstleister: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden. Profilbilder/Medien ggf. über BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slowenien. Kein Gravatar.
6.3 Training und Lernen
- Name / Art: Fokus, Level, Journal/Sessions, Lernmodule, Daily Check-in, Mein Spiel, Game Plans, Techniknotizen
- Zweck: Speicherung und Bereitstellung der Trainings- und Lernfunktionen gemäß gebuchtem Modell
- Personenbezogene Daten: Trainings- und Inhaltsdaten, verknüpfte Technik-/Session-IDs, Notiztexte, Fortschrittsangaben
- Dienstleister: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden
6.4 Community-Inhalte (UGC)
- Name / Art: Hochladen und Anzeigen eigener Videos; Kommentare; Likes; Community-Trainingspläne (soweit angeboten)
- Zweck: Bereitstellung der Community- und Inhaltsfunktionen; Speicherung und Auslieferung von Nutzerinhalten
- Personenbezogene Daten: Video- und Textdateien, Metadaten (z. B. Sichtbarkeit öffentlich/privat/gym, Zeitstempel), Nutzerbezug
- Dienstleister:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden (Metadaten, Texte, Zuordnung)
- Videos/Stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slowenien
6.5 Captions und Übersetzungen
- Name / Art: Automatische Transkription und Untertitel öffentlicher Technik-Videos; Übersetzung von Untertiteln, Techniktexten und Kommentaren
- Zweck: Mehrsprachige Nutzbarkeit von Inhalten in der App
- Personenbezogene Daten: Audio- und Textinhalte aus Videos bzw. Texten (auch UGC), Zielsprachen, abgeleitete Untertitel-/Übersetzungstexte
- Dienstleister:
- KI-Verarbeitung: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; für Betroffene in EEA/Schweiz oft vertraglich relevant: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Irland
- Orchestrierung: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden (Nhost Functions)
- Auslieferung Captions im Player ggf.: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slowenien
6.6 Externe Video-Einbettungen
- Name / Art: Einbindung von YouTube- und Vimeo-Videos als Links an Techniken
- Zweck: Anzeige extern gehosteter Trainingsvideos in der App
- Personenbezogene Daten: Beim Laden des Embeds Abruf-/Verbindungsdaten (typischerweise IP-Adresse und technische Browser-/App-Daten) gegenüber dem Embed-Anbieter
- Dienstleister:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Irland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Nutzungsanalyse (ohne Werbenetzwerke)
- Name / Art: Erfassung von App-Interaktionen und Sitzungen zur Produktverbesserung
- Zweck: Stabilität, Sicherheit und Verbesserung der App (kein Einsatz von Werbenetzwerken)
- Personenbezogene Daten: Klicks/Interaktionen (ggf. mit Technik-/Video-Bezug), Sitzungsdaten (z. B. Plattform, App-Version, Land, Beginn/Ende), gewählte App-Sprache
- Dienstleister: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden
6.8 Support und Feedback
- Name / Art: In-App-Feedback („Chat with us“) und E-Mail-Kontakt
- Zweck: Beantwortung von Nutzeranfragen, Störungs- und Supportfällen
- Personenbezogene Daten: Nachrichteninhalt, Absenderbezug, Metadaten (z. B. Plattform)
- Dienstleister: Speicherung in der App über Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden. E-Mail-Kontaktstelle des Verantwortlichen: hello@bjj.app (Anschrift siehe Impressum)
6.9 Meldung rechtswidriger Inhalte (DSA)
- Name / Art: Flag-Funktion (Video/Technik melden) und zentrale Kontaktstelle
- Zweck: Entgegennahme und Bearbeitung von Meldungen über mutmaßlich rechtswidrige Inhalte
- Personenbezogene Daten: Meldungsinhalt und Begründung, Bezugsinhalte (Technik/Video), Name und E-Mail der meldenden Person (soweit angegeben)
- Dienstleister: In-App über Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden; E-Mail legal@bjj.app (Verantwortlicher, Anschrift siehe Impressum)
6.10 Website und API-Auslieferung
- Name / Art: Marketing-Website bjj.app und zugehörige Serverless-/API-Routen
- Zweck: Bereitstellung von Informationen, Rechtstexten und technischer Schnittstellen zur App
- Personenbezogene Daten: IP-Adresse, Zugriffszeitpunkt und technische Verbindungsdaten in Anbieter-Logs; zusätzlich speichern wir für Reichweitenmessung nur aggregierte Aufrufzahlen (Tag/Pfad) ohne Personenbezug
- Dienstleister: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregierte Zählung: Verarbeitung beim Verantwortlichen bzw. über das App-Backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden)
6.11 Abonnement Pro (App Stores)
- Name / Art: Kauf, Verlängerung und Verwaltung des Pro-Abonnements
- Zweck: Abwicklung kostenpflichtiger In-App-Käufe und Abonnements
- Personenbezogene Daten: Store-Vertrags- und Zahlungsdaten (werden vom jeweiligen Store verarbeitet; wir erhalten typischerweise Kauf-/Abo-Status, keine vollständigen Zahlungsdaten)
- Dienstleister:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Irland (Google Play); Mutterkonzern u. a. Google LLC, USA
6.12 Newsletter und Digest-Mails
- Name / Art: Manager-Newsletter und optionale Digest-Mails an Abonnenten
- Zweck: Information über App-/Produktinhalte; Messung der Zustellung über ein unsichtbares Öffnungs-Pixel (1×1-Bild) in der E-Mail — ohne Werbe-Cookies oder Werbenetzwerke; Frequenz und Abmeldung in der App bzw. über Link in der Mail
- Personenbezogene Daten: E-Mail-Adresse, Nutzer-ID, Newsletter-Frequenz, Versand-/Öffnungsstatus (Zeitpunkt und Zähler, indikativ)
- Dienstleister:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden (Datenbank, Backend-Functions; Region eu-central-1)
- Versand: Resend (Resend, Inc.; Absender u. a.
newsletter@grapllab.app)
6.13 Lokale Tagesziel-Erinnerung
- Name / Art: Optionale tägliche lokale Betriebssystem-Benachrichtigung zum Tagesziel (Daily Check-in)
- Zweck: Erinnerung, das Tagesziel festzulegen (Nudge), bzw. Anzeige des gesetzten Tagesziels (Recap) zur gewählten Uhrzeit
- Personenbezogene Daten: Einstellung aktiviert/deaktiviert und Erinnerungsuhrzeit in
user_settings; Benachrichtigungstext abgeleitet aus dem Tagesziel-/Check-in-Inhalt. Die Zustellung erfolgt lokal auf dem Gerät über das Betriebssystem (keine Remote-Push-Zustellung über Apple/Google FCM für diese Funktion). - Dienstleister: Speicherung der Einstellungen über Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Schweden; Ausführung der Benachrichtigung durch das Geräte-Betriebssystem (Apple/Google als Plattformhersteller, ohne Server-Push für diese Funktion)
Anschriften und Bezeichnungen der Dienstleister können sich ändern. Maßgeblich ist die jeweils aktuelle Fassung dieser LB; allgemeine Hinweise zu Drittlandübermittlung und Betroffenenrechten stehen in der Datenschutzerklärung.
7. Technische Leistungsgrenzen
Die drei Video-Upload-Grenzen werden in der Datenbank (app_config) gepflegt und von der App beim Start ausgelesen (Kernel-Konfiguration über useDB):
app_config-Feld | Bedeutung in der App | Standard-Default |
|---|---|---|
video_upload_limit_bytes | Gesamt-Speicher für eigene Video-Uploads pro Nutzer (videoUploadLimitBytes) | ca. 10 GiB (10 737 418 240 Bytes) |
video_max_duration_seconds | Maximale Länge eines einzelnen Uploads (videoMaxDurationSeconds) | 120 Sekunden (2 Minuten) |
video_max_upload_bytes | Maximale Dateigröße eines einzelnen Uploads (videoMaxUploadBytes) | 136 314 880 Bytes (ca. 130 MB); Client-Fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT, wenn app_config noch nicht verfügbar ist |
Werte ≤ 0 deaktivieren das jeweilige Limit (soweit in der App umgesetzt). Abweichende Werte in app_config haben Vorrang vor den Client-Fallbacks. Manager-Konten können von den Einzel-Limits (Dauer/Dateigröße) und vom Gesamt-Kontingent ausgenommen sein.
- Video-Speicherlimit (Free/Pro): Summe der eigenen Video-Upload-Dateigrößen, standardmäßig ca. 10 GiB (
video_upload_limit_bytes, konfigurierbar). Bei Erreichen sind weitere Uploads gesperrt, bis Speicher freigegeben wird. - Einzelnes Video (Free/Pro): höchstens 2 Minuten (
video_max_duration_seconds) und 130 MB (video_max_upload_bytes) pro Upload (konfigurierbar). Längere oder größere Dateien werden nicht angenommen. - Free-Cooldown: Für das Modell Free gilt ein gemeinsamer Cooldown (standardmäßig ca. 161 Stunden) für nicht-öffentliche eigene Video-Uploads und nicht-öffentliche eingebettete externe Links. Öffentliche Uploads/Links sind davon nicht betroffen. Pro unterliegt diesem Cooldown nicht.
- Übersetzungen und Captions können fehlerhaft sein; sie ersetzen keine fachliche Prüfung durch den Nutzer.
8. Geplante Erweiterung (noch nicht geschuldete Leistung)
Eine Funktion zur Analyse von Nutzerdaten mit personalisierten Trainings-/Inhalts-Ratschlägen (ggf. unter Einsatz von KI-Anbietern) ist geplant. Sie ist noch nicht Bestandteil der aktuell geschuldeten Leistung und daher nicht in den Abschnitten 3 und 6 als Live-Leistung ausgewiesen. Vor Aktivierung aktualisieren wir diese LB (und die Datenschutzerklärung).
9. Verweise
- Nutzungsbedingungen (AGB)
- Datenschutzerklärung
- Impressum
- Kontakt
- Preise / Feature-Überblick auch unter /pricing
Texto em inglês abaixo; DE: locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; lembrete diário opcional no dispositivo (app nativa iOS/Android, opt-in nas definições; sem web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- mensagens push promocionais ou do lado do servidor (FCM/APNs); opcionalmente apenas um lembrete local do objetivo do dia ativado pelo utilizador (ver secção 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 Lembrete local do objetivo do dia
- Nome / tipo: Notificação local diária opcional do sistema operativo sobre o objetivo do dia (daily check-in)
- Finalidade: Lembrete para definir a prioridade de hoje (nudge) ou mostrar o objetivo já definido (recap) à hora escolhida
- Dados pessoais: Definição ativada/desativada e hora do lembrete em
user_settings; texto da notificação derivado do conteúdo do objetivo/check-in. A entrega é local no dispositivo via sistema operativo (sem push remoto via Apple/Google FCM para esta função). - Subcontratantes: Armazenamento das definições via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Suécia; execução da notificação pelo SO do dispositivo (Apple/Google como fabricantes da plataforma, sem push de servidor para esta função)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
Texto en inglés abajo; DE: locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; opcional recordatorio diario en el dispositivo (app nativa iOS/Android, opt-in en ajustes; no web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- mensajes push promocionales o desde servidor (FCM/APNs); opcionalmente solo un recordatorio local del objetivo del día activado por el usuario (véase apartado 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 Recordatorio local del objetivo del día
- Nombre / tipo: Notificación local diaria opcional del sistema sobre el objetivo del día (daily check-in)
- Finalidad: Recordatorio para fijar la prioridad de hoy (nudge) o mostrar el objetivo ya fijado (recap) a la hora elegida
- Datos personales: Ajuste activado/desactivado y hora del recordatorio en
user_settings; texto de la notificación derivado del contenido del objetivo/check-in. La entrega es local en el dispositivo mediante el sistema operativo (sin push remoto vía Apple/Google FCM para esta función). - Encargados: Almacenamiento de ajustes vía Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Suecia; ejecución de la notificación por el SO del dispositivo (Apple/Google como fabricantes de plataforma, sin push de servidor para esta función)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
Texte EN ci-dessous ; DE : locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; rappel quotidien optionnel sur l’appareil (app native iOS/Android, opt-in dans les réglages ; pas web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- notifications push publicitaires ou côté serveur (FCM/APNs) ; éventuellement uniquement un rappel local de l’objectif du jour activé par l’utilisateur (voir section 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 Rappel local de l’objectif du jour
- Nom / type : Notification locale quotidienne optionnelle du système concernant l’objectif du jour (daily check-in)
- Finalité : Rappel de définir la priorité du jour (nudge) ou affichage de l’objectif déjà défini (recap) à l’heure choisie
- Données personnelles : Paramètre activé/désactivé et heure du rappel dans
user_settings; texte de notification dérivé du contenu de l’objectif/check-in. La livraison est locale sur l’appareil via le système d’exploitation (pas de push distant via Apple/Google FCM pour cette fonction). - Sous-traitants : Stockage des réglages via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Suède ; exécution de la notification par l’OS de l’appareil (Apple/Google comme fabricants de plateforme, sans push serveur pour cette fonction)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
Testo EN sotto; DE: locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; promemoria giornaliero opzionale sul dispositivo (app nativa iOS/Android, opt-in nelle impostazioni; non web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- messaggi push promozionali o lato server (FCM/APNs); opzionalmente solo un promemoria locale dell’obiettivo del giorno attivato dall’utente (vedi sezione 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 Promemoria locale dell’obiettivo del giorno
- Nome / tipo: Notifica locale giornaliera opzionale del sistema operativo sull’obiettivo del giorno (daily check-in)
- Finalità: Promemoria per impostare la priorità di oggi (nudge) oppure mostrare l’obiettivo già impostato (recap) all’orario scelto
- Dati personali: Impostazione attiva/disattiva e orario del promemoria in
user_settings; testo della notifica derivato dal contenuto dell’obiettivo/check-in. La consegna avviene localmente sul dispositivo tramite il sistema operativo (nessun push remoto via Apple/Google FCM per questa funzione). - Responsabili del trattamento: Memorizzazione delle impostazioni tramite Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Svezia; esecuzione della notifica da parte dell’OS del dispositivo (Apple/Google come produttori della piattaforma, senza push server per questa funzione)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
英語本文。ドイツ語は locale DE。
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse;任意で端末上の毎日のリマインダー(ネイティブ iOS/Android、設定でオプトイン;Web/PWA なし) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- 宣伝・サーバー側のアプリプッシュ(FCM/APNs)。任意で、ユーザーが有効化したローカルの日次目標リマインダーのみ(6.13 参照)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 ローカルの日次目標リマインダー
- 名称/種類: 日次目標(デイリーチェックイン)に関する任意の毎日ローカルOS通知
- 目的: 今日の優先事項を設定するリマインダー(ナッジ)、または設定済みの日次目標の表示(リキャップ)を指定時刻に行う
- 個人データ:
user_settings内の有効/無効設定とリマインダー時刻;通知文は日次目標/チェックイン内容から導出。配信はオペレーティングシステムによる端末ローカル(この機能では Apple/Google FCM によるリモートプッシュなし)。 - 処理者: 設定の保存は Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden;通知の実行は端末OS(プラットフォームベンダーとしての Apple/Google。この機能のサーバープッシュなし)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
영어 본문. 독일어: locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; 선택적 기기 일일 알림 (네이티브 iOS/Android, 설정에서 옵트인; 웹/PWA 제외) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- 광고성 또는 서버 측 앱 푸시(FCM/APNs); 선택적으로 사용자가 켠 로컬 일일 목표 알림만(6.13절 참조)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 로컬 일일 목표 알림
- 이름 / 유형: 일일 목표(데일리 체크인)에 대한 선택적 매일 로컬 OS 알림
- 목적: 오늘의 우선순위를 설정하라는 알림(넛지) 또는 선택한 시각에 설정된 일일 목표 표시(리캡)
- 개인정보:
user_settings의 사용 여부 및 알림 시각; 알림 문구는 일일 목표/체크인 내용에서 파생. 전달은 운영체제를 통한 기기 로컬(이 기능에는 Apple/Google FCM 원격 푸시 없음). - 처리자: 설정 저장은 Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; 알림 실행은 기기 OS(플랫폼 제조사로서의 Apple/Google, 이 기능의 서버 푸시 없음)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
Tekst EN poniżej; DE: locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; opcjonalne codzienne przypomnienie na urządzeniu (natywna aplikacja iOS/Android, opt-in w ustawieniach; bez web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- promocyjne lub serwerowe push-e (FCM/APNs); opcjonalnie tylko lokalne przypomnienie o celu dnia włączone przez użytkownika (zob. sekcja 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 Lokalne przypomnienie o celu dnia
- Nazwa / rodzaj: Opcjonalne codzienne lokalne powiadomienie systemu o celu dnia (daily check-in)
- Cel: Przypomnienie o ustawieniu dzisiejszego priorytetu (nudge) albo pokazanie ustawionego celu dnia (recap) o wybranej godzinie
- Dane osobowe: Ustawienie włączone/wyłączone oraz godzina przypomnienia w
user_settings; treść powiadomienia wynikająca z treści celu/check-inu. Dostarczenie jest lokalne na urządzeniu przez system operacyjny (bez zdalnego pusha Apple/Google FCM dla tej funkcji). - Podmioty przetwarzające: Przechowywanie ustawień przez Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Szwecja; wykonanie powiadomienia przez OS urządzenia (Apple/Google jako dostawcy platformy, bez pusha serwerowego dla tej funkcji)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing
Текст EN ниже; DE: locale DE.
Last updated: October 2026 · Product: BJJ App · Provider: see Legal notice
This service description (LB) is the online description of the BJJ App’s features and other services. It gives users a clear overview of which services we provide — and which we do not. It also includes the pricing model. New features are added to this LB; it is therefore the concrete reference for the owed scope of services (together with the Terms).
Section 6 additionally lists features involving personal data (for the Privacy policy).
1. Product description
BJJ App (domain bjj.app; platforms: iOS, Android, web/PWA) is a Brazilian Jiu-Jitsu training and learning platform. The goal is structured progress instead of technique overload.
Essential features (clear core for users)
| Feature | What you use it for |
|---|---|
| Focus | 1–3 techniques as your current training compass |
| Modules | Structured technique lists (GraplLAB Originals / community) |
| Level | Make progress on focus techniques visible |
| Journal / sessions | Log training sessions and link them to focus |
| My Game & game plans | Build your personal technique set and sequences (Pro) |
| Community | Videos, comments, likes; share and discuss content |
| Daily check-in | Short daily training impulse; опциональное ежедневное напоминание на устройстве (нативное приложение iOS/Android, opt-in в настройках; без web/PWA) |
| Belt / profile | Maintain profile and belt rank |
| Multiple languages | App UI and translated content in several languages |
| Captions / subtitles | Automatic captions and translations for technique videos |
Marketing overview and prices also at /pricing.
2. Pricing model
| Plan | Who it is for | Price |
|---|---|---|
| Preview | Try without full registration | free |
| Free | Registered account with the free feature set | free |
| Pro | Extended feature set | €9.99/month or €79/year (introductory; German small-business rules, no VAT shown) |
- Payment, refunds, subscription management and withdrawal for Pro exclusively via the Apple App Store or Google Play (no separate web checkout).
- The prices shown in the store and the Terms prevail.
- There is currently no advertised free trial and no advertising via third-party networks.
3. Scope of services by plan — what we provide
This LB defines the owed feature set. Availability depends on the plan.
Preview
- limited use to try the app
- acceptance of terms, privacy and minimum age before use
- automatic deletion of inactive preview access after a few days
Free and Pro compared
| Feature / service | Free | Pro |
|---|---|---|
| Community (comments, likes, posts) | yes | yes |
| App modules / structured learning | most important techniques | all techniques |
| Sessions, focus, daily check-in, belt/profile | yes | yes |
| Public videos and embedded links | yes | yes |
| Private/gym videos and links | yes, with cooldown (~161 h) | yes, without cooldown |
| Video storage (own uploads) | about 10 GiB; per file max. 2 min and 130 MB | about 10 GiB; per file max. 2 min and 130 MB |
| My Game | no | yes |
| Game plans | no | yes |
| Create own techniques and sequences | no | yes |
| Community module in training | no | yes |
| Note indicator in journal | no | yes |
| Personal statistics | no | yes |
| Captions/translations (where provided for content) | yes | yes |
Pro includes the Free scope plus the Pro column. Storage limit and cooldown details: section 7.
4. What we do not provide (carve-outs)
Not part of our services are in particular:
- medical, physiotherapy or coaching-replacement advice; the app is not a medical device
- any guarantee of sporting success, belt exams or competition results
- personal coaching by us or by third parties on our behalf
- unlimited video storage or unlimited private uploads on Free
- our own payment/checkout process outside the app stores
- newsletters / marketing emails (not currently offered)
- user-to-user chat as a standalone chat product
- systematic age verification beyond the 18+ self-confirmation and store mechanisms
- personalised AI training advice based on analysing user data (planned, not live yet — see section 8)
- рекламные или серверные push-сообщения (FCM/APNs); опционально только локальное напоминание о цели дня, включённое пользователем (см. раздел 6.13)
Training and applying content is at your own risk.
5. Updating the LB and changing features
- New services / features: We add them to this LB (and to the terms/privacy policy where needed). The current version at
/leistungsbeschreibungprevails. - Improvements and adjustments within the existing scope are possible under the Terms.
- Unilateral reduction or discontinuation of important features that users rely on requires the necessary consent of those affected or follows the change and termination rights in the Terms — not “silently” to the users’ disadvantage.
Minimum age: 18.
6. List of features involving personal data
Depending on registration and the selected plan, users have access to the features listed below. We provide them so users can use the agreed scope of services. Disclosure to third parties occurs only as required for the respective feature (processors or the store/embed provider under its own responsibility). The legal basis for delivering contractual features is typically Art. 6(1)(b) GDPR; additional purposes and bases are set out in the Privacy policy.
Each feature is described with: name/type, purpose, personal data, processor (name, company, address) — or a note if processing is only by the controller.
6.1 Account and authentication
- Name / type: User account, login, preview access, password reset, email change
- Purpose: Identification and access to the services; securing the account; administrative authentication emails
- Personal data: Email address, password (hashed), user ID, session/sign-in data; for Preview, limited session data
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (auth, database, backend functions; region eu-central-1)
- Transactional email (SMTP): UD Media GmbH, Kölner Str. 28, 41812 Erkelenz, Germany (sender e.g.
hello@grapllab.app)
6.2 Profile
- Name / type: Public / in-app user profile
- Purpose: Display and maintain profile information for other users and in the app
- Personal data: Display name/name, profile photo, belt, weight, date of birth, bio, social links (if provided)
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Profile images/media may use BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia. No Gravatar.
6.3 Training and learning
- Name / type: Focus, levels, journal/sessions, learning modules, daily check-in, My Game, game plans, technique notes
- Purpose: Store and provide training and learning features according to the selected plan
- Personal data: Training and content data, related technique/session IDs, note texts, progress data
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.4 Community content (UGC)
- Name / type: Upload and display own videos; comments; likes; community modules (where offered)
- Purpose: Provide community and content features; store and deliver user content
- Personal data: Video and text files, metadata (e.g. visibility public/private/gym, timestamps), user linkage
- Processors:
- Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (metadata, text, linkage)
- Video/stream/CDN: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.5 Captions and translations
- Name / type: Automatic transcription and captions for public technique videos; translation of captions, technique texts and comments
- Purpose: Multilingual use of content in the app
- Personal data: Audio and text from videos or texts (including UGC), target languages, derived caption/translation texts
- Processors:
- AI processing: OpenAI OpCo, LLC, 1455 3rd Street, San Francisco, CA 94158, USA; for data subjects in the EEA/Switzerland often: OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117-126 Sheriff Street Upper, Dublin 1, D01 YC43, Ireland
- Orchestration: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden (Nhost Functions)
- Caption delivery in the player may use: BunnyWay d.o.o. (Bunny.net), Čevljarska ulica 27, 6000 Koper, Slovenia
6.6 External video embeds
- Name / type: Embedding YouTube and Vimeo videos as links on techniques
- Purpose: Display externally hosted training videos in the app
- Personal data: When loading the embed, retrieval/connection data (typically IP address and technical browser/app data) toward the embed provider
- Processors:
- Google Ireland Ltd. (YouTube), Gordon House, Barrow Street, Dublin 4, Ireland
- Vimeo.com, Inc., 330 West 34th Street, 5th Floor, New York, NY 10001, USA
6.7 Usage analytics (no ad networks)
- Name / type: Recording of in-app interactions and sessions for product improvement
- Purpose: Stability, security and improvement of the app (no advertising networks)
- Personal data: Clicks/interactions (possibly linked to techniques/videos), session data (e.g. platform, app version, country, start/end), chosen app language
- Processors: Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden
6.8 Support and feedback
- Name / type: In-app feedback (“Chat with us”) and email contact
- Purpose: Handling user requests and support cases
- Personal data: Message content, sender linkage, metadata (e.g. platform)
- Processors: In-app storage via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden. Controller email contact: info@grapllab.de (address see Legal notice)
6.9 Reporting illegal content (DSA)
- Name / type: Flag feature (report video/technique) and central contact point
- Purpose: Receive and handle reports of allegedly illegal content
- Personal data: Report content and reasons, related items (technique/video), name and email of the reporter (if provided)
- Processors: In-app via Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; email legal@grapllab.app (controller, address see Legal notice)
6.10 Website and API delivery
- Name / type: Marketing website bjj.app and related serverless/API routes
- Purpose: Provide information, legal texts and technical interfaces for the app
- Personal data: IP address, access time and technical connection data in provider logs; for reach measurement we additionally store only aggregated page-view counts (day/path) without personal identifiers
- Processors: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Aggregated counting: by the controller and/or app backend (Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden)
6.11 Pro subscription (app stores)
- Name / type: Purchase, renewal and management of the Pro subscription
- Purpose: Process paid in-app purchases and subscriptions
- Personal data: Store contract and payment data (processed by the respective store; we typically receive purchase/subscription status, not full payment details)
- Processors:
- Apple Inc., One Apple Park Way, Cupertino, CA 95014, USA (Apple App Store)
- Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland (Google Play); parent company includes Google LLC, USA
6.13 Локальное напоминание о цели дня
- Название / тип: Опциональное ежедневное локальное уведомление ОС о цели дня (daily check-in)
- Цель: Напоминание задать приоритет на сегодня (nudge) или показать уже заданную цель дня (recap) в выбранное время
- Персональные данные: Включение/выключение и время напоминания в
user_settings; текст уведомления из содержимого цели/check-in. Доставка локально на устройстве через ОС (без удалённого push через Apple/Google FCM для этой функции). - Обработчики: Хранение настроек через Nhost AB, Tallåsstigen 4, 141 71 Segeltorp, Sweden; выполнение уведомления ОС устройства (Apple/Google как производители платформы, без серверного push для этой функции)
Processor names and addresses may change. The current version of this LB prevails; general information on international transfers and data-subject rights is in the Privacy policy.
7. Technical service limits
The three video upload limits are stored in the database (app_config) and read by the app at startup (kernel config via useDB):
app_config field | Meaning in the app | Default |
|---|---|---|
video_upload_limit_bytes | Total storage for a user’s own video uploads (videoUploadLimitBytes) | about 10 GiB (10,737,418,240 bytes) |
video_max_duration_seconds | Maximum length of a single upload (videoMaxDurationSeconds) | 120 seconds (2 minutes) |
video_max_upload_bytes | Maximum file size of a single upload (videoMaxUploadBytes) | 136,314,880 bytes (about 130 MB); client fallback VIDEO_MAX_UPLOAD_BYTES_DEFAULT when app_config is not yet available |
Values ≤ 0 disable the respective limit (where implemented in the app). Values in app_config override client fallbacks. Manager accounts may be exempt from per-file limits (duration/size) and from the total quota.
- Video storage limit (Free/Pro): sum of own video upload file sizes, default about 10 GiB (
video_upload_limit_bytes, configurable). When reached, further uploads are blocked until space is freed. - Single video (Free/Pro): at most 2 minutes (
video_max_duration_seconds) and 130 MB (video_max_upload_bytes) per upload (configurable). Longer or larger files are not accepted. - Free cooldown: For Free, a shared cooldown (default about 161 hours) applies to non-public own video uploads and non-public embedded external links. Public uploads/links are not affected. Pro is not subject to this cooldown.
- Translations and captions may be inaccurate; users remain responsible for checking content.
8. Planned extension (not yet part of the live service)
A feature that analyses user data to provide personalised training/content suggestions (possibly using AI providers) is planned. It is not part of the currently owed service and is therefore not listed in section 4. Before activation, this LB and the privacy policy will be updated.
9. Related documents
- Terms of service
- Privacy policy
- Legal notice
- Contact
- Pricing overview also at /pricing