Box Ctrl keeps your list in this browser. That's simple, but a browser can lose it: clearing your history, a new computer, or Safari tidying up after a week away can wipe it. And your list on the Mac isn't on your iPad.
Connect your own GitHub repo once and:
It's optional. Without it Box Ctrl works exactly as before. Setting it up takes about 10 minutes, once.
A repo is a folder on GitHub. You make one, and it holds files for both Box Ctrl and Tool Ctrl. You don't need a repo for each tool.
A key, which GitHub calls a token, lets Box Ctrl write to that one folder and nothing else in your account. You make one key, and both tools can use it.
After that, each browser you use connects once. From then on, saving to GitHub happens by itself.
Already have one? Sign in and skip to step 2.
GitHub now shows a page of setup instructions for programmers. You can ignore all of it. Note the name at the top, such as your-name/ctrl-data. That's what you type into Box Ctrl.
GitHub calls this a fine-grained personal access token. It's a long password that only opens the one repo you choose.

Box Ctrl checks the repo is private, saves your list to it, and shows a new row with the repo's name. The header of Label Information now ends in Synced.

If the repo already has a Box Ctrl list, from another device, Box Ctrl asks which list to keep before anything changes.
Use the same repo and the same key. In Tool Ctrl, connect to GitHub with them. Tool Ctrl writes tool-ctrl.json beside Box Ctrl's files.
If Tool Ctrl is connected first, in the same browser, Box Ctrl's Connect panel offers Use Tool Ctrl's repo, and you don't have to paste anything.
Then, in Box Ctrl, Get boxes from Tool Ctrl brings your boxes and what's in them across, without exporting a spreadsheet. It shows what's new and changed before anything changes, and never brings serial numbers, warranty details or notes.
Each browser connects on its own, once. On your iPad or another computer, open Box Ctrl, press Connect to GitHub, and enter the same repo name and key. Your list arrives.
Your key isn't saved anywhere but the browser you typed it into, which is why you keep it in your password manager. If you've lost it, make a new one in step 3. The old one keeps working until it runs out, unless you delete it on GitHub.
There's nothing to do. Every change saves in the browser at once and goes to GitHub a few seconds later. Label Information's header tells you where things stand:
| Synced | GitHub has everything. |
|---|---|
| Saving | A change is on its way. |
| Offline · 3 unsent | No internet. Changes wait here and go when you're back. |
| Needs attention | Something needs you. A strip below says what. |
If you changed the same thing on two devices before either synced, Box Ctrl shows both and asks which to keep.
| GitHub refused the token | The key ran out or was deleted. Make a new one in step 3, then press Enter a new token. Nothing in Box Ctrl is lost. |
|---|---|
| Repo not found | Check the name is your username, a slash, and the repo name, such as your-name/ctrl-data. Check the key was made for that repo. |
| The token can't do that | The key is missing write access. Edit it on GitHub and set Contents to Read and write. |
| This repo is public | On GitHub, open the repo, then Settings, and at the bottom change its visibility to Private. |
| Read only | The key can read but not write. Set Contents to Read and write. |
To stop syncing, press Disconnect. The key is deleted from this browser, and your list stays here and on GitHub.
| GitHub | A website for keeping files, with a history of every change. Free for this. |
|---|---|
| Repo | Short for repository: a folder on GitHub. Yours is private, so only you can see it. |
| Token, or key | A long password that only opens what you chose when you made it. |
| Sync | Box Ctrl and GitHub swapping changes, so both have the same list. |
| Commit | One saved change on GitHub. Each sync makes one, which is how GitHub keeps the history. |
Privacy: Box Ctrl talks only to GitHub, only for your repo, and only after you connect. The key never goes in a file, a link or an export. See the guide for the rest.