← Addonium

19. FAQ

Does an addon have to run anywhere special? No. Any HTTPS-capable server (a $5 VPS, a Raspberry Pi, a static host for Open Addons with pre-baked data, or nothing at all for a pure compiled module) works. Addonium has no relationship with Cloudflare Workers or any other specific platform - that's a choice some other addon ecosystems make, not this one.

Can I make my addon both Open and restricted to my own app? Yes - set type: "open", auth: null, and still set clients.enforced: true with your own clientId in allow. No login required, but only your official client (or ones you've explicitly trusted) will be honored.

Do I have to store any user data? No. storesData defaults to false. Even Locked Addons can be entirely stateless - the token just proves authorization, it doesn't have to correlate to a stored record at all.

What stops a host from ignoring my auth/clients config? Nothing prevents a malicious host from trying to call your server directly without the header you asked for - that's true of any HTTP API. Your own server is the enforcement point: reject requests that don't carry what auth and clients describe. The spec's job is to give well-behaved hosts an unambiguous, shared way to comply with what you've declared; it isn't a DRM system.

Can I update my addon without users reinstalling? Yes. For HTTP addons, just update your server - hosts re-fetch manifest.json per your update.checkInterval. For compiled modules, publish a new .aium file at the same manifestUrl/download location; users only need to re-import if the key itself changes.

What if I want a community index of addons? Optional and separate from the core spec - see §12.4. Nothing about discovery is required for an addon to be fully functional.

Can I mix Open and Locked resources in one addon? Not within a single manifest - type is addon-wide. If you want a public search tier and a paid streaming tier, ship two addons (or one Open addon for search plus one Locked addon/module for stream) so the access model of each installable unit stays unambiguous to hosts and users.