Protocol
Security model
TAG IT Network implements a five-layer defense-in-depth architecture. Every layer assumes adversarial conditions and is designed so that a failure in one layer is contained by the layers around it — from DAO governance at the top down to the AES-128 keys sealed inside each NFC chip.
Defense in depth — the five layers
| Layer | Name | Controls |
|---|---|---|
| 5 | Governance | Multi-house DAO, timelocks, emergency council, veto powers |
| 4 | Application | Rate limiting, input validation, TLS 1.3, DDoS protection |
| 3 | Access control (BIDGES) | Identity badges, capability gates, least privilege |
| 2 | Smart contract | CEI pattern, reentrancy guards, pausable, invariant testing |
| 1 | Cryptography | ECDSA signatures, Keccak-256 hashes, AES-128 + CMAC on chip |
Layer 5 — Governance
Protocol-level changes flow through TAGITGovernor and TAGITTreasury, structured so that no single stakeholder group can dominate:
- Standard changes require 51% approval across governance houses.
- Critical changes (upgrades, parameter changes on custody paths) require a 67% supermajority.
- Emergency actions require 75% plus emergency-council approval.
Every approved action is time-delayed before execution:
uint256 constant STANDARD_DELAY = 7 days;
uint256 constant CRITICAL_DELAY = 14 days;
uint256 constant EMERGENCY_DELAY = 48 hours;Three veto backstops exist: the Gov/Mil house can veto proposals affecting defense applications, the emergency council can pause the protocol for 72 hours, and core developers can block technically dangerous changes.
Layer 4 — Application
The agent gateway at api.tagit.network and supporting services apply standard perimeter controls: token-bucket rate limiting on all endpoints, schema-based input validation and sanitization, authenticated sessions, TLS 1.3 in transit, and WAF/DDoS protection at the edge. Every security-relevant event — including each verification attempt and its per-signal results — is logged for correlation and anomaly detection.
Layer 3 — Access control (BIDGES)
BIDGES (Badge Identity & Delegation for Gated Execution System) enforces the principle of least privilege through a two-token model in TAGITAccess: soulbound identity badges (ERC-5192) establish who you are, and revocable capability badges (ERC-1155) grant what you may do. Lifecycle functions check both.
| Operation | Minimum identity |
|---|---|
| Mint assets | MANUFACTURER badge |
| Activate assets | RETAILER badge |
| Flag assets | KYC_L1 or higher |
| Resolve disputes | GOV_MIL badge |
| Governance voting | Any identity badge |
Capabilities are isolated per role: manufacturers hold MINT and BIND, retailers hold ACTIVATE, consumers hold CLAIM and FLAG (own assets only), arbitrators hold RESOLVE, and full admin capability is reserved for emergencies. See Access Control (BIDGES) for the complete badge catalogue.
Layer 2 — Smart contract
The suite — 25 contracts and 4 libraries (LifecycleLib, AccessLib, CryptoLib, EventLib) — follows a uniform set of secure-coding patterns:
- Checks-Effects-Interactions ordering on every state-changing function, with
ReentrancyGuardon custody and transfer paths. - Pausable circuit breaker for emergency stops, gated by governance and the emergency council.
- UUPS upgrade safety — upgrades execute only through the timelocked governance path.
- Custom errors and strict input validation on all external parameters; events emitted for every state change.
function claim(uint256 tokenId, address newOwner) external nonReentrant {
// Checks
if (assets[tokenId].state != State.ACTIVATED) revert InvalidState();
if (!access.hasCapability(msg.sender, CAP_CLAIM)) revert NotAuthorized();
// Effects
assets[tokenId].state = State.CLAIMED;
// Interactions
_transfer(ownerOf(tokenId), newOwner, tokenId);
emit StateChanged(tokenId, State.ACTIVATED, State.CLAIMED, msg.sender);
}Critical properties of the 7-state lifecycle machine are enforced with fuzz and invariant testing: transitions only follow the defined state graph, resolve() always returns a flagged asset to its exact pre-flag state, tag-hash uniqueness holds globally, only badge-holders can execute lifecycle functions, and token-supply invariants are preserved.
Layer 1 — Cryptography
| Algorithm | Use case | Standard |
|---|---|---|
| ECDSA secp256k1 | Transaction signing | Ethereum native |
| Keccak-256 | Hashing, tag binding commitments | SHA-3 family |
| AES-128 | NFC chip encryption (NTAG 424 DNA) | FIPS 197 |
| AES-CMAC | Per-tap tag authentication (SUN) | NIST SP 800-38B |
Chip-side keys never leave the tag's secure memory and are never written on chain — the contracts store only Keccak-256 commitments. See NFC Hardware for how SUN authentication works per tap.
STRIDE summary
Every new feature ships with a STRIDE threat model. The protocol-wide summary:
| Threat | Question | Mitigation |
|---|---|---|
| Spoofing | Can identity be faked? | BIDGES badge checks on every call; per-tap SUN CMAC ties scans to physical chips |
| Tampering | Can data be modified? | Immutable on-chain state and event log; tamper-evident tag variants |
| Repudiation | Can actions be denied? | Every lifecycle transition emits an on-chain event |
| Info disclosure | Can data leak? | On-chain data limited to hashes and state; TLS 1.3 in transit |
| Denial of service | Can the system halt? | Rate limiting, gas-bounded operations, pausable circuit breaker |
| Elevation of privilege | Can roles escalate? | Soulbound identity badges, capability isolation, timelocked governance |
Audit & assurance roadmap
- December 2025 – February 2026 — run: internal security review plus Slither static analysis; the January 2026 run reported four high-severity findings, triaged by the team as false positives. That baseline is now months behind the current tree.
- July 2026 — engaged: external audit by Hacken covering the core and governance modules. No report has been published yet.
- Mainnet launch — planned: a public bug bounty is intended to accompany mainnet (audit-gated, targeted H1 2027). None exists today.
Responsible disclosure
If you find a vulnerability in any TAG IT contract, service, or client, use the security report form or email info@tagit.network with enough detail to reproduce the issue. We ask that you do not publish a proof-of-concept or exploit details before a fix is deployed, and that you avoid actions that degrade the service or access data that isn't yours. We commit to acknowledging reports promptly and crediting researchers who wish to be named.
Safe harbor: security research conducted in good faith and within these guidelines will not result in legal action by TAG IT Network.
Post-quantum roadmap
Current cryptography (ECDSA, AES-128, CMAC) is quantum-vulnerable on a long enough horizon. TAG IT tracks the NIST post-quantum standards — Kyber (ML-KEM) for key encapsulation, Dilithium (ML-DSA) for signatures, and SPHINCS+ as a hash-based fallback — with migration hooks planned for the 2029–2030 window. On the hardware side, the roadmap SIGMA BOY ASIC tier is specified with PQC primitives from the start; see NFC Hardware.