kebab-stack
assets — who has which device
The hub signs you in with your passkey or company SSO and sends you straight back here.

Photo in, device out.

Handing a device out, taking one back, selling one? Take a picture of its back or its sticker — the register finds it (or you create it in two taps), you say what happened, done. The picture stays as proof.

Lately

nothing yet

Devices

Everything the company owns, who has it, and what happened last.

loading…

Apple devices

Everything Apple Business Manager knows the company owns, next to what the register knows. Serials that match are linked; the rest is the gap.
AllNot in the registerNo device managementIn the registerSold — release in ABM
SerialModelOrderedManaged byIn the register
no Apple Business Manager connection yet — add one under Settings
‹ Devices

History

Sales

Devices sold to colleagues or outside buyers: the offer, the buyer's acceptance of the hand-over terms, the numbered invoice with its Swiss QR-bill, archived as issued. Start a sale from the device's page.

openissuedpaidcancelledall
loading…
‹ Sales

Before the invoice

Hand-over terms

Buyer & price

Documents

Actions

Offers & invoices

Devices the company offers to you. Read the hand-over terms, add your postal address for the invoice, accept — that is your signature. Your invoices stay here for download.

loading…

Import & export

Bring an existing inventory in as CSV; take everything out the same way. Devices already known by serial or tag are updated, never duplicated.

Import CSV

Header row with any of: tag, serial, vendor, model, kind, status, assignee (e-mail), holder, note. Other columns are ignored. Up to 5 000 rows per file.

Export CSV

Every device that is not archived, with assignee and last update.

Settings

Who runs the register, where AI comes from, and a sample register to try things on.

Reading photos

Device management (MDM)

The MDM knows every enrolled device and who is logged in; the register knows who was handed the device. A sync (every 6 hours, or now) creates missing devices, fills vendor, model and OS, assigns a person only where the register has nobody — and otherwise just notes what the MDM says. Secrets are write-only.
ConnectionLast syncResult
none yet

Apple Business Manager

Apple's own register of what the company bought: every Mac, iPhone and iPad from Apple or a reseller, and which device-management service holds it. A sync (every 6 hours, or now) reads it and matches serials with the register; devices that are only in Apple Business Manager appear under Apple, where you take them into the register. Nothing is written back to Apple. The private key never leaves your browser: it signs an assertion valid 180 days (Apple's maximum); drop the .pem again before it ends.
ConnectionLast syncResult
none yet
Drop the private key (.pem) here — or click to choose it
Apple Business Manager → Preferences → API → your key → Download. The key never leaves this browser — it signs a 180-day assertion here.

Notifications

Who runs the register

Hub owners, admins and helpdesk are admins here automatically. Add a hub group or name people directly.

Device trust

The trust app checks whether devices are in good shape and shows each person their own devices. For that it asks this register who has which serial. Allow it here: paste the id that Trust → Settings → Where owners come from shows. Nothing else leaves the register.

Selling devices — invoice settings

What the invoice and its Swiss QR-bill payment part say about the company. Agree the number range with finance before the first sale — every issued invoice is theirs to book (Sales → Export for finance).
Selling below fair value to an employee can count as pay in kind — agree the rule with finance and HR; the rule's price and every deviation are on the record.

Sample register

Eight sample devices to try the intake on. Removable in one click; only offered while the register is empty.

Admin log

WhenWhoWhat

How assets works

One register of devices. Each device has a tag (the sticker), a serial, vendor, model and kind; a status; the person who has it; and an append-only history — every hand-over, return, sale, scrapping, note and photo, with who did it and when.

The intake

The moment a device changes hands is the only moment the information exists. So the intake starts with the camera: photograph the back or the sticker. If an owner set an AI key in the hub (Settings → AI) and granted this app the AI lane, the picture is read — every code on it, with a confidence. Readings are only suggestions: the register matches them against tags and serials (exact, then with 0/O · 1/I · 5/S · 8/B folded, then by one or two edits) and shows candidates; you confirm. Nothing matches? Two taps create the device with what was read. Then you say what happened; the photo is kept as evidence on that event.

Without an AI key the camera still works: the photo is stored, you search by tag or serial (the same fuzzy matching), or add the device by hand. Only the reading step is off, and it says so with a link to the hub's settings.

People

