Use Case: Verification Trust Model
Use Case: Verification Trust Model
Overview
This use case explains the fundamental trust relationships in the Plings ecosystem and demonstrates how verification authority works in practice. It clarifies who can verify what, why external clients cannot independently verify authenticity, and how the hardened key architecture creates a controlled verification network.
Business Value
- Brand Control: Manufacturers maintain authority over their product authentication
- Trust Infrastructure: Creates reliable ecosystem of verification authorities
- Anti-Counterfeiting: Prevents unauthorized verification claims and forged results
- Business Model: Enables Plings to provide valuable verification-as-a-service
User Stories
Primary Story
As a consumer, I want to understand who I’m trusting when I verify a product so that I can make informed decisions about authenticity claims.
Supporting Stories
- As a developer, I want to understand verification limitations so that I integrate with the correct APIs
- As a manufacturer, I want to control my brand verification so that I prevent unauthorized authentication claims
- As an app user, I want to know verification sources so that I can trust the results
Actors
Primary Actors
- Consumer/User: Person wanting to verify product authenticity
- App Developer: Building applications that verify identifiers
- Plings System: Master verification authority
- Manufacturer: Brand verification authority for their products
Secondary Actors
- Service Providers: Third-party verification services
- Marketplace Platforms: E-commerce sites using verification
- Retailers: Physical stores implementing verification
The Fundamental Verification Question
Critical Understanding: Who Can Verify What?
The Question: When I scan a Coca-Cola can with path 3.1255.C2.5847.90000, who can cryptographically prove this is genuine?
The Answer: Only Plings or Coca-Cola themselves - because verification requires private keys that only they possess.
Why External Clients Cannot Verify Independently
Hardened Key Architecture:
Path: 3.1255.C2.5847.90000
HD Derivation: m/44'/501'/1'/3'/1255'/2'/5847'/90000'
└──────────────────────────────────────┘
ALL HARDENED - requires private keys
What External Clients Lack:
- Plings master private key
- Coca-Cola manufacturer private key
- Atlanta plant private key
- Batch-level private keys
Therefore: Cannot derive or verify the cryptographic chain independently.
⚠️ CRITICAL: Private Key Operations and Trust Implications
Beyond Verification: The Private Key Authority Problem
While verification requires trusted authorities, the HD wallet architecture creates an additional trust dimension: private key operations that extend beyond simple verification.
Private Key Access Hierarchy
Master Key Authority (Plings)
├── Can derive ANY identifier's private key
├── Can perform operations on behalf of ANY object
└── Can delegate authority to manufacturers
Manufacturer Authority (e.g., Coca-Cola)
├── Can derive private keys for their objects only
├── Can perform operations on behalf of their objects
└── Can delegate to plants/facilities
Plant Authority (e.g., Atlanta Facility)
├── Can derive private keys for objects they produce
├── Authority intended for production period only
└── Retains technical ability post-sale (TRUST ISSUE)
Post-Sale Security Concerns
The Problem: Even after a consumer purchases an object, supply chain participants retain the technical ability to derive private keys and perform cryptographic operations.
Trust Violation Examples:
- Unauthorized Object Control:
Consumer buys Coca-Cola bottle → 3 years later → Atlanta plant uses private key to mark bottle as "expired" → Consumer's bottle now appears invalid in apps - False Data Attestation:
Consumer owns IoT sensor → Manufacturer uses private key to sign false data → Market manipulation or insurance fraud using "official" signatures - Unwanted Autonomous Operations:
Consumer's smart device → Manufacturer triggers autonomous payment → Consumer charged for services they didn't authorize
Safe vs. Dangerous Private Key Operations
✅ Safe Operations (Maintain trust boundaries):
- Payment Recovery: When PDA fails, recover stuck funds for redistribution
- Warranty Claims: Manufacturer validates claims during warranty period
- Supply Chain Verification: Pre-sale manufacturing proof and quality control
❌ Dangerous Operations (Violate trust boundaries):
- Object Retirement: Marking objects as “destroyed” after sale
- Ownership Transfer: Using private keys to “transfer” ownership
- Autonomous Operations: Indefinite post-sale control over user devices
Trust Boundary Violations in Verification Context
Traditional Verification (Safe):
// Consumer asks: "Is this authentic?"
// Authority responds: "Yes, we verify it's genuine"
// Trust requirement: Consumer trusts verification authority
Private Key Operations (Potential violation):
// Authority declares: "This object is now retired"
// Consumer objects: "But I own it and it works fine!"
// Trust violation: Authority acts without owner consent
Mitigation Strategies
For Verification Systems:
- Clear Authority Disclosure: Show user who is performing verification
- Multiple Authority Support: Allow cross-verification between Plings and manufacturer
- Trust Transparency: Explain what authorities can and cannot do
For Private Key Operations:
- Temporal Limits: Restrict manufacturer authority to pre-sale and warranty periods
- Owner Consent: Require explicit permission for post-sale operations
- Trust-Aware Implementation: Only implement operations that respect ownership boundaries
Required Reading for Developers
- HD Wallet Trust Boundaries: Implementation guidelines
- Private Key Use Cases Analysis: Detailed risk assessment
Scenarios
Scenario 1: Designer Handbag Authentication
Setup: Sarah is considering purchasing a Louis Vuitton handbag on an online marketplace for $3,200.
Without Understanding Trust Model:
- Sarah assumes her app can verify independently
- Expects cryptographic proof without external dependencies
- Doesn’t understand verification limitations
- May trust unverified sources
With Understanding Trust Model:
- Recognition: Sarah understands verification requires trusted authorities
- Source Awareness: Knows her verification comes from Plings or Louis Vuitton
- App Flow:
Sarah scans QR → App shows "Verifying with authorities..." → Plings API validates → Returns "✅ Authentic Louis Vuitton" → Sarah understands she's trusting Plings verification - Informed Decision: Purchases based on trusted authority verification
- Additional Verification: Could contact Louis Vuitton directly for confirmation
Scenario 2: Developer Building Verification App
Setup: Mike is building an app for a luxury consignment store and wants to verify designer items.
Initial Misunderstanding:
// What Mike initially thinks he can do:
function verifyAuthenticity(path, instanceKey) {
// "I'll just verify this cryptographically myself"
const isValid = cryptoVerify(path, instanceKey);
return isValid; // ❌ This cannot work
}
Correct Implementation After Understanding Trust Model:
// What Mike actually implements:
async function verifyAuthenticity(path, instanceKey) {
// Option 1: Use Plings verification API
const plingsResult = await fetch('/api/plings/verify', {
method: 'POST',
body: JSON.stringify({ path, instanceKey })
});
// Option 2: Cross-check with manufacturer if available
const manufacturerId = parseInt(path.split('.')[0]);
const manufacturerAPI = getManufacturerAPI(manufacturerId);
if (manufacturerAPI) {
const mfgResult = await fetch(manufacturerAPI + '/verify', {
method: 'POST',
body: JSON.stringify({ path, instanceKey })
});
// Compare results for additional confidence
return {
plings: plingsResult,
manufacturer: mfgResult,
trusted: true
};
}
return { plings: plingsResult, trusted: true };
}
Scenario 3: Manufacturer Decision on Verification Authority
Setup: Rolex is deciding whether to provide their own verification API alongside Plings.
Decision Process:
Option A: Plings-Only Verification
- Pros: Single point of verification, consistent results
- Cons: Dependency on Plings availability, less brand control
Option B: Dual Verification Authority
- Pros: Brand control, backup verification, enhanced trust
- Cons: More infrastructure, potential inconsistency
Rolex Decision: Dual Authority
Consumer verifies Rolex watch:
1. Primary: Plings API verification
2. Secondary: Rolex direct verification
3. Cross-check: Both results match
4. Confidence: Maximum trust through dual confirmation
Scenario 4: Network Outage Reality Check
Setup: Emma is at a flea market trying to verify an item, but cellular service is poor.
Verification Limitations:
- No Independent Verification: Cannot verify cryptographically offline
- Basic Path Parsing: Can extract manufacturer ID from path
- Cached Results: May have previous verification in local storage
- Limited Confidence: Must defer full verification until connectivity
User Experience:
App Display:
⚠️ Limited Connectivity
📶 Cannot verify authenticity right now
🏷️ Path shows: Manufacturer appears to be "Apple"
💾 Cached: No previous verification for this item
⏳ Will verify when connection restored
Technical Implementation
Verification API Integration
Correct Client Implementation:
class VerificationService {
constructor() {
this.plingsAPI = 'https://api.plings.io';
this.manufacturerAPIs = {
3: 'https://verify.coca-cola.com',
15: 'https://verify.rolex.com',
8: 'https://verify.nike.com'
};
}
async verifyIdentifier(path, instanceKey) {
try {
// Always start with Plings verification
const plingsVerification = await this.verifyWithPlings(path, instanceKey);
// Optionally cross-check with manufacturer
const manufacturerId = parseInt(path.split('.')[0]);
const manufacturerVerification = await this.verifyWithManufacturer(
manufacturerId, path, instanceKey
);
return {
verified: plingsVerification.verified,
source: 'multi-authority',
plings: plingsVerification,
manufacturer: manufacturerVerification,
confidence: this.calculateConfidence(plingsVerification, manufacturerVerification)
};
} catch (error) {
return {
verified: false,
error: 'Verification service unavailable',
recommendation: 'Try again later or contact manufacturer directly'
};
}
}
async verifyWithPlings(path, instanceKey) {
const response = await fetch(`${this.plingsAPI}/verify`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ path, instanceKey })
});
return response.json();
}
async verifyWithManufacturer(manufacturerId, path, instanceKey) {
const manufacturerAPI = this.manufacturerAPIs[manufacturerId];
if (!manufacturerAPI) {
return { available: false, reason: 'No manufacturer API' };
}
try {
const response = await fetch(`${manufacturerAPI}/verify`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ path, instanceKey })
});
return { available: true, result: await response.json() };
} catch (error) {
return { available: false, reason: 'Manufacturer API unavailable' };
}
}
calculateConfidence(plingsResult, manufacturerResult) {
if (plingsResult.verified && manufacturerResult.available && manufacturerResult.result.verified) {
return 'highest'; // Dual confirmation
} else if (plingsResult.verified) {
return 'high'; // Plings confirmed
} else {
return 'low'; // No confirmation
}
}
}
User Interface Guidelines
Verification Status Display:
┌─────────────────────────────┐
│ 🔍 VERIFICATION STATUS │
│ │
│ ✅ Verified by Plings │
│ ✅ Confirmed by Nike │
│ │
│ Confidence: Highest │
│ Sources: 2 authorities │
│ │
│ Nike Air Jordan 1 │
│ Path: 8.1.15.2020.8934 │
│ │
│ [View Details] │
│ [Verification Sources] │
└─────────────────────────────┘
Verification Sources Detail:
┌─────────────────────────────┐
│ VERIFICATION SOURCES │
│ │
│ 🏢 Plings (Master) │
│ • Authority: Ecosystem │
│ • Verified: ✅ Yes │
│ • Time: 2 seconds ago │
│ │
│ 👟 Nike (Brand) │
│ • Authority: Brand only │
│ • Verified: ✅ Yes │
│ • Time: 3 seconds ago │
│ │
│ Trust Level: Maximum │
│ Recommendation: Proceed │
└─────────────────────────────┘
Business Rules
Verification Authority Hierarchy
- Plings: Can verify any identifier in ecosystem
- Manufacturers: Can verify only their own products
- Service Providers: Must use authorized APIs
- External Clients: Cannot verify independently
Trust Relationships
- Users trust Plings as neutral ecosystem authority
- Users trust manufacturers for their own products
- Cross-verification increases confidence
- No verification from unauthorized sources
Error Handling
- Network failures: Cache results, defer verification
- API unavailability: Graceful degradation
- Conflicting results: Flag for manual review
- Unknown manufacturers: Basic path parsing only
Success Metrics
Developer Understanding
- API integration success rate
- Correct implementation patterns
- Reduced support tickets about verification
- Proper error handling implementation
User Trust
- Verification source awareness
- Confidence in results
- Appropriate skepticism of unverified claims
- Understanding of limitations
System Reliability
- Verification API uptime
- Cross-verification consistency
- Response time performance
- Error rate minimization
Implementation Guidelines
For App Developers
- Never attempt independent verification - use authorized APIs
- Always show verification sources to users
- Handle network failures gracefully with appropriate messaging
- Cache verification results for performance and offline scenarios
- Implement timeout and retry logic for API calls
For Manufacturers
- Decide on verification strategy - Plings-only or dual authority
- Maintain API consistency with Plings results if providing own API
- Secure private key management rigorously
- Consider verification as brand service to customers
For End Users
- Understand verification comes from trusted authorities
- Look for multiple verification sources when available
- Be aware of network dependencies for verification
- Report suspicious verification failures to appropriate authorities
Related Documentation
- Plings Identifier Overview - Complete system overview
- Producer Delegation Specification - Hardened key architecture
- HD Wallet Implementation - Technical implementation
- Consumer Product Authentication - User-facing authentication flows
Key Takeaway: Understanding the verification trust model is essential for anyone building applications or services that rely on Plings identifier verification. The hardened key architecture intentionally creates verification authorities to ensure brand control and prevent unauthorized authentication claims.