Posibl Life & Gym App
BlogContactFAQFeaturesHow it worksIntegrationsPricingSecurityUse cases
Join the waitlist
Posibl Life & Gym AppJoin the waitlist
Posibl Life & Gym App
HomeBlogContactFAQFeaturesHow it worksIntegrationsPricingSecurityUse cases
Join the waitlist
Posibl Life & Gym App
BlogContactFAQFeaturesHow it worksIntegrationsPricingSecurityUse cases
TermsPrivacyData Processing

© 2026 Posibl Life & Gym App

[ SECURITY / TRUST / PRIVACY ]

Your members share their most personal data with you. We protect it.

Health metrics, injury histories, biometric check-ins, payment records — Posibl handles sensitive data across every layer of the platform. Here is exactly what we do to keep it safe.

Contact security team

Tenant-level data isolation

Every gym operates in its own isolated schema. Row-level security on every table means a coach at one affiliate can never read, write, or infer data belonging to another gym — by design, not by policy.

Role-scoped permissions on every action

Five defined roles — platform owner, gym owner, coach, personal trainer, member — each with fine-grained permission guards on every server action. Role enforcement is tenant-scoped, not global.

Member-controlled health visibility

Members choose exactly which coaches see their HRV, sleep, and nutrition data. Toggling a data source off removes it from the AI Coach and coach dashboards instantly. No hidden overrides.

  1. CONTROL 01 — ISOLATION

    Every query is tenant-scoped

    Neon Postgres row-level security applies the gym's tenant ID before any query resolves. Cross-tenant data is invisible at the database layer.

  2. CONTROL 02 — ROLES

    Permission guard on every server action

    The five-tier role model applies fine-grained guards on every tRPC procedure. A member account cannot call coach or owner procedures.

  3. CONTROL 03 — CONSENT

    Health data access is member-gated

    Before the AI Coach or a coach dashboard reads a health metric, the consent record is checked. Revocation takes effect on the next request.

  4. CONTROL 04 — EXPORT

    Members export or delete on demand

    GDPR export packages all personal and health records as JSON or PDF. Deletion requests are processed with no support queue — triggered directly from account settings.

console
0.0sSELECT * FROM sessions WHERE tenant_id = $gym_id
0.1sRLS policy: deny cross-tenant reads
0.3sIsolation enforced — 0 cross-gym rows accessible
0.0stRPC guard: requireRole(['coach','owner'])
0.1sCaller role: 'member' — insufficient
0.4s403 returned — procedure not executed
0.0sconsent.check(memberId, 'hrv', coachId)
0.2sConsent record: granted = true
0.5sHRV data returned to coach dashboard
0.0sgdpr.requestExport(memberId, format='json')
0.3sCompiling: training logs, health data, goals, consents
0.6sExport package ready — all data, no omissions
RLS-GUARDCross-tenant query blocked at database layernow
CONSENT-CHECKHRV visibility revoked — coach dashboard updated0.1s
ROLE-GUARDMember attempted coach procedure — 403 returned0.2s
GDPR-EXPORTMember data export package compiled and delivered0.4s
INVITE-TOKENGym invite accepted — session initialised for new member0.6s
PHYSIO-CONSENTPhysio access granted after member opt-in confirmation0.8s
RLS-GUARDCross-tenant query blocked at database layernow
CONSENT-CHECKHRV visibility revoked — coach dashboard updated0.1s
ROLE-GUARDMember attempted coach procedure — 403 returned0.2s
GDPR-EXPORTMember data export package compiled and delivered0.4s
INVITE-TOKENGym invite accepted — session initialised for new member0.6s
PHYSIO-CONSENTPhysio access granted after member opt-in confirmation0.8s
RLS-GUARDCross-tenant query blocked at database layernow
CONSENT-CHECKHRV visibility revoked — coach dashboard updated0.1s
ROLE-GUARDMember attempted coach procedure — 403 returned0.2s
GDPR-EXPORTMember data export package compiled and delivered0.4s
INVITE-TOKENGym invite accepted — session initialised for new member0.6s
PHYSIO-CONSENTPhysio access granted after member opt-in confirmation0.8s
RLS-GUARDCross-tenant query blocked at database layernow
CONSENT-CHECKHRV visibility revoked — coach dashboard updated0.1s
ROLE-GUARDMember attempted coach procedure — 403 returned0.2s
GDPR-EXPORTMember data export package compiled and delivered0.4s
INVITE-TOKENGym invite accepted — session initialised for new member0.6s
PHYSIO-CONSENTPhysio access granted after member opt-in confirmation0.8s

