Licences

Every artefact-platform property that forks, vendors, or deploys a licensed open-source project, and what that licence requires of us. Generated from licences/manifests/*.json in artefact-platform — don't hand-edit this page, edit the manifest and re-run licences/generate.py. Sorted strictest obligation first.

Property Upstream project Licence Rebranded? Status Notes
admitme.io Ticketing alfio-event/alf.io Copyleft
GPL-3.0-only
No
Fork exists but README/branding is still 100% stock alf.io as of the last push (2026-05-05) — no rebrand has shipped yet.
N/A — not yet unbranded
GAP TO CLOSE BEFORE REBRANDING, NOT YET A VIOLATION: LICENSE (unmodified GPL-3.0 text) is present, but there is no MODIFICATIONS.md. Since no unbranding/rebrand has happened yet, GPL-3.0 §5(a)'s change-notice obligation hasn't been triggered — status is not-applicable, not gap. The moment any rebrand work starts here (logo, name, copy changes), this repo needs the same MODIFICATIONS.md + corresponding-source treatment already proven on client-web-crowdsense before it can ship. Re-verified 2026-08-06: repo still 100% stock alf.io (LICENSE diffed byte-identical against upstream alfio-event/alf.io; no admitme branding anywhere; commit history entirely upstream alf.io contributors), so not-applicable still holds. Issue #51 (tracking this) closed via artefact-platform PR #67, which added a ready-to-fill `docs/admitme-ticketing-modifications-template.md` on `main` — that commit isn't in this manifest-update branch's history (this branch forked from the pre-#67 PR #50 branch), so the template doesn't exist here yet, but it will be available once branches converge. Whoever picks up the first rebrand PR on ticket-admitme-io should pull that template rather than starting from scratch.
CrowdSense Web Client meshtastic/web Copyleft
GPL-3.0-only
Yes
Visual rebrand only — palette, wordmark/logo, favicon, page metadata changed from Meshtastic to CrowdSense. Protocol handling, device communication, and product-facing references to Meshtastic itself (firmware names, mobile app, meshtastic.org links, default node names) deliberately left intact.
Compliant
Reference implementation for this whole manifest system. LICENSE (unmodified GPL-3.0 text) + MODIFICATIONS.md (GPL-3.0 §5(a) change notice) both present in the repo. Corresponding source for the exact deployed version is also bundled with the built app itself (source.tar.gz alongside index.html, produced by pulse-dashboard/scripts/build_mesh_clients.sh). Intended deploy target per pulse-crowdsense-events#53 is client.crowdsense.events, but that issue's 'build + deploy' sub-task is still unchecked — live status not confirmed, property_url left null until verified.
CrowdSense Web Flasher Meshtastic Web Flasher Copyleft
GPL-3.0-only
Yes
Visual rebrand only — palette, wordmark/logo, favicon, and page metadata changed from Meshtastic to CrowdSense branding. Product-facing references to Meshtastic itself (firmware names/versions, the Meshtastic mobile app, meshtastic.org links, the bundled-firmware 'Meshtastic UI' feature and its wordmarks, default node names) deliberately left intact.
Compliant
MODIFICATIONS.md content read in full via `gh api repos/artefactgroup/web-flasher-crowdsense/contents/MODIFICATIONS.md` (previously only confirmed present, not re-read). It matches the proven client-web-crowdsense pattern exactly: GPL-3.0 §5(a) change notice stating visual-rebrand-only scope, explicit list of what was deliberately left intact, and a corresponding-source pointer to source.tar.gz bundled alongside the deployed static build (produced by pulse-dashboard/scripts/build_mesh_clients.sh). LICENSE also diffed byte-for-byte against upstream meshtastic/web-flasher's LICENSE via GitHub API and confirmed identical, unmodified GPL-3.0-only text. Both required GPL-3.0 obligations (unmodified licence text + §5(a) change notice) are met and were actually read this pass, not assumed.
Sylph getnao/sylph Permissive
MIT
No
Not deployed as a standalone property. Content used as sylph's markdown knowledge base via nao's ask_nao integration.
Gap
Upstream getnao/sylph has NO LICENSE file in the repo — the only licence statement is a one-line 'MIT - use it however you want' in README.md, and GitHub's own licence detection reports none. MIT is permissive enough that this is a low legal-risk gap, not a copyleft violation, but our fork should still add an explicit LICENSE file (MIT text + copyright line) rather than relying on an upstream README sentence that could be edited or missed. wesleypearson/sylph#1 tracks this; wesleypearson/sylph#2 (opened this pass) adds a standard MIT LICENSE crediting nao Labs as copyright holder, matching their README-stated intent — content and full commit history in this fork are identical to getnao/sylph, so no original-content copyright claim of our own applies. Status stays 'gap' until #2 merges; flip to 'compliant' once it does.
Context agno-agi/context Permissive
Apache-2.0
No
Gated behind Firebase SSO (artgrp.au Workspace) and reverse-proxied at context.artgrp.au; no visual rebrand applied yet.
Compliant
Independently re-verified the same way as scout.json (not just copied over): pulled agno-agi/context's and wesleypearson/context's root listings via GitHub API — no NOTICE file in either, so nothing to retain. `diff` of both LICENSE files confirms byte-identical unmodified Apache-2.0 text. No rebrand performed yet. Same upstream org (agno-agi) as scout, same finding, checked separately.
NeoMind (CrowdSense hosted server) camthink-ai/NeoMind Permissive
Apache-2.0
Yes
Confirmed via the local checkout (~/Documents/GitHub/NeoMind): full visual rebrand to CrowdSense — web/public/logo-{light,dark,square}.png, favicon set, and app splash screens are custom CrowdSense assets, and README.md is rewritten around 'What is CrowdSense?' rather than NeoMind. Upstream camthink-ai/NeoMind badges (release/star/last-commit) and wiki.camthink.ai documentation links are deliberately left intact near the top of the README even though the product identity itself is fully CrowdSense-branded.
Compliant
LICENSE diffed byte-for-byte against upstream camthink-ai/NeoMind's LICENSE via GitHub API — identical, unmodified Apache-2.0 text. Upstream has no NOTICE file (confirmed via repo root content listing), so there is nothing to retain. Apache-2.0 permits stripping visible branding as long as licence/copyright text in the source tree survives, which it does — obligations met and actually checked, not assumed.
NeoMind Extensions Marketplace camthink-ai/NeoMind-Extensions Permissive
MIT
No
Confirmed unbranded via the local checkout (~/Documents/GitHub/NeoMind/Extensions, checked out as a nested clone with both `origin` -> artefactgroup/NeoMind-Extensions and `upstream` -> camthink-ai/NeoMind-Extensions remotes): README.md still opens with 'Official extension marketplace for the NeoMind Edge AI Platform' and links to github.com/camthink-ai/NeoMind-Extensions for releases — no CrowdSense branding applied, unlike the parent NeoMind repo. GitHub reports this as a non-fork (independently created) repo rather than a true GitHub fork, though content and licence (MIT) match upstream; treated as a vendored copy for compliance purposes either way.
Compliant
The previously-flagged meshtastic-bridge extension HAS now landed (present at extensions/meshtastic-bridge/ as of this pass, was absent last check) — re-checked it directly rather than re-flagging blind. It's a first-party, from-scratch Rust implementation (own src/tests/tools, no protoc/build-time dependency on Meshtastic's own code) that talks the Meshtastic wire protocol over MQTT/serial; its Cargo.toml declares `license = "Apache-2.0"` and has no dependency on any Meshtastic-published crate. It does not vendor GPL-3.0 Meshtastic source, so the copyleft-contamination concern flagged earlier does not apply — no MODIFICATIONS.md is needed for that subdirectory. Separately, LICENSE (MIT) diffed byte-for-byte against upstream camthink-ai/NeoMind-Extensions via GitHub API and confirmed identical, including the 'Copyright (c) 2026 CamThink Team' line — retained unmodified. Marketplace itself is unbranded (see unbranding.scope), so this is a straightforward pass: unmodified MIT licence text retained, nothing vendored that would need extra treatment.
Scout agno-agi/scout Permissive
Apache-2.0
No
Gated behind Firebase SSO (artgrp.au Workspace) and reverse-proxied at scout.artgrp.au; no visual rebrand (logo/wordmark/palette) applied yet.
Compliant
Verified via GitHub API: neither agno-agi/scout (upstream) nor wesleypearson/scout (our fork) ship a NOTICE file at repo root — full root listing pulled for both, no NOTICE present in either, so there is nothing for Apache-2.0 §4(d)'s NOTICE-passthrough obligation to apply to. `diff` of both repos' LICENSE files (fetched via `gh api repos/.../contents/LICENSE`) confirms byte-identical, unmodified Apache-2.0 text. No visual rebrand has been done yet (SSO gating + reverse proxy only), so no change-notice or re-branding obligation is triggered either. Apache-2.0's obligations for our current usage are fully met and were actually checked, not assumed.
admitme.io Scan App alfio-event/Alf.ioBackoffice Permissive
Apache-2.0
No
Confirmed unbranded (not just unchecked): package.json's name/description/readme fields are still stock ('alf.io-app', 'Alf.io Scan'), README.md is untouched stock alf.io copy, and `grep -rl admitme src/ App_Resources/` returns no hits anywhere in the app. Full commit history (`git log --all --format=%an`) is entirely upstream alf.io contributors — no artefactgroup/wesleypearson-authored commits at all. This is a straight unmodified mirror, not yet touched.
Compliant
Checked locally (repo present at ~/Documents/GitHub/scan-admitme-io). LICENSE diffed byte-for-byte against upstream alfio-event/Alf.ioBackoffice's LICENSE via GitHub API — identical, unmodified Apache-2.0 text. Upstream has no NOTICE file (confirmed via repo root listing), so there's nothing to retain. Since no modifications have been made at all, every Apache-2.0 obligation (retain licence text, retain copyright notices, carry a NOTICE file if one exists) is trivially met today — unlike its GPL-3.0 sibling admitme-ticketing, Apache-2.0 doesn't require a change-notice when a rebrand eventually does land here, only that LICENSE stays intact.
nao getnao/nao Permissive
Apache-2.0
No
Prod runs the unmodified getnao/nao:latest Docker Hub image (not built from our fork) with nao_config.yaml registering ingest-db as a read-only agent source. No rebrand of the running product.
Compliant
Verified by cloning getnao/nao (main, 2026-08-06) and reading LICENSE in full: it's dual — Apache-2.0 for the project overall, except files with a leading `/* @license Enterprise */` comment, which fall under a separate nao Labs Commercial License requiring a paid Enterprise subscription to use in production. `grep -r '@license Enterprise'` across the whole tree found the marker only in apps/frontend (OIDC/Microsoft SSO, white-label branding, the enterprise settings route) and apps/backend (license.service.ts, license-startup.ts, branding.service.ts, license-endpoints.ts) — i.e. the hosted product's auth/branding/licensing layer. None of it touches cli/nao_core/config/**, which is what ingest/nao_config.snippet.yaml actually exercises (the `databases:` postgres-registration fields cited in that file's own source comments all resolve to cli/nao_core/config/databases/{postgres,base}.py and config/secrets.py — plain Apache-2.0 Python, no Enterprise marker present in any of those files). GitHub reports the repo's licence as 'Other/NOASSERTION' rather than Apache-2.0, consistent with the dual-licence split rather than a red flag. Since (a) we run the vendor's own unmodified getnao/nao:latest image with no code changes of our own, and (b) our only customisation (nao_config.yaml's databases: entry) lives entirely in the Apache-2.0 portion of the tree, no Enterprise-gated functionality is invoked by our usage pattern. Caveat: this holds only as long as OIDC/Microsoft SSO, white-labeling, or other apps/frontend|backend Enterprise features stay unconfigured — re-check if any of those get turned on.