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.

Assurance status (honest and current). Internal Slither static analysis has run three times (December 2025, January 2026, February 2026); the January run flagged four high-severity findings that the team triaged as false positives, and that baseline is now months behind the current tree. No third-party audit report has been published. A paid external audit by Hacken was engaged in July 2026; no report has been published yet. There is no bug bounty program today. Mainnet deployment is audit-gated, targeted H1 2027 — until then the protocol runs on Base Sepolia testnet. Report vulnerabilities to info@tagit.network.

Defense in depth — the five layers

LayerNameControls
5GovernanceMulti-house DAO, timelocks, emergency council, veto powers
4ApplicationRate limiting, input validation, TLS 1.3, DDoS protection
3Access control (BIDGES)Identity badges, capability gates, least privilege
2Smart contractCEI pattern, reentrancy guards, pausable, invariant testing
1CryptographyECDSA 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.

OperationMinimum identity
Mint assetsMANUFACTURER badge
Activate assetsRETAILER badge
Flag assetsKYC_L1 or higher
Resolve disputesGOV_MIL badge
Governance votingAny 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 ReentrancyGuard on 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

AlgorithmUse caseStandard
ECDSA secp256k1Transaction signingEthereum native
Keccak-256Hashing, tag binding commitmentsSHA-3 family
AES-128NFC chip encryption (NTAG 424 DNA)FIPS 197
AES-CMACPer-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:

ThreatQuestionMitigation
SpoofingCan identity be faked?BIDGES badge checks on every call; per-tap SUN CMAC ties scans to physical chips
TamperingCan data be modified?Immutable on-chain state and event log; tamper-evident tag variants
RepudiationCan actions be denied?Every lifecycle transition emits an on-chain event
Info disclosureCan data leak?On-chain data limited to hashes and state; TLS 1.3 in transit
Denial of serviceCan the system halt?Rate limiting, gas-bounded operations, pausable circuit breaker
Elevation of privilegeCan 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.