[ DATA ARCHITECTURE / ISOLATION ]

Multi-tenant isolation built into the schema, not bolted on top

Posibl uses Neon Postgres with tenant-scoped row-level security across all tables. Every query carries the gym's tenant ID. There is no application-layer filtering that could be bypassed — the database itself refuses cross-tenant reads.

  • Tenant ID enforced at the database row level on every table

  • Complete data isolation between affiliate gyms

  • Cross-gym network features use a separate, explicit shared schema layer

  • Coach at Gym A cannot access Gym B — by database constraint, not middleware

[ HEALTH DATA / PRIVACY CONTROLS ]

Health data is the most sensitive layer. We treat it that way.

Transparent AI data usage

Members can ask the AI Coach "what data are you using?" and get a plain-language answer. Every wearable and health source feeding the AI is listed in account settings and can be revoked individually.

AI insights dashboard showing member health and readiness data

[ AI COACH / DATA CONSENT ]

The AI sees only what the member allows it to see

AI-powered personalisation requires training history, health data, and goals. Members grant that access deliberately. The AI Coach surfaces which data sources it is drawing on, answers transparency questions directly, and respects revocation instantly.

[ ACCESS CONTROL / AUTHENTICATION ]

Authentication you control. Permissions the database enforces.

OAuth-first sign-in

Authentication uses OAuth providers — Google, GitHub, Microsoft, Okta. No passwords stored in the Posibl database. Credential management stays with the identity provider you already trust.

Five-tier role model

Platform owner, gym owner, coach, personal trainer, and member — each role carries explicit permissions enforced on every server action. Roles are tenant-scoped: coach access is always gym-specific.

[ INJURY DATA / PRACTITIONER ACCESS ]

Injury records are sensitive. Access is specific and audited.

Coaches log injury records — body region, severity, mechanism, treatment notes, return-to-training dates, and movement restrictions. Physiotherapists access injury data only with member opt-in consent. Notes and protocols are visible to the assigned coach and no one else.

  • Physio access requires explicit member opt-in

  • Movement restrictions enforced in programme delivery automatically

  • Rehab protocols visible only to member and their coach

  • Return-to-training clearance is a tracked, logged event

[ PLATFORM / MULTI-TENANT SAFEGUARDS ]

Built for the platform model — not retrofitted to it

Posibl runs multiple affiliate gyms on a single platform. That architecture demands separation be correct from the first query. The schema was designed multi-tenant from day one — not adapted after launch.

Affiliate isolation in the affiliate console

Gym owners using the affiliate onboarding flow operate in their own fully isolated tenant. Their members, programming, billing, and community data never intermingle with the host gym or other affiliates.

Network features use an explicit shared layer

Cross-gym features — drop-in booking, alumni maps, network leaderboards — use a controlled shared schema that exposes only the data explicitly shared. Private gym data is never in scope.

[ FREQUENTLY ASKED / SECURITY ]

Security questions, answered plainly

[ CONTACT / SECURITY TEAM ]

Found a concern? Tell us directly.

If you have a security question, a data request, or have found a potential vulnerability, email us at sf-core-org-support-posibl-life-gym-app@saas-factory.ai — we will respond. No automated deflection.

Email the security team
AI Coach dashboard — showing member-consented data controls

Unified health schema, member-owned

HRV, sleep, resting heart rate, readiness, strain, and nutrition macros feed into a single normalised schema. Members control which coaches see it. Removing consent removes access — no delayed sync, no cache.