People come from the hub directory. A hand-over picks the person there — no free-text names — so offboarding in the hub can list the devices a person holds and reassign them. The person is told through the hub's notifications.

Roles

Hub owners, admins and helpdesk run the register; so do members of the admins group and the named admins. Everyone else in the directory sees the devices assigned to them.

Photos

Scaled on the phone to at most 1280 px before upload, stored in the app itself, shown in the history. 900 KB per photo, twelve per device, 400 MB in total. When AI reading is enabled, the AI vendor receives the picture. Names, faces or other personal details visible in the image are included; check the image before sending it.

Device management

Connect Iru (formerly Kandji), Jamf Pro or Microsoft Intune under Settings. Every six hours — or when you press Sync now — the register pulls what the MDM knows: serial, model, OS, last check-in, the logged-in user. A device the register does not know is created (assigned to the MDM's user if that person is in the hub directory, otherwise in stock with the name noted). A known device gets its gaps filled. Where the register says one person and the MDM another — or the register says sold, scrapped or lost and the MDM still sees the device — nothing is changed; a mismatch is shown on the device and in the list, for a human to settle. Secrets never leave the app except towards the MDM; the calls go out from your engine as single-node requests.

Apple Business Manager

Apple keeps its own register of what a company bought: Apple Business Manager (or Apple School Manager). Under Settings you connect it with the client id, the key id and the private key Apple issued — the key never leaves your browser: it signs one client assertion there (ES256, valid 180 days, Apple's maximum) and only that assertion reaches the app, which trades it for one-hour tokens and reads two lists every six hours — the organisation's devices and which device-management service each one is assigned to. Serials that exist in the register are linked and show an "Apple Business Manager" box on the device; the rest are the gap: devices the company owns but nobody has handed out through this register. The Apple page lists them, with a filter for those no device-management service holds at all. The filter Sold — release in ABM is the other direction: devices the register says are sold, scrapped or lost but Apple still lists — release them in Apple Business Manager once the invoice is paid, otherwise the buyer is forced into your device management at setup; after the next sync they disappear from the list. "Add" takes a device into the register as unknown — Apple, model, capacity, ordered when, from whom — until someone finds it and records the hand-over; as soon as an MDM sees it, the MDM sync links it by serial. Nothing is ever written to Apple. The API account's role must allow reading devices — Apple's Read Only answers 403 to every read (verified); use the smallest role that works for you. Before the 180 days end, drop the .pem again on Edit — the Settings card warns two weeks ahead.

Device trust

The trust app checks whether devices are in good shape and shows each person their own devices. To know whose device a serial is, it asks this register — once you allow it under Settings → Device trust (paste the id Trust shows). It receives serial and e-mail for assigned devices, nothing else, and only that one canister may ask.

Selling devices

Old devices go to colleagues or outside buyers with a proper invoice. On the device's page an admin records what the company paid, starts the sale (buyer, price — the rule proposes one from the purchase price: linear write-down, a floor, a minimum), ticks the two checks (wiped, out of device management) and puts the offer to the buyer. A colleague sees it under Offers & invoices, reads the hand-over terms, adds their postal address and accepts with their own sign-in — that acceptance is printed on page 2 of the invoice as their signature. For an outside buyer staff record the signed paper copy.

Issuing the invoice takes the next number of the gapless range (drafts never use one), derives the payment reference from it and marks the device sold. The PDF is rendered here in the browser — page 1 the invoice with the Swiss QR-bill payment part (SIX guidelines v2.3: structured addresses, SCOR reference, so a normal IBAN suffices), page 2 the terms and the acceptance — and archived in the register exactly as handed out; the buyer downloads it from their offers page, admins from the sale. Cancelling an issued invoice creates a numbered credit note. Finance gets every invoice and credit note as CSV (Sales → Export) and books them; payment reconciliation stays with finance, paid here is a note.

Keep in mind: invoices are business records and stay here (no trash); the buyer's address lives on the invoice only, not in the directory; and the price rule is a finance/HR decision — selling below fair value to an employee can count as pay in kind.

Not yet

Barcode/QR reading in the browser; approvals for hand-overs; per-person self-service returns; pushing the register's tag back into the MDM; sending invoices by mail from the app; QR-IBAN/QRR references; AppleCare coverage per device.