Qr Code Features
Skill Profile
(Select at least one profile to enable specific modules)
Overview
QR code generation, scanning, validation, and use cases for events, payments, and guest management. This skill covers various QR code formats, security measures, dynamic QR codes, and integration with event management systems.
Why This Matters
QR codes are critical for:
- Contactless Experience: Fast, touchless interactions for health and safety
- Cost Efficiency: Reduce printing, material, and operational costs
- Versatility: Work across devices and platforms without app requirements
- Security: Signed and encrypted QR codes prevent fraud and unauthorized access
- Analytics: Track scan patterns, usage statistics, and engagement metrics
- Offline Capability: Function without internet connectivity for static codes
Poor QR code implementation leads to:
- Unreliable scanning and poor user experience
- Security vulnerabilities from unsigned codes
- Fraud and unauthorized access
- Inability to track usage or attendance
- Poor accessibility for users without cameras
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
- Inputs:
- <e.g., env vars, request payload, file paths, schema>
- Entry Conditions:
- <Pre-requisites: e.g., Repo initialized, DB running, specific branch checked out>
- Outputs:
- <e.g., artifacts (PR diff, docs, tests, dashboard JSON)>
- Artifacts Required (Deliverables):
- <e.g., Code Diff, Unit Tests, Migration Script, API Docs>
- Acceptance Evidence:
- <e.g., Test Report (screenshot/log), Benchmark Result, Security Scan Report>
- Success Criteria:
- <e.g., p95 < 300ms, coverage ≥ 80%>
Skill Composition
- Depends on: None
- Compatible with: None
- Conflicts with: None
- Related Skills: None
Quick Start
Assumptions
- Users have camera-equipped devices for scanning
- Network connectivity available for dynamic QR codes
- QR code libraries are compatible with target platforms
- Lighting conditions allow for reliable scanning
- Users understand how to use QR codes
Compatibility
- Works with all modern browsers (Chrome, Firefox, Safari, Edge)
- Compatible with iOS and Android devices
- Supports React, Vue, Angular, and vanilla JS
- Compatible with Node.js and browser environments
- Works with various QR code scanners
Test Scenario Matrix (QA Strategy)
| Type |
Focus Area |
Required Scenarios / Mocks |
| Unit |
Core Logic |
Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |
| Integration |
DB / API |
All external API calls or database connections must be mocked during unit tests |
| E2E |
User Journey |
Critical user flows to test |
| Performance |
Latency / Load |
Benchmark requirements |
| Security |
Vuln / Auth |
SAST/DAST or dependency audit |
| Frontend |
UX / A11y |
Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
2. Performance & Resources
3. Architecture & Scalability
4. Observability & Reliability
Agent Directives
When Generating QR Codes:
- Determine appropriate QR code type for use case
- Create data payload with required fields
- Sign or encrypt sensitive data
- Set appropriate expiry time
- Set scan limit if needed
- Generate QR code with proper error correction
- Store QR code record in database
When Scanning QR Codes:
- Request camera permissions appropriately
- Handle permission denials gracefully
- Scan continuously until QR code detected
- Validate scanned data (signature, expiry)
- Record scan for analytics
- Provide fallback for manual entry
When Managing QR Code Security:
- Use HMAC signing for authenticity
- Implement expiry times
- Set scan limits for one-time use
- Track all scans for fraud detection
- Rotate signing keys periodically
- Never expose keys in client code
Definition of Done (DoD) Checklist
Anti-patterns
QR Code Too Small
- QR codes under 200x200px are difficult to scan
- Poor user experience
- Increased failure rate
Low Error Correction
- Using error correction level L fails with damaged codes
- Poor reliability in real-world conditions
- Increased failure rate
No Expiry
- QR codes without expiry create security vulnerabilities
- Indefinite validity
- Increased fraud risk
Missing Validation
- Not validating scanned data leads to accepting fraudulent codes
- Security vulnerabilities
- Poor user experience
Poor Camera Handling
- Not handling camera permission denials blocks users
- Poor accessibility
- User frustration
Over-Styling
- Too much customization (logos, colors) reduces scannability
- Poor reliability
- Increased failure rate
No Fallback
- Not providing manual entry option when scanning fails
- Poor accessibility
- User frustration
Hardcoded Secrets
- Embedding signing keys in client code compromises security
- Security vulnerability
- Fraudulent QR code generation
No Analytics
- Not tracking scans prevents fraud detection and optimization
- No visibility into usage
- Inability to detect issues
Ignoring Offline
- Not considering offline scenarios limits reliability
- Poor user experience
- Increased failure rate
Reference Links & Examples
- Internal documentation and examples
- Official documentation and best practices
- Community resources and discussions
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: qr-code-features3description: QR code generation, scanning, validation, and use cases for events, payments, Use when this capability is needed.4---56# Qr Code Features78## Skill Profile9*(Select at least one profile to enable specific modules)*10- [ ] **DevOps**11- [x] **Backend**12- [ ] **Frontend**13- [ ] **AI-RAG**14- [ ] **Security Critical**1516## Overview17QR code generation, scanning, validation, and use cases for events, payments, and guest management. This skill covers various QR code formats, security measures, dynamic QR codes, and integration with event management systems.1819## Why This Matters20QR codes are critical for:2122- **Contactless Experience**: Fast, touchless interactions for health and safety23- **Cost Efficiency**: Reduce printing, material, and operational costs24- **Versatility**: Work across devices and platforms without app requirements25- **Security**: Signed and encrypted QR codes prevent fraud and unauthorized access26- **Analytics**: Track scan patterns, usage statistics, and engagement metrics27- **Offline Capability**: Function without internet connectivity for static codes2829Poor QR code implementation leads to:30- Unreliable scanning and poor user experience31- Security vulnerabilities from unsigned codes32- Fraud and unauthorized access33- Inability to track usage or attendance34- Poor accessibility for users without cameras3536## Core Concepts & Rules3738### 1. Core Principles39- Follow established patterns and conventions40- Maintain consistency across codebase41- Document decisions and trade-offs4243### 2. Implementation Guidelines44- Start with the simplest viable solution45- Iterate based on feedback and requirements46- Test thoroughly before deployment474849## Inputs / Outputs / Contracts50* **Inputs**:51 - <e.g., env vars, request payload, file paths, schema>52* **Entry Conditions**:53 - <Pre-requisites: e.g., Repo initialized, DB running, specific branch checked out>54* **Outputs**:55 - <e.g., artifacts (PR diff, docs, tests, dashboard JSON)>56* **Artifacts Required (Deliverables)**:57 - <e.g., Code Diff, Unit Tests, Migration Script, API Docs>58* **Acceptance Evidence**:59 - <e.g., Test Report (screenshot/log), Benchmark Result, Security Scan Report>60* **Success Criteria**:61 - <e.g., p95 < 300ms, coverage ≥ 80%>6263## Skill Composition64* **Depends on**: None65* **Compatible with**: None66* **Conflicts with**: None67* **Related Skills**: None6869## Quick Start70#7172## Assumptions73- Users have camera-equipped devices for scanning74- Network connectivity available for dynamic QR codes75- QR code libraries are compatible with target platforms76- Lighting conditions allow for reliable scanning77- Users understand how to use QR codes7879## Compatibility80- Works with all modern browsers (Chrome, Firefox, Safari, Edge)81- Compatible with iOS and Android devices82- Supports React, Vue, Angular, and vanilla JS83- Compatible with Node.js and browser environments84- Works with various QR code scanners8586## Test Scenario Matrix (QA Strategy)8788| Type | Focus Area | Required Scenarios / Mocks |89| :--- | :--- | :--- |90| **Unit** | Core Logic | Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |91| **Integration** | DB / API | All external API calls or database connections must be mocked during unit tests |92| **E2E** | User Journey | Critical user flows to test |93| **Performance** | Latency / Load | Benchmark requirements |94| **Security** | Vuln / Auth | SAST/DAST or dependency audit |95| **Frontend** | UX / A11y | Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |969798## Technical Guardrails & Security Threat Model99100### 1. Security & Privacy (Threat Model)101* **Top Threats**: Injection attacks, authentication bypass, data exposure102- [ ] **Data Handling**: Sanitize all user inputs to prevent Injection attacks. Never log raw PII103- [ ] **Secrets Management**: No hardcoded API keys. Use Env Vars/Secrets Manager104- [ ] **Authorization**: Validate user permissions before state changes105106### 2. Performance & Resources107- [ ] **Execution Efficiency**: Consider time complexity for algorithms108- [ ] **Memory Management**: Use streams/pagination for large data109- [ ] **Resource Cleanup**: Close DB connections/file handlers in finally blocks110111### 3. Architecture & Scalability112- [ ] **Design Pattern**: Follow SOLID principles, use Dependency Injection113- [ ] **Modularity**: Decouple logic from UI/Frameworks114115### 4. Observability & Reliability116- [ ] **Logging Standards**: Structured JSON, include trace IDs `request_id`117- [ ] **Metrics**: Track `error_rate`, `latency`, `queue_depth`118- [ ] **Error Handling**: Standardized error codes, no bare except119- [ ] **Observability Artifacts**:120 - **Log Fields**: timestamp, level, message, request_id121 - **Metrics**: request_count, error_count, response_time122 - **Dashboards/Alerts**: High Error Rate > 5%123124125## Agent Directives126**When Generating QR Codes:**1271. Determine appropriate QR code type for use case1282. Create data payload with required fields1293. Sign or encrypt sensitive data1304. Set appropriate expiry time1315. Set scan limit if needed1326. Generate QR code with proper error correction1337. Store QR code record in database134135**When Scanning QR Codes:**1361. Request camera permissions appropriately1372. Handle permission denials gracefully1383. Scan continuously until QR code detected1394. Validate scanned data (signature, expiry)1405. Record scan for analytics1416. Provide fallback for manual entry142143**When Managing QR Code Security:**1441. Use HMAC signing for authenticity1452. Implement expiry times1463. Set scan limits for one-time use1474. Track all scans for fraud detection1485. Rotate signing keys periodically1496. Never expose keys in client code150151## Definition of Done (DoD) Checklist152153- [ ] Tests passed + coverage met154- [ ] Lint/Typecheck passed155- [ ] Logging/Metrics/Trace implemented156- [ ] Security checks passed157- [ ] Documentation/Changelog updated158- [ ] Accessibility/Performance requirements met (if frontend)159160161## Anti-patterns162**QR Code Too Small**163- QR codes under 200x200px are difficult to scan164- Poor user experience165- Increased failure rate166167**Low Error Correction**168- Using error correction level L fails with damaged codes169- Poor reliability in real-world conditions170- Increased failure rate171172**No Expiry**173- QR codes without expiry create security vulnerabilities174- Indefinite validity175- Increased fraud risk176177**Missing Validation**178- Not validating scanned data leads to accepting fraudulent codes179- Security vulnerabilities180- Poor user experience181182**Poor Camera Handling**183- Not handling camera permission denials blocks users184- Poor accessibility185- User frustration186187**Over-Styling**188- Too much customization (logos, colors) reduces scannability189- Poor reliability190- Increased failure rate191192**No Fallback**193- Not providing manual entry option when scanning fails194- Poor accessibility195- User frustration196197**Hardcoded Secrets**198- Embedding signing keys in client code compromises security199- Security vulnerability200- Fraudulent QR code generation201202**No Analytics**203- Not tracking scans prevents fraud detection and optimization204- No visibility into usage205- Inability to detect issues206207**Ignoring Offline**208- Not considering offline scenarios limits reliability209- Poor user experience210- Increased failure rate211212## Reference Links & Examples213214* Internal documentation and examples215* Official documentation and best practices216* Community resources and discussions217218219## Versioning & Changelog220221* **Version**: 1.0.0222* **Changelog**:223 - 2026-02-22: Initial version with complete template structure224225---226> Converted and distributed by [TomeVault](https://tomevault.io/claim/amnadtaowsoam) — claim your Tome and manage your conversions.227<!-- tomevault:4.0:skill_md:2026-04-13 -->