GDPR: export and deletion

Members request a full export of their personal data as a JSON or PDF package from account settings. Deletion requests remove all personal and health records. Consent is captured granularly — health data, AI coaching, community visibility.

Granular consent management

Separate consent toggles for health data sharing, AI coaching use, coach visibility of wearable data, nutrition logs, and community profile. Members change these at any time — no support ticket required.

Coaches flagged on concerns — only with member consent

  • Proactive AI insights shared with member first

  • AI answers "what do you know about me?" accurately

  • Physio access to injury data requires explicit opt-in

  • Invite-based onboarding

    New gym members join via a time-limited invite token. No open registration endpoint. Access to a gym's data begins only after the gym owner or coach issues the invite.

    Member dashboard showing training feed and health indicators

    Background jobs are scoped per member

    Inngest background jobs — readiness scoring, churn risk, injury alerts — compute per member within their gym's tenant context. A job for member A at Gym X cannot read or write data for Gym Y.

    Coach alerts fire within tenant boundaries

    Automated churn intervention messages, injury risk alerts, and AI-drafted check-ins route only to the assigned coach within the same gym. Cross-gym routing is not architecturally possible.

    No. Every morning, the Daily Session Resolver looks at your selected programme track (Daily, Build, Engine, Strength, or Skill School), where you are in the 12-week cycle, any coach overrides, and your readiness score — a 0–100 number computed overnight from your HRV, sleep duration, soreness check-in, and wearable data. The result is a session calibrated to where you are today, not a broadcast to the whole gym. Your home screen shows that session in full, plus the next six days on scroll.
    The AI Coach is a conversational assistant inside the app that knows your training history, logged scores, injury status, goals, habit compliance, and health data. Ask it why your squat felt heavy today, whether you should push in this week's AMRAP, or how your sleep is affecting your output — it answers in plain language using your actual data, not generic advice. It also proactively surfaces patterns you might miss: attendance streaks, recovery trends, volume spikes. When it detects injury risk or churn signals it can flag concerns to your coach, but only with your consent. You can view exactly which data sources the AI is using at any time and toggle individual sources off from your account settings.
    Your coach logs the injury against your record — body region, severity, mechanism, treatment notes, and a return-to-training date — and sets a movement restriction list. From that point, the session delivery engine enforces those restrictions automatically: movements you cannot do are removed or substituted in every session served to you until your coach issues a clearance. If you have a physio involved, they can access your injury dashboard with your consent, log formal assessments, and attach rehab protocols that sit alongside your daily WOD in the app. Nothing is manually filtered by you; the engine handles it.
    You handle it entirely in-app. You can upgrade from Standard to Premium, downgrade, pause your membership for up to four weeks per year, or cancel — all without contacting anyone. Changes take effect at the next billing cycle. If a payment fails, the system retries automatically at one, three, and seven days; access is suspended only after fourteen days of non-payment.
    The platform covers the full competition lifecycle. Athlete registration includes division selection, team formation, waiver signing, and payment collection. On competition day, judges score athletes directly in the app — including an electronic signature sign-off from the athlete — and the leaderboard updates in real time on a public URL you can put on a projector or TV screen. The heat builder is drag-and-drop with athlete seeding by division and exports to PDF. Every result is permanently stored on each athlete's Performance Passport.
    The owner console gives you a real-time view across attendance trends, revenue broken down by programme track and membership tier, PT conversion metrics, storefront sales, and drop-in fees — including MRR trend and cohort retention rates. A separate churn risk dashboard lists every member ranked by risk level (Low / Medium / High / Critical), filterable by track, tier, coach, and membership length, with a pre-drafted AI check-in message ready to route to the assigned coach for one-tap send. You also get fleet-wide injury risk indicators — Amber and Red alerts, volume spikes week-on-week, and injury rate breakdowns by coach, programme track, and movement category.

    [ WAITLIST / EARLY ACCESS ]

    Join the waitlist for early access

    Posibl is opening to gym owners and coaches in limited cohorts. Get on the list to be among the first.