Real-Time Sync¶
JuryBinder Sync lets your team see each other's notes, flags, favorability ratings, and strike decisions in real time during voir dire. No data ever passes through a server — your devices talk directly to each other.
The two ways to share a case¶
JuryBinder offers two complementary collaboration models:
| Method | When to use | What it requires |
|---|---|---|
| Real-Time Sync | During voir dire — instant updates between connected devices | Devices reachable to each other (see compatibility matrix below) |
| File Merge | Asynchronous collaboration before/after voir dire — exchange files by AirDrop, email, or shared drive | Just the .jbinder files |
You can mix and match. Real-time sync is the courtroom workflow. File merge handles everything else.
Sync Compatibility Matrix¶
This matters because different device combinations use different transports. Pick the row that matches your team:
| Host device | Joining device | Transport used | Internet needed? | Setup |
|---|---|---|---|---|
| iPad app ↔ iPad app | iPad app ↔ iPad app | MultipeerConnectivity (Apple's WiFi+Bluetooth framework) | No | Auto-discovery — devices find each other automatically |
| iPad app ↔ Chrome/Edge browser | iPad app ↔ any browser | WebRTC (peer-to-peer data channel) | Brief, only for handshake | Host shows a 4-character code, joiner enters it |
| Chrome browser ↔ Chrome browser | Browser ↔ browser | WebRTC | Brief, only for handshake | Host shows code, joiner enters it |
| iPad Safari (PWA) ↔ iPad Safari (PWA) | Safari PWA ↔ Safari PWA | WebRTC | Brief, only for handshake | Host shows code, joiner enters it |
Why some combinations need internet briefly¶
WebRTC requires a one-time exchange of network connection details (called the SDP handshake) between the two devices. JuryBinder uses Firebase as a temporary handoff point for this — but only the network connection details pass through Firebase, never any case data. After the handshake completes (a 2-second exchange), the connection is direct device-to-device and Firebase is no longer involved.
The MultipeerConnectivity path (iPad app to iPad app) skips this entirely — devices discover each other directly over Bluetooth and WiFi with no server involvement at any point.
Step-by-step: Hosting a sync session¶
These steps work for both the iPad app and the browser version. The flow is the same; only the transport differs.
1. Open your case¶
Open the .jbinder file you want to share with your team. Sync only works after a case is open.
2. Tap the Sync button¶
In the header, tap the 📡 Sync button next to the privacy shield. The Sync Session panel opens.
3. Tap "Host Session"¶
JuryBinder will:
- In the iPad app: Start advertising over Bluetooth and WiFi. Other iPads running JuryBinder nearby will be able to discover and connect to your device automatically. The session indicator becomes "📡 Hosting (0)" — the (0) shows how many devices are currently connected.
- In a browser: Generate a short 4-character session code (for example,
JURY-4829). The Firebase signaling service is used to exchange the WebRTC connection details.
4. Share the session code (browser only)¶
If you're hosting from a browser, give the 4-character code to your co-counsel. They'll enter it on their device. (If you're hosting from the iPad app and your co-counsel is also in the iPad app, no code is needed — discovery is automatic.)
5. Wait for connections¶
As team members join, the indicator updates: "📡 Hosting (1)", "📡 Hosting (2)", and so on. Connected team members appear in the Sync panel with their name and color.
Step-by-step: Joining a sync session¶
1. Open the JuryBinder app¶
You don't need a .jbinder file beforehand. The host's case will be sent to you when you connect. Open the app from the welcome screen.
2. Tap "Join Session"¶
On the welcome screen, tap 📡 Join Session.
3. Connect to the host¶
- iPad app to iPad app: Tapping Join starts scanning for nearby JuryBinder hosts. When your team member's device is found, you connect automatically — no code entry.
- Browser or cross-platform: Enter the 4-character session code your team member gave you. Tap Connect.
4. Receive the case¶
Once connected, the host's full case file is sent to your device automatically. You'll see the case open with all jurors, questions, and existing notes.
5. Work in real time¶
Any change you make — a note, a flag, a favorability vote, a strike — appears on the host's device and on every other connected team member's device within seconds. Changes from the team appear on your device the same way.
What happens if the connection drops¶
JuryBinder is designed to survive connection failures during a live trial. Sync failure never means app failure.
Local copy is always complete¶
When you join a session, your device receives a complete copy of the case file and saves it locally. If the connection drops:
- You can keep working. Your changes are stored on your device.
- The status badge changes from "📡 Synced" to "📡 Reconnecting...".
- When the connection comes back, your device automatically catches up — sending your buffered changes to the host and receiving any changes you missed.
You don't need to re-enter the session code or restart the app. Reconnection is silent and automatic.
What can break the connection¶
- WiFi dropping (browser or cross-platform sync)
- iPad sleeping for longer than ~30 seconds (background mode limits)
- The host device running out of battery
- Walking out of Bluetooth range (about 30 feet for the iPad-to-iPad path)
In all of these cases, every device retains its complete local copy of the case. You can continue working independently and the sync will catch up when reconnected.
The courtroom scenario (no WiFi, no internet)¶
This is the use case JuryBinder is designed for: two or more iPads at counsel table, no WiFi, no cellular signal in the courtroom basement.
To use sync in this scenario, all devices must be running the JuryBinder iPad app (downloaded from TestFlight or the App Store). The browser version cannot do zero-internet sync because Apple does not allow Safari WebViews to use the MultipeerConnectivity framework.
Setup before trial¶
- Each attorney installs the JuryBinder iPad app from TestFlight or the App Store.
- Each attorney activates their license while connected to WiFi (license activation is a one-time online step).
- Lead counsel opens the case file once on their iPad.
In the courtroom¶
- Lead counsel opens the case and taps Sync → Host Session.
- Co-counsel open the JuryBinder app, tap Join Session on the welcome screen, and tap connect.
- The case is transferred over Bluetooth/WiFi-direct (no internet needed).
- Real-time sync begins.
Bluetooth has a range of about 30 feet, which is more than enough for everyone at counsel table.
Verifying the no-internet behavior¶
You can prove sync is working without internet by enabling Airplane Mode on both iPads, then re-enabling only Bluetooth in Control Center. If sync continues to work in this state, you've verified the courtroom scenario.
Why the iPad app version exists¶
JuryBinder ships in two ways: as a web app (jurybinder.com/app) and as a native iPad app (TestFlight / App Store). Both are the same JuryBinder software — same features, same case files, same data format. They are not separate products and you do not need both.
You pick one based on how you'll use it:
- Web app: Works in any browser on any device. No install. Best for prep work at your desk, quick file reviews, or when you don't want to install anything.
- Native iPad app: A complete standalone app. Includes everything the web version has, plus two iPad-specific features that are technically impossible in a browser:
- Zero-internet sync between iPads via MultipeerConnectivity (the technology AirDrop uses)
- Native file save — case files appear in the iOS Files app under a JuryBinder folder, just like Pages or Numbers documents
Apple does not allow Safari (or any browser-based WebView) to use MultipeerConnectivity or write directly to the Files app. These are native-only iOS APIs. So if you need either of those features, you'll want the native app. If you don't, the web version is fully functional.
You do not need to download multiple things. Pick one, install or visit it, and you have the complete JuryBinder.
Privacy guarantees¶
No case data ever leaves your devices. This is the central promise of JuryBinder and it applies to every sync transport.
| What never touches a server | What may briefly touch Firebase |
|---|---|
| Juror names, IDs, responses | — |
| Your notes, flags, favorability ratings | — |
| Strike decisions | — |
| Oral question responses | — |
| Case configuration, jury size, score weights | — |
| Anything from the .jbinder file | — |
| WebRTC ICE candidates (network addresses) | |
| DTLS fingerprints (encryption setup) | |
| A 4-character session code (looks like JURY-4829) |
The Firebase data is deleted automatically as soon as the WebRTC connection is established (typically within 2 seconds of joining). It contains no information about the case, the attorneys, or the jurors.
The MultipeerConnectivity transport (iPad app ↔ iPad app) does not use Firebase at all. It is 100% local with no internet involvement.
Troubleshooting¶
"Hosting (0)" never goes up¶
- iPad app to iPad app: Make sure both devices have Bluetooth enabled and are within ~30 feet. If they're separated by walls or metal, signal may be weak.
- Browser/cross-platform: Make sure your co-counsel is entering the exact code shown on your screen. Codes are case-sensitive. If they get "Session not found," the code may have been mistyped — generate a new one by disconnecting and re-hosting.
"Reconnecting..." stays on the indicator¶
- The host device has gone offline, fallen asleep, or moved out of range.
- Wait — reconnection is automatic. Your changes are buffered locally and will sync when the connection returns.
- If the host has closed the case or left the building, you'll need to start a new session. Your local copy is preserved.
Sync between Chrome and the iPad app fails¶
- Both devices need a brief internet connection for the WebRTC handshake. Check that both have internet access.
- After the handshake, the connection is peer-to-peer and doesn't need internet. But the initial handshake requires it.
License activation fails on the iPad app¶
- License activation is a one-time online step. The iPad must have internet (WiFi or cellular) the first time you activate.
- After activation, the license is stored locally and the app works fully offline.
Last updated: 2026-04-11