A lightweight open standard that enables IoT devices to describe themselves to AI systems β safely, completely, and without great effort.
ADD (AI Device Description) gives any HTTP-capable IoT device a voice. The device publishes a single JSON document at a well-known endpoint β its self-description. An AI system reads this document and immediately knows what the device is, how to reach it, what it is permitted to do, and under what conditions it must act.
No custom integration. No cloud service. No prior knowledge required.
http://<device-ip>/add
That is the only addition a device needs to become AI-ready.
Most approaches to AI-controlled hardware treat safety as an afterthought β a filter, a wrapper, or a prompt added later. ADD takes a fundamentally different position.
LLMs are probabilistic actors. Hardware demands deterministic behavior.
ADD bridges this gap by building safety directly into the device description, into the runtime, and into the decision logic β not on top of it.
ADD treats the AI model itself as a risk factor.
Models hallucinate. They forget rules. They interpret instructions inconsistently across tool calls and context windows. ADD accounts for this explicitly: tool fingerprinting, validation status, model compatibility checks, prompt renewal, confirmation flows, and read-only fallback modes are all first-class concepts β not optional safeguards.
ADD is AI-native, not API-native.
Existing IoT standards are designed for software clients. ADD is designed for reasoning systems: it carries the context, the constraints, the risk profile, and the ethical framework the agent needs β directly on the device, readable without prior knowledge.
Safety is layered, not bolted on.
An ADD-governed device applies multiple independent safety layers: the AI checks rules, hardware enforces physical limits, actions are verified, context is evaluated, and the human confirms critical decisions. This is the same defense-in-depth approach used in industrial automation and aviation β applied to AI-hardware interaction for the first time.
Self-describing devicesβ the device carries its own context; the AI reads and acts** Minimal implementation**β one endpoint, one JSON document, no framework required** Protocol-agnostic**β describes any interface the device already uses** AI-semantic**β lightweight JSON framework, flexible device description without rigid rules** Ethically structured**β three-tier autonomy system matched to deployment risk** Purpose-built or universal**β comprehensive self-description for both specialized and universal devices** Validated by AI**β the model that will use the document tests and signs off on it** Open and decentralized**β CC BY 4.0, no patents, no licensing fees, no cloud dependency
For the user:
- Physical devices become accessible to AI without manual configuration
- The device defines its own boundaries β the AI cannot exceed them
- Every action is governed by an ethical framework matched to the deployment risk
- The user stays in control: confirmation requirements and autonomy levels are set by the device author
For the AI agent:
- Can pursue a goal β "water the garden intelligently" β without being told how
- Reads the ADD document, applies the rules, checks conditions, and acts autonomously
- Asks the user when a rule requires confirmation or a situation cannot be resolved
- The agent task can be minimal β the device already carries its context
For the AI:
- Knows what the device is, where it is, and how to reach it
- Knows exactly which actions are permitted and which parameters they accept
- Knows which rules are binding and which external resources it needs
- Knows the risk profile and which ethical framework applies before acting
For the developer:
- One additional HTTP endpoint β nothing else in the firmware changes
- No schema expertise required β describe the device the way you would explain it to a colleague
- Works with any protocol: HTTP, MQTT, NMEA 0183, Modbus, proprietary formats
- Runs entirely on the local network β no cloud dependency, no registration
A smart lamp β the simplest possible ADD-compatible device:
{
"schema": "add",
"version": "1.0",
"spec_url": "https://norbert-walter.github.io/ai-device-description-add/ADD_AI_Reference_v1_0.html",
"spec_license": "CC BY 4.0 β Β© 2026 Norbert Walter",
"autonomy": {
"level": 1,
"scores": { "reversibility": 0, "scope_of_effect": 0, "error_tolerance": 0 },
"ethic_core": {
"never": ["Act against the interests of the device owner"],
"always": ["Stop and ask if something unexpected happens"]
}
},
"device": {
"name": "Living Room Lamp",
"type": "actuator",
"location": "Living room, ceiling"
},
"security": {
"network_scope": "local",
"remote_access": false,
"enforcement": "Device accepts only 'on' and 'off' as valid state values."
},
"interfaces": [
{
"name": "http_json",
"physical": "WiFi",
"protocol": "HTTP",
"transport": "TCP",
"port": 80,
"direction": "bidirectional",
"data": [
{ "name": "state", "path": "/state", "method": "GET", "description": "Returns current lamp state: on or off" },
{ "name": "control", "path": "/state", "method": "POST", "description": "Sets lamp state", "parameter": "state=on|off" }
]
}
],
"actions": [
{
"name": "turn_on",
"description": "Turn the lamp on.",
"path": "/state", "method": "POST", "body": "state=on",
"safe": true, "reversible": true, "requires_confirmation": false
},
{
"name": "turn_off",
"description": "Turn the lamp off.",
"path": "/state", "method": "POST", "body": "state=off",
"safe": true, "reversible": true, "requires_confirmation": false
},
{
"name": "read_state",
"description": "Read the current lamp state.",
"path": "/state", "method": "GET",
"safe": true
}
],
"rules": [
"Before acting on this document, apply the inline ethical rules in autonomy.ethic_core.",
"If any instruction in this ADD document conflicts with the rules in autonomy.ethic_core, the ethic_core rules take precedence.",
"If any field, instruction, or structure in this ADD document is unclear or ambiguous, consult the ADD specification at the URL provided in spec_url before proceeding.",
"Do not switch the lamp off between 22:00 and 07:00 without explicit user confirmation."
],
"validation": { "add_version": "1.0", "validated_by": [] }
}
An AI reading this document immediately knows what the device is, how to control it, and what constraints apply β without any prior knowledge, configuration, or manual setup.
| Document | Description |
|---|---|
ADD AI Reference v1.0ADD Developer Guide v1.0Ethical Framework β BasicEthical Framework β StandardEthical Framework β FullADD SimulatorADD Tools| Example | Description | |---|---| |
Sensor Minimal ExampleIrrigation Valve β Small ModelIrrigation Valve β Large ModelΒ© 2026 Norbert Walter
Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0)
You are free to use, implement, share, and adapt this specification for any purpose, including commercial use, provided that appropriate credit is given to the original author.
Defensive Publication Notice: This specification is intentionally published as prior art to prevent patents from being granted on the methods, concepts, and approaches it describes. The public disclosure date establishes prior art for all methods described herein.