HEART Track 1: Basic#
For products that watch themselves and tell a person: what to read, what to skip, and when you are done
Status: Reading guide, November 2026. Part of the HEART Standards Family. It adds no requirements. Read first: Start Here, to check that this is your track. Next track: Track 2: Intermediate.
In one minute#
Track 1 is the smallest HEART. Your product knows when it is unwell and tells a person. Nothing outside it can change it through HEART.
- Feature Set:
basic(card.level). - Autonomy Level: A1, "Aware".
- Reading: about 1 hour 45 minutes.
- Code: a template does almost all of it. You write one function: "is my product doing its main job?"
- Claim when done: HEART Basic · A1 · self-tested.
1. Who it is for#
Products whose HEART only watches and reports:
| Kind | Examples |
|---|---|
| Small devices | A dog collar that reports its battery, GNSS and uplink; a birdhouse camera; a soil or water sensor; a smart plug that only reports |
| Microcontrollers | An Arduino, ESP32, RP2040 or Cortex-M board that can only send lines on a serial port |
| Simple appliances | A kettle, a fridge, a water heater that says "I am not heating" |
| Machines you must not control | A pump station PLC, a 3D printer, an EV charger, a pacemaker. The certified controller runs the machine. HEART watches, explains and tells a person. |
| Simple software | A script, a service or a web app that reports whether it is doing its job |
If anyone needs to log in, change a setting, restart the product or approve something through HEART, you need Track 2 as well.
2. What you will build#
| Piece | What it does | Defined in |
|---|---|---|
| Card | Says who the product is, its Feature Set, modules and Autonomy Level | Part 3, Section 3.1 |
| Pulse | Says how it is right now: healthy, degraded, failing or unknown, with a counter | Part 3, Section 3.2 |
| Arrhythmias | Alerts, each with a standard fault code and a plain-language explanation | Part 3, Sections 3.4 and 5 |
| Minimum Tending | Notice loss of the main job, raise an alert, explain it, tell a person, and do all of it offline | Part 2, Section 4, "A1: Aware" (it prevails over API Standard, Section 6.1) |
| The Valve | Every field has a privacy level. Without logins, everyone sees only public fields | API Standard, Sections 4.1 to 4.3 |
| One standard address | GET /.well-known/heart-card.json on port 43278 (fallback 7685) | Part 4, Sections 3.1 and 3.2 |
| Optional: HEART Hub | The owner watches the product's health from anywhere | HEART Hub profile |
| Optional: HEART Line | A microcontroller sends one JSON line per event; a bridge serves the HEART | Part 4, Section 12 |
You will not build logins, history, approvals, actions, AI or fleets. Those are Tracks 2 and 3.
3. What to read, in order#
| # | Document | Read these sections | Time | Why |
|---|---|---|---|---|
| 1 | Start Here | All | 5 min | Make sure Track 1 is enough |
| 2 | Part 1: Basics | "In one minute", Sections 1, 2, 4, 5 (all of 5.1 to 5.7), 6, 7 and 10 | 20 min | The idea, and every word used later. Section 5 is the glossary: read it slowly. |
| 3 | Part 2: Autonomy Levels | "In one minute", Sections 2 and 3; in Section 4, "A0: Unaware", "A1: Aware" and "A2: Explains"; in Section 5, Rules 2, 4 and 6; Section 8 | 12 min | What A1 asks of you. Read A2 to see what Track 2 adds. |
| 4 | Part 3: Information Model | "In one minute", Sections 2, 3.1, 3.2, 3.4, 4, 5.1 to 5.4 (skim the code list in 5.4 for your product), 5.6, 5.7, 7 and 9 | 20 min | The exact shape of the Card, Pulse and alerts, and how to name things |
| 5 | API Standard | Sections 2, 2.1, 4.1, 4.2, 4.3 and 6.1 | 5 min | The Feature Sets and modules, the Valve (until Part 5 is written) and the five steps of Minimum Tending |
| 6 | Part 4: Connections | "In one minute", Sections 1, 2, 3.1, 3.2, 3.3, 3.5, 4.1, 4.2, 4.3, 4.6, 5, 7.1 and 13 | 15 min | Ports, the first request, the headers and the error format |
| 7 | Part 4: Connections | Section 12 (12.1 to 12.3), only for a microcontroller | 4 min | HEART Line v1 and what the bridge must do |
| 8 | Part 6: Human Control and Safety | "In one minute" and Section 9 (not 9.1) | 4 min | HEART stays out of safety circuits and control loops. This applies to every product. |
| 9 | HEART Hub | "In one minute", Sections 2, 3, 5, 6, 7 (not 7.1) and 8, only if you report to a monitor site | 13 min | Claim codes, what is reported, and why only public data leaves |
| 10 | Part 9: Testing and Certification | "In one minute", Sections 2, 3.1, 5.1, 5.2, 7 and 8 (with 8.1) | 13 min | How to test, declare and rate what you built. The tests are listed in Section 6 below. |
| 11 | One guide close to your product | All | 20 min | A worked example from day 1 to HEART Basic · A1: pacemaker, 3D printer, EV charger or water pump station |
Total: about 1 hour 45 minutes without the guide, less if you skip items 7 and 9.
4. What you can skip, and why#
| Skip | Why |
|---|---|
| Part 1, Sections 3, 8, 9 and 11 to 13 | Background and history. Section 8 is the start of Track 2, Section 9 of Track 3. |
| Part 2, A3 to A5, Rules 1, 3, 5 and 7, Sections 6, 7 and 9 to 12 | They are about systems that act. A Basic product takes no action, so it has nothing to stop. |
| Part 3, Sections 3.3 (Rhythm), 3.5 to 3.7, 5.8 (event types), 6, 8 and 10 to 14 | History and Receipts are Connected (Track 2). Capabilities and Actions are Full (Track 3). |
| Part 4, Sections 4.4, 4.5 and 6 to 11 | Paging, live streams, logins, identity keys, the Gateway, sockets and MQTT are Track 2. |
| Part 6, Sections 2 to 8, 9.1, 10 to 12 | The gate, approvals and stop are for products that change. |
| The rest of the API Standard | Where a drafted part covers the same ground, the part prevails. The rest is for Tracks 2 and 3. |
| Core Standard, Command Center, Design Note 1 | Only for products with a HEART Core or an AI brain (Track 3). |
| Signal Tables | Only when you serve many signals as properties (Track 2). |
| Security Advisory | Its fixes are about logins, approvals and MQTT. A Basic product is already covered by the tests below. |
5. Where to start: templates and simulators#
Templates#
Every one of the 16 HEART Basic templates already does all of Track 1: Card, Pulse, the 30-second check of the main job, the system.main-function-lost alert, escalation, standard errors and the standard port. Download them from heartcortex.ai/downloads.
| Your product | Template |
|---|---|
| An app or service on Linux, macOS or Windows | The server template for your language: python, javascript-node, go, rust, c-posix, java, php or ruby |
| An embedded Linux board | c-posix, go or rust |
| A microcontroller with a serial port | c-baremetal, micropython, arduino or an assembly port (asm-x86-64-linux, asm-arm-cortex-m, asm-riscv32), plus the bridge |
| A web page or a plug-in host | wasm-wat |
| Reporting to HEART Hub | python with MONITOR = True, or esp32-full with HEART_MONITOR |
Simulators#
All nine simulators claim HEART Basic · A1 in their Card. Four of them show only Track 1 behaviour: they watch, explain and tell a person, and refuse every change.
| Simulator | What it shows |
|---|---|
| Pacemaker | Monitoring only. A patient's condition is not a device fault. |
| 3D printer | The firmware owns heating and thermal-runaway protection. HEART only watches. |
| Water pump station | The PLC and its interlocks run the station. Every change is refused. |
| EV charger | The certified controller owns current and safety. When a car charges is private. |
The other five show Track 2 and Track 3 behaviour. Each track page lists them. You can watch every simulator live at heartcortex.ai/monitor/demos.
6. The Part 9 tests that apply#
These are the tests from Part 9, Section 6, for HEART Basic · A1. Weights: critical counts 5, must 3, should 1 (Part 9, Section 8.1). A failed critical test caps the rating at 3.9, Unsafe.
| Test | Weight | Applies to you when |
|---|---|---|
P2-AUTONOMY-DECLARED | must | Always |
P2-A1-1, P2-A1-2, P2-A1-3, P2-A1-4 | must | Always (A1) |
P3-SCHEMA, P3-CARD, P3-CARD-PUBLIC-VIEW, P3-VERSION-HEADER | must | Always |
P3-PULSE, P3-PULSE-PUBLIC-VIEW, P3-PULSE-SEQUENCE, P3-ARRHYTHMIAS | must | Always |
P3-ERRORS, P3-UNKNOWN, P3-501 | must | Always |
P3-FAULT-CODES | should | Always |
P4-DISCOVER, P4-RATE-LIMIT | must | Always |
P4-PORT, P4-CACHE | should | Always |
P4-TLS-SERVER | must | It answers on a network address, not only on 127.0.0.1 |
P4-TLS-CLIENT | must | It opens connections itself: a HEART Line bridge, or a HEART Hub link |
P4-LINE-BRIDGE | must | It is a HEART Line bridge |
P4-OWNER-KEY | must | It uses an owner key (Part 4, Section 6.6) |
P5-FILTER, P5-UNCLASSIFIED | must | Always |
P5-NEVER | critical | Always |
P6-SURVIVE | must | Always |
That is up to 28 tests. Everything else in Part 9 is not applicable to a Track 1 product: write that on the test sheet, with the reason (Part 9, Section 5.1).
7. You are done when#
-
GET /.well-known/heart-card.jsonanswers on port 43278 (or 7685) with no login, and the Card says"level": "basic"and"autonomy": {"level": 1}. - Breaking the main job on purpose changes the Pulse and raises an alert with a standard fault code, within the time on your test sheet, with the internet cut off.
- The alert explains in plain language what happened and what it means for the user.
- A person is told by the route the owner set, and a message held back while offline is delivered when the network returns.
- Nothing above
publicever leaves the product, and nothingnever-shareever appears in a message. - Killing the HEART leaves the product working normally and safely.
- Every test in Section 6 passes, or is not applicable with a reason. You have a HEART-Rating with its metrics version, and a Declaration (Part 9, Section 7).
You can now say: HEART Basic · A1 · self-tested. Stop here, unless people need to log in to, change or approve things on your product. Then go on to Track 2.