Set up your ContractFocus Team
The Team plan is for small legal, ops, real-estate, or procurement groups who want a shared library of decoded contracts. One person buys the seat, invites up to five teammates, and everyone sees the same scan history and clause flags. It's designed to be the cheapest way to get a whole group off pattern-matching-by-hand.
How the owner-pays model works
Most group SaaS charges per seat. ContractFocus Team charges once. The person who buys it becomes the owner, and they can invite up to five teammates to share a single contract library. Teammates don't pay anything. They download the extension for free, paste a six-character invite code into the Team tab, and they're in.
Owner
- Pays $99 per year once
- Creates the team and names it
- Generates and rotates the invite code
- Can remove teammates at any time
- Receives version-change alerts for any team-tracked contract
Teammate
- Free — the owner's seat covers them
- Enters a 6-character invite code to join
- Gets Team-level access to all clause packs while the team is active
- Sees the full shared contract history
- Can leave the team at any time from the Team tab
Owner · Buy the plan and create a team
Install the extension from the Chrome Web Store. You can skip this if you already have it installed. Pin the toolbar icon for easier access.
Click the ContractFocus icon in the Chrome toolbar. In the side panel, click the Team tab at the bottom. You'll see two options: Create a team and Join a team.
ContractFocus will check whether you already have a Team subscription. If you don't, it redirects you to Stripe Checkout (via ExtensionPay) to complete the $99/year purchase. Use any card; Stripe handles it, we never see the details.
After checkout, you're returned to the side panel. Enter a team name (something like "Acme Legal" or "Second Avenue Lease Review") and your display name as the owner. Click Create.
Behind the scenes, the extension creates a Firebase Anonymous Authentication identity for you and writes a team record to Firestore keyed by the team owner's auth ID.
The Team tab will now show your 6-character invite code (for example, K7P-8M2). Send it to your teammates however you send secrets: Signal, 1Password shared vault, or a DM. The code is valid for 30 days and can be rotated at any time.
Teammate · Join a team with an invite code
Install the extension from the Chrome Web Store. You do not need to purchase anything; your owner's seat covers you.
Click the ContractFocus toolbar icon to open the side panel, then the Team tab, then Join a team.
Paste the 6-character code your owner shared (format: AAA-BBB). Enter the display name you want to appear next to your contract entries (for example, "Priya" or "Priya B."). Click Join team.
The side panel will show a progress message ("Syncing team library…") while Firestore pulls down the existing shared entries. Once it's done, you'll see the team name, owner, and every contract the team has decoded to date. All five clause packs and unlimited analyses are unlocked while your membership is active.
Managing your team
Seat usage
The Team tab shows the current member list, their display names, and which entries each person contributed. The owner seat is always present; the other 5 slots fill as teammates join. Once all 5 are taken, the invite code stops working until a seat opens up.
Rotating the invite code
If a code leaks or a teammate leaves the company, click Rotate code in the owner view. A new code is generated immediately; the old one stops working on next use. Existing members are not affected — rotation only invalidates the code, not existing memberships.
Removing a teammate
From the owner view, click the "…" menu next to any member and choose Remove. Their Firebase membership record is deleted, their local side panel reverts to Free-tier defaults on next load, and their Team access ends. You can optionally also delete any contract entries they authored by ticking Also delete their entries before confirming.
Leaving a team (teammate)
In the Team tab, click Leave team. Your local Firebase identity is discarded, your membership record in Firestore is removed, and the shared entries disappear from your side panel. Anything you decoded while on the team stays in the team library unless the owner removes it.
Owner changes
There's no owner-transfer flow today. If the original owner is leaving, create a new team under a different account, copy over the entries you want to keep using the Export → Markdown action from the old team, and invite everyone to the new one. This is intentional: we'd rather keep the billing and Firebase identity tied to a single person than automate a swap that could lose data.
Renewal and cancellation
Team billing is annual through Stripe/ExtensionPay. You'll get a renewal email 30 days out. If you let it lapse, the grace period is 7 days; after that the team goes read-only for the owner and every teammate's side panel falls back to Free-tier. No data is deleted; renewing reactivates everything.
What syncs and what stays local
Team sync is narrow by design. Here's exactly what leaves your device when you decode a contract while on the Team plan:
- The page URL and title
- The detected document type (ToS, privacy policy, lease, NDA, etc.)
- The plain-English bullet summary
- The list of matched clause flags (name, severity, short explanation)
- A timestamp, the word count, and your display name
What never leaves your device:
- The raw contract text
- The uploaded file bytes (PDF or plain-text uploads)
- Anything outside the structured summary above
Security rules in Firestore restrict reads and writes to members of your specific team. The owner can delete any record at any time. For the full disclosure, see Privacy Policy Section 5.
Troubleshooting
Invite code says "invalid or expired"
- Codes expire after 30 days. Ask the owner to rotate and resend.
- The team may be full (6 total, owner included). Ask the owner to check the seat count.
- Make sure you pasted the full code with the dash (format:
AAA-BBB).
Teammates don't see new entries
- Check the side panel status pill — it should read "Team synced" in green. If it says "Offline", the extension couldn't reach Firestore; check the teammate's network and any corporate VPN.
- In rare cases, Firestore push updates can lag. Closing and reopening the side panel forces a refresh.
- Confirm the contributor didn't mark the entry "private only" from the history view.
Billing renewed but panel still says "Team inactive"
ExtensionPay caches subscription status for up to 30 minutes. Click Refresh subscription in the owner view, or restart Chrome. If it still shows inactive, email dev@loopheadlabs.com with your ExtensionPay email address.
Can we use this for more than 6 people?
Not today. The Team plan tops out at one owner plus five teammates. If you need more seats, reply to the renewal email or contact dev@loopheadlabs.com and we'll work something out. We'd rather size the right plan for a 10-person group than shoehorn it into a cap that wasn't built for it.