Skip to content
Lumora

Open source

What Lumora is built on.

Last updated: July 14, 2026

Lumora stands on a large amount of open-source software. Most of it is MIT or Apache-2.0 licensed, which asks that we preserve the copyright notices — we do, in the source we ship.

One dependency carries obligations we owe you, directly, so it gets its own section.

The HEIC decoder in your browser — LGPL-3.0

iPhones photograph in HEIC. No browser except Safari can decode that format: a HEIC holds an HEVC video frame, HEVC decoding is covered by patents, and the other browser vendors have chosen to ship no decoder rather than license one. So when you upload an iPhone photo, we send a decoder to your browser and convert the photo on your own device.

That decoder is:

Because your browser downloads this code, we are distributing it — and the LGPL applies to us.

Your rights over it

You may use, study, modify, and replace this library. Concretely:

  • We ship it unmodified — byte for byte the package published on npm as heic-to@1.5.2. We have not patched it, forked it, or compiled anything of ours into it.
  • It arrives as its own separate JavaScript file, loaded on demand at runtime, and only if you actually upload a HEIC. It is not merged into our application bundle.
  • That separation is what makes replacement real: you can block our copy and serve your own build of heic-to / libheif in its place, and nothing else about Lumora has to change. This is the "Suitable Shared Library Mechanism" that LGPL-3.0 § 4 asks of a combined work.

Full licence text: GNU Lesser General Public License v3.0, which incorporates the GNU General Public License v3.0.

Want the exact source we ship? It is the unmodified npm package above, and every line of it is public at the links given. If you would rather we hand you the tarball directly, write to hello@lumora.kids and we will send it.

Everything else

The rest of our dependency tree is permissively licensed. The load-bearing pieces:

  • Next.js and React — MIT
  • Tailwind CSS — MIT
  • sharp — Apache-2.0 (server-side image processing; it runs on our machines and is never sent to you)
  • utif2 — MIT (reads the embedded preview out of camera RAW files — .dng, .cr2, .arw, .nef, and the like — in your browser, so a RAW upload becomes a normal JPEG)
  • Drizzle ORM, Zod, Lucide — MIT

If you believe we have mis-attributed something or fallen short of a licence obligation, tell us at hello@lumora.kids — we will fix it. You can also reach us through the contact form.