kernelCAD names itself in the files it writes and on its public viewer pages, and it can add referral tags to links that point at vendors. This page lists every place this happens and how to change it. Nothing is hidden: all of it is visible in the output, and all of it lives in two source files.
Each exporter writes one line into the format's own metadata field. Geometry is never changed.
| Format | Where | Value |
|---|---|---|
| STEP | FILE_NAME originating_system (OCCT stays the preprocessor) |
kernelCAD <version> (https://kernelcad.com) |
| GLB | asset.generator |
same |
| STL (binary) | 80-byte header | same, plus the export date |
| DXF | first 999 header comment |
same, plus the export date |
| URDF, SRDF, SDF, MJCF | XML comment after the XML declaration | <!-- Generated by kernelCAD <version> (https://kernelcad.com) --> |
The public share page (/p/<slug>) and the embeddable viewer
(/embed/<slug>, both presentation modes) show a small "Made with kernelCAD"
link in a corner. It links to https://kernelcad.com/?ref=<surface> with
utm_source=kernelcad&utm_medium=<surface>, so we can see which surface a
visit came from.
Some tools return links to vendor pages: fetch_part returns a
vendor-configurator link (kind: 'link_out'), and verify with
check: 'dfm-preflight' returns the job shop's catalog pages as sources.
- Data files store clean vendor URLs only. Tags are added when a link is shown,
by one function (
buildVendorUrlinsrc/shared/links/referral.ts). A test fails if any other code emits a vendor URL. - A tagged link gets
<param>=<tag>,utm_source=kernelcadandutm_medium=<surface>(for exampleshopcheck,part,bom). - A vendor with no tag gets the clean URL, unchanged.
- When a result contains a tagged link, it also contains this disclosure, and the agent is asked to show it with the link: "Some links are referral links; kernelCAD may earn a commission."
The current tags are the tag values in referral.ts. An empty tag means that
vendor's links are clean.
Two files hold everything:
src/shared/links/attribution.ts: the name, homepage, app URL, the generator string used in exported files, and the tagged links to our own pages.src/shared/links/referral.ts: the vendor list, each vendor's referral parameter and tag, and the disclosure text.
At runtime, without code changes:
KERNELCAD_REFERRAL_<VENDOR>=<tag>sets or replaces one vendor's tag (for exampleKERNELCAD_REFERRAL_SENDCUTSEND=mytag). An empty value clears it.KERNELCAD_REFERRALS=offturns every vendor tag off.
A fork that keeps the attribution states truthfully that it is built on
kernelCAD, which the trademark policy allows. A renamed fork
can change or remove the attribution in attribution.ts.
Some examples and recipes are ports of openly licensed models: their numbers were measured from the source and re-modelled in kernelCAD. The source files themselves are not redistributed. Each entry names the source and its license, and links the provenance file that records the commit, checksum, extraction and hand edits.
| Used in | Source | Author and changes | License | Provenance |
|---|---|---|---|---|
examples/from-reference/hatchback/hatchback.kcad.ts, cookbook automotive-body-envelope |
hatchback from osrf/gazebo_models (commit 8163eb4b) |
Copyright 2012 Nathan Koenig (Open Source Robotics Foundation); modified: measured and re-modelled, mesh not included | CC-BY 3.0 | PROVENANCE.md |
@classcad/smlibwasm is pinned to 0.3.1. The ClassCAD JavaScript bindings are
MIT-licensed (Copyright 2026 AWV Informatik AG); the bundled USD BRep/SMLib
core is Apache-2.0 (Copyright 2020–2026 NVIDIA CORPORATION & AFFILIATES).
The package also contains unmodified Lato Regular under OFL-1.1, with Reserved
Font Name “Lato” (Copyright 2010–2013 tyPoland Lukasz Dziedzic).
See NOTICE and retained license texts.
The kernel loads only when explicitly selected; kernelCAD does not ship native
experimental core patches.