The full journey from code generation to secure coach–student connection — and everything that happens behind the scenes.
Invite codes are how coaches and students find each other — no email accounts, no sign-up forms, no QR codes. Just six characters.
When a coach subscribes to the Coach tier and sets up their profile, TwoViewGolf generates a short invite code. The coach shares this code with a student (text, email, in person). The student enters it in the app, and they're instantly linked. From that point on, the coach can share annotated swing videos directly to that student.
No waiting for email confirmation or approval. Enter the code, tap join, and you're linked immediately.
Each code generates a unique encryption key. All shared swings between coach and student are encrypted end-to-end.
Codes expire after 7 days for security. Coaches can generate new ones anytime — old codes stay valid until they expire.
Students don't need a paid subscription, an email signup, or any account beyond their Apple ID (which they already have).
Your code appears automatically when you set up your coach profile.
The code format: Six uppercase letters and numbers, with ambiguous characters removed (no O/0, no I/1/L). This prevents mistakes when reading codes aloud or typing them from a screenshot. Example: K7N3HW
Tap the refresh icon next to "Invite Code" on your dashboard. A fresh code is generated instantly. Your previous code stays valid until it expires naturally after 7 days — so if you already texted the old code to a student, they can still use it.
Why old codes aren't deleted: Imagine you send Code A to Student A on Monday, then generate Code B for Student B on Tuesday. If generating Code B deleted Code A, Student A would get "Invalid or expired invite code" when they try to redeem on Wednesday. Each code is independent and expires on its own schedule.
Enter your name, enter the code, and you're connected.
Privacy note: Your coach can see your name and shared swings, but they cannot see your personal recordings, your other coaches, or anything you haven't explicitly shared with them.
What actually happens when a code is created and redeemed.
The invite code does more than connect two people — it establishes an encrypted channel.
The 32-byte secret exchanged during invite redemption is used for two things:
When the coach shares a swing package, it's encrypted with ChaCha20-Poly1305 using a key derived from the pairing secret. Only the linked student can decrypt it. Other students, other coaches, and even Apple (via CloudKit) cannot read the contents.
When coach and student devices connect on the same WiFi network for multi-device recording, the pairing secret is used for HMAC authentication. This prevents a stranger's device from joining your session.
End-to-end encryption means: Swing videos are encrypted before they leave the sender's device and can only be decrypted by the intended recipient's device. The encrypted data passes through Apple's CloudKit servers, but Apple cannot read it — they don't have the key.
What happens to an invite code over time.
The link is permanent. Once a student redeems a code, the coach–student relationship persists indefinitely — through app updates, device changes, even reinstalls. The link lives in iCloud, not on the device. Only the coach can remove a student from their roster.