moai-adk 0.35.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +10 -0
- moai_adk/__main__.py +199 -0
- moai_adk/cli/__init__.py +6 -0
- moai_adk/cli/commands/__init__.py +17 -0
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +272 -0
- moai_adk/cli/commands/init.py +372 -0
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +104 -0
- moai_adk/cli/commands/update.py +2686 -0
- moai_adk/cli/main.py +13 -0
- moai_adk/cli/prompts/__init__.py +5 -0
- moai_adk/cli/prompts/init_prompts.py +219 -0
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +683 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +493 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +422 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +1 -0
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +244 -0
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/__init__.py +19 -0
- moai_adk/core/diagnostics/slash_commands.py +159 -0
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +31 -0
- moai_adk/core/git/branch.py +25 -0
- moai_adk/core/git/branch_manager.py +129 -0
- moai_adk/core/git/checkpoint.py +134 -0
- moai_adk/core/git/commit.py +67 -0
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +79 -0
- moai_adk/core/git/manager.py +216 -0
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +305 -0
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +572 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +605 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +1 -0
- moai_adk/core/project/backup_utils.py +70 -0
- moai_adk/core/project/checker.py +300 -0
- moai_adk/core/project/detector.py +293 -0
- moai_adk/core/project/initializer.py +387 -0
- moai_adk/core/project/phase_executor.py +716 -0
- moai_adk/core/project/validator.py +139 -0
- moai_adk/core/quality/__init__.py +6 -0
- moai_adk/core/quality/trust_checker.py +377 -0
- moai_adk/core/quality/validators/__init__.py +6 -0
- moai_adk/core/quality/validators/base_validator.py +19 -0
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +7 -0
- moai_adk/core/template/backup.py +174 -0
- moai_adk/core/template/config.py +191 -0
- moai_adk/core/template/languages.py +43 -0
- moai_adk/core/template/merger.py +233 -0
- moai_adk/core/template/processor.py +1200 -0
- moai_adk/core/template_engine.py +310 -0
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +376 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +322 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +343 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
- moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
- moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +365 -0
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
- moai_adk/templates/.gitignore +222 -0
- moai_adk/templates/.mcp.json +13 -0
- moai_adk/templates/.moai/config/config.yaml +58 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
- moai_adk/templates/.moai/config/sections/system.yaml +24 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +642 -0
- moai_adk/utils/__init__.py +30 -0
- moai_adk/utils/banner.py +38 -0
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +147 -0
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.35.1.dist-info/METADATA +3018 -0
- moai_adk-0.35.1.dist-info/RECORD +502 -0
- moai_adk-0.35.1.dist-info/WHEEL +4 -0
- moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
- moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# Highly Regulated Identity
|
|
2
|
+
|
|
3
|
+
Auth0 Highly Regulated Identity (HRI) is a Financial-Grade Identity solution designed to secure sensitive data operations and services in regulated industries.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
HRI provides enhanced security for:
|
|
8
|
+
- Financial services (banks, payment processors)
|
|
9
|
+
- Healthcare (patient data, prescriptions)
|
|
10
|
+
- Government services (identity verification)
|
|
11
|
+
- Any high-value transaction processing
|
|
12
|
+
|
|
13
|
+
Target Operations:
|
|
14
|
+
- Money transfers
|
|
15
|
+
- Digital payments
|
|
16
|
+
- Medical record access
|
|
17
|
+
- Contract signing
|
|
18
|
+
- High-value authorizations
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
Plan: Enterprise Plan with Highly Regulated Identity add-on
|
|
23
|
+
|
|
24
|
+
Contact: Auth0 sales for add-on enablement
|
|
25
|
+
|
|
26
|
+
## Core Security Features
|
|
27
|
+
|
|
28
|
+
### Strong Customer Authentication (SCA)
|
|
29
|
+
|
|
30
|
+
Definition: Authentication requiring at least two independent factors from different categories.
|
|
31
|
+
|
|
32
|
+
Factor Categories:
|
|
33
|
+
- Knowledge: Something known (password, PIN)
|
|
34
|
+
- Possession: Something possessed (device, token)
|
|
35
|
+
- Inherence: Something intrinsic (biometric)
|
|
36
|
+
|
|
37
|
+
Supported MFA Factors:
|
|
38
|
+
- Mobile push notifications
|
|
39
|
+
- SMS verification
|
|
40
|
+
- Email verification
|
|
41
|
+
- WebAuthn (security keys, biometrics)
|
|
42
|
+
|
|
43
|
+
Dynamic Application:
|
|
44
|
+
- Apply based on transaction risk
|
|
45
|
+
- Step-up for sensitive operations
|
|
46
|
+
- Context-aware enforcement
|
|
47
|
+
|
|
48
|
+
### Dynamic Linking
|
|
49
|
+
|
|
50
|
+
Purpose: Bind authorization to specific transaction details so users know exactly what they authorize.
|
|
51
|
+
|
|
52
|
+
Rich Authorization Requests (RAR):
|
|
53
|
+
- Include transaction details in authorization
|
|
54
|
+
- Display details to user for confirmation
|
|
55
|
+
- Authorization linked to specific transaction
|
|
56
|
+
|
|
57
|
+
User Experience:
|
|
58
|
+
- User sees transaction context
|
|
59
|
+
- Confirms specific action (e.g., transfer $100)
|
|
60
|
+
- Cannot be repurposed for other transactions
|
|
61
|
+
|
|
62
|
+
Step-Up with Context:
|
|
63
|
+
- Trigger MFA with transaction details
|
|
64
|
+
- User verifies both identity and transaction
|
|
65
|
+
- Strong binding between auth and action
|
|
66
|
+
|
|
67
|
+
### Data Protection
|
|
68
|
+
|
|
69
|
+
Pushed Authorization Requests (PAR):
|
|
70
|
+
- Send authorization parameters directly to Auth0
|
|
71
|
+
- Receive reference URI
|
|
72
|
+
- Avoid exposing parameters in browser
|
|
73
|
+
- Protect sensitive data from URL exposure
|
|
74
|
+
|
|
75
|
+
JWT-Secured Authorization Requests (JAR):
|
|
76
|
+
- Sign authorization request as JWT
|
|
77
|
+
- Protect request integrity
|
|
78
|
+
- Optional encryption for confidentiality
|
|
79
|
+
- Prevent request tampering
|
|
80
|
+
|
|
81
|
+
JSON Web Encryption (JWE):
|
|
82
|
+
- Encrypt access token payloads
|
|
83
|
+
- Protect authorization details
|
|
84
|
+
- Confidentiality for sensitive data
|
|
85
|
+
|
|
86
|
+
### Application Authentication
|
|
87
|
+
|
|
88
|
+
Private Key JWT:
|
|
89
|
+
- Asymmetric key authentication
|
|
90
|
+
- Private key never transmitted
|
|
91
|
+
- Register up to two public keys
|
|
92
|
+
- Zero-downtime credential rotation
|
|
93
|
+
|
|
94
|
+
mTLS for OAuth:
|
|
95
|
+
- X.509 certificate authentication
|
|
96
|
+
- Mutual TLS required
|
|
97
|
+
- Certificate-based identity
|
|
98
|
+
- Strongest client authentication
|
|
99
|
+
|
|
100
|
+
Supported Algorithms:
|
|
101
|
+
- RS256, RS384, RS512
|
|
102
|
+
- PS256, PS384, PS512
|
|
103
|
+
|
|
104
|
+
### Token Binding
|
|
105
|
+
|
|
106
|
+
Certificate Thumbprint Association:
|
|
107
|
+
- Token bound to client certificate
|
|
108
|
+
- cnf claim with x5t#S256
|
|
109
|
+
- Prevents token theft
|
|
110
|
+
|
|
111
|
+
Sender Constraining:
|
|
112
|
+
- Only legitimate client can use token
|
|
113
|
+
- Certificate required for token use
|
|
114
|
+
- Useless if stolen without certificate
|
|
115
|
+
|
|
116
|
+
## Implementation
|
|
117
|
+
|
|
118
|
+
### Prerequisites
|
|
119
|
+
|
|
120
|
+
1. Enterprise Plan
|
|
121
|
+
2. HRI add-on enabled
|
|
122
|
+
3. Application configured as confidential client
|
|
123
|
+
4. Certificate or key pair for authentication
|
|
124
|
+
|
|
125
|
+
### Configuration Steps
|
|
126
|
+
|
|
127
|
+
1. Enable HRI:
|
|
128
|
+
- Contact Auth0
|
|
129
|
+
- Activate add-on on tenant
|
|
130
|
+
- Verify HRI features available
|
|
131
|
+
|
|
132
|
+
2. Configure Client Authentication:
|
|
133
|
+
- Generate key pair or obtain certificate
|
|
134
|
+
- Register with Auth0
|
|
135
|
+
- Configure application settings
|
|
136
|
+
|
|
137
|
+
3. Enable Security Features:
|
|
138
|
+
- Configure PAR endpoint
|
|
139
|
+
- Set up JAR signing
|
|
140
|
+
- Enable token binding
|
|
141
|
+
|
|
142
|
+
4. Configure MFA:
|
|
143
|
+
- Enable required factors
|
|
144
|
+
- Set up step-up policies
|
|
145
|
+
- Configure SCA rules
|
|
146
|
+
|
|
147
|
+
5. Test Implementation:
|
|
148
|
+
- Verify all flows work
|
|
149
|
+
- Test error scenarios
|
|
150
|
+
- Validate security properties
|
|
151
|
+
|
|
152
|
+
### Credential Management
|
|
153
|
+
|
|
154
|
+
Key Pair Management:
|
|
155
|
+
- Generate secure key pairs
|
|
156
|
+
- Store private key securely
|
|
157
|
+
- Register public key with Auth0
|
|
158
|
+
|
|
159
|
+
Certificate Management:
|
|
160
|
+
- Obtain from trusted CA
|
|
161
|
+
- Register with Auth0
|
|
162
|
+
- Plan for rotation
|
|
163
|
+
|
|
164
|
+
Rotation:
|
|
165
|
+
- Register new credential
|
|
166
|
+
- Deploy to clients
|
|
167
|
+
- Remove old credential
|
|
168
|
+
- Up to two credentials active
|
|
169
|
+
|
|
170
|
+
### Transaction Flow
|
|
171
|
+
|
|
172
|
+
For High-Value Operations:
|
|
173
|
+
|
|
174
|
+
1. Initiate Transaction:
|
|
175
|
+
- User starts sensitive operation
|
|
176
|
+
- Application determines step-up needed
|
|
177
|
+
|
|
178
|
+
2. Authorization with RAR:
|
|
179
|
+
- Include transaction details
|
|
180
|
+
- Use PAR for security
|
|
181
|
+
- Sign request with JAR
|
|
182
|
+
|
|
183
|
+
3. User Authentication:
|
|
184
|
+
- SCA enforced (two factors)
|
|
185
|
+
- Transaction details displayed
|
|
186
|
+
- User confirms authorization
|
|
187
|
+
|
|
188
|
+
4. Token Issuance:
|
|
189
|
+
- Sender-constrained token issued
|
|
190
|
+
- Bound to client credential
|
|
191
|
+
- Contains authorization details
|
|
192
|
+
|
|
193
|
+
5. Execute Operation:
|
|
194
|
+
- Present token to API
|
|
195
|
+
- Validate sender constraining
|
|
196
|
+
- Complete transaction
|
|
197
|
+
|
|
198
|
+
## Security Benefits
|
|
199
|
+
|
|
200
|
+
### Against Common Attacks
|
|
201
|
+
|
|
202
|
+
Token Theft:
|
|
203
|
+
- Tokens bound to client
|
|
204
|
+
- Useless without credential
|
|
205
|
+
- Sender constraining protection
|
|
206
|
+
|
|
207
|
+
Request Manipulation:
|
|
208
|
+
- JAR ensures integrity
|
|
209
|
+
- Signed by client
|
|
210
|
+
- Tampering detected
|
|
211
|
+
|
|
212
|
+
Parameter Exposure:
|
|
213
|
+
- PAR keeps parameters off URL
|
|
214
|
+
- Server-to-server transmission
|
|
215
|
+
- Reduced attack surface
|
|
216
|
+
|
|
217
|
+
Phishing:
|
|
218
|
+
- WebAuthn resists phishing
|
|
219
|
+
- Transaction details visible
|
|
220
|
+
- User confirms actual operation
|
|
221
|
+
|
|
222
|
+
### Regulatory Compliance
|
|
223
|
+
|
|
224
|
+
PSD2 (Europe):
|
|
225
|
+
- SCA requirements met
|
|
226
|
+
- Dynamic linking supported
|
|
227
|
+
- Transaction authentication
|
|
228
|
+
|
|
229
|
+
Open Banking:
|
|
230
|
+
- FAPI-aligned
|
|
231
|
+
- Financial-grade security
|
|
232
|
+
- Regulatory compliance
|
|
233
|
+
|
|
234
|
+
## Best Practices
|
|
235
|
+
|
|
236
|
+
### Security Configuration
|
|
237
|
+
|
|
238
|
+
Enable All Features:
|
|
239
|
+
- Use PAR for all requests
|
|
240
|
+
- Sign requests with JAR
|
|
241
|
+
- Enable sender constraining
|
|
242
|
+
- Enforce SCA appropriately
|
|
243
|
+
|
|
244
|
+
Credential Security:
|
|
245
|
+
- HSM for private keys
|
|
246
|
+
- Secure certificate storage
|
|
247
|
+
- Regular rotation
|
|
248
|
+
- Access controls
|
|
249
|
+
|
|
250
|
+
### User Experience
|
|
251
|
+
|
|
252
|
+
Clear Transaction Display:
|
|
253
|
+
- Show what user authorizes
|
|
254
|
+
- Specific amounts and details
|
|
255
|
+
- No ambiguous permissions
|
|
256
|
+
|
|
257
|
+
Efficient MFA:
|
|
258
|
+
- WebAuthn for seamless experience
|
|
259
|
+
- Push notifications for speed
|
|
260
|
+
- Fallback options available
|
|
261
|
+
|
|
262
|
+
### Operations
|
|
263
|
+
|
|
264
|
+
Monitoring:
|
|
265
|
+
- Log all HRI transactions
|
|
266
|
+
- Monitor for anomalies
|
|
267
|
+
- Alert on failures
|
|
268
|
+
|
|
269
|
+
Testing:
|
|
270
|
+
- Regular security testing
|
|
271
|
+
- Conformance verification
|
|
272
|
+
- Penetration testing
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# JWT Fundamentals
|
|
2
|
+
|
|
3
|
+
JSON Web Tokens (JWTs) are an open standard (RFC 7519) providing a compact, self-contained method for securely transmitting information between parties as a JSON object.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
JWTs consist of three parts separated by dots:
|
|
8
|
+
- Header
|
|
9
|
+
- Payload
|
|
10
|
+
- Signature
|
|
11
|
+
|
|
12
|
+
Format: header.payload.signature
|
|
13
|
+
|
|
14
|
+
### Header
|
|
15
|
+
|
|
16
|
+
Contains metadata about the token:
|
|
17
|
+
- typ: Token type (JWT)
|
|
18
|
+
- alg: Signing algorithm
|
|
19
|
+
|
|
20
|
+
Common Algorithms:
|
|
21
|
+
- HS256: HMAC with SHA-256 (symmetric)
|
|
22
|
+
- RS256: RSA with SHA-256 (asymmetric)
|
|
23
|
+
- ES256: ECDSA with SHA-256 (asymmetric)
|
|
24
|
+
|
|
25
|
+
### Payload
|
|
26
|
+
|
|
27
|
+
Contains claims (statements about the entity and additional data).
|
|
28
|
+
|
|
29
|
+
Registered Claims (standard):
|
|
30
|
+
- iss (issuer): Token issuer
|
|
31
|
+
- sub (subject): Subject identifier
|
|
32
|
+
- aud (audience): Intended recipients
|
|
33
|
+
- exp (expiration): Expiration time
|
|
34
|
+
- nbf (not before): Token valid after this time
|
|
35
|
+
- iat (issued at): Token issue time
|
|
36
|
+
- jti (JWT ID): Unique identifier
|
|
37
|
+
|
|
38
|
+
Public Claims:
|
|
39
|
+
- Registered in IANA JWT Registry
|
|
40
|
+
- Common across implementations
|
|
41
|
+
|
|
42
|
+
Private Claims:
|
|
43
|
+
- Custom claims for specific use
|
|
44
|
+
- Require namespace in Auth0
|
|
45
|
+
|
|
46
|
+
### Signature
|
|
47
|
+
|
|
48
|
+
Ensures token integrity and authenticity.
|
|
49
|
+
|
|
50
|
+
Signature Creation:
|
|
51
|
+
- Encode header and payload
|
|
52
|
+
- Apply signing algorithm
|
|
53
|
+
- Use secret (HS256) or private key (RS256)
|
|
54
|
+
|
|
55
|
+
## Signing Algorithms
|
|
56
|
+
|
|
57
|
+
### HS256 (Symmetric)
|
|
58
|
+
|
|
59
|
+
Characteristics:
|
|
60
|
+
- Single shared secret
|
|
61
|
+
- Secret known by issuer and verifier
|
|
62
|
+
- Simpler key management
|
|
63
|
+
- Must protect secret carefully
|
|
64
|
+
|
|
65
|
+
Use Cases:
|
|
66
|
+
- Single application scenarios
|
|
67
|
+
- Trusted environments
|
|
68
|
+
- Simple implementations
|
|
69
|
+
|
|
70
|
+
### RS256 (Asymmetric)
|
|
71
|
+
|
|
72
|
+
Characteristics:
|
|
73
|
+
- Public/private key pair
|
|
74
|
+
- Private key signs, public key verifies
|
|
75
|
+
- Public key can be shared freely
|
|
76
|
+
- No secret sharing required
|
|
77
|
+
|
|
78
|
+
Advantages:
|
|
79
|
+
- Multiple verifiers without secret sharing
|
|
80
|
+
- Key rotation without application changes
|
|
81
|
+
- Better for distributed systems
|
|
82
|
+
|
|
83
|
+
Auth0 Recommendation: Use RS256 for most scenarios.
|
|
84
|
+
|
|
85
|
+
### Algorithm Comparison
|
|
86
|
+
|
|
87
|
+
HS256:
|
|
88
|
+
- Faster signing/verification
|
|
89
|
+
- Simpler setup
|
|
90
|
+
- Secret must be protected everywhere
|
|
91
|
+
|
|
92
|
+
RS256:
|
|
93
|
+
- Slower but more flexible
|
|
94
|
+
- Only issuer has private key
|
|
95
|
+
- Public key verification
|
|
96
|
+
- Better for microservices
|
|
97
|
+
|
|
98
|
+
## Validation
|
|
99
|
+
|
|
100
|
+
### Signature Verification
|
|
101
|
+
|
|
102
|
+
Steps:
|
|
103
|
+
1. Decode header (base64url)
|
|
104
|
+
2. Identify algorithm
|
|
105
|
+
3. Get verification key (secret or public key)
|
|
106
|
+
4. Verify signature mathematically
|
|
107
|
+
|
|
108
|
+
### Claim Validation
|
|
109
|
+
|
|
110
|
+
Required Checks:
|
|
111
|
+
- exp: Token not expired
|
|
112
|
+
- iss: Issuer matches expected value
|
|
113
|
+
- aud: Audience includes your application
|
|
114
|
+
|
|
115
|
+
Optional Checks:
|
|
116
|
+
- nbf: Current time is after not-before
|
|
117
|
+
- iat: Issued at time is reasonable
|
|
118
|
+
- Custom claims as needed
|
|
119
|
+
|
|
120
|
+
### Key Management
|
|
121
|
+
|
|
122
|
+
For RS256:
|
|
123
|
+
- Retrieve JWKS from issuer
|
|
124
|
+
- Match kid (key ID) in header
|
|
125
|
+
- Cache keys with appropriate TTL
|
|
126
|
+
- Handle key rotation gracefully
|
|
127
|
+
|
|
128
|
+
JWKS Endpoint: {your-domain}/.well-known/jwks.json
|
|
129
|
+
|
|
130
|
+
## Security Considerations
|
|
131
|
+
|
|
132
|
+
### Signed vs Encrypted
|
|
133
|
+
|
|
134
|
+
Auth0 JWTs are Signed (JWS):
|
|
135
|
+
- Signature verifies integrity
|
|
136
|
+
- Content is NOT encrypted
|
|
137
|
+
- Anyone can read payload
|
|
138
|
+
- Only issuer can create valid signature
|
|
139
|
+
|
|
140
|
+
JWE (Encrypted):
|
|
141
|
+
- Content is encrypted
|
|
142
|
+
- Requires decryption key
|
|
143
|
+
- Used for sensitive data
|
|
144
|
+
- More complex implementation
|
|
145
|
+
|
|
146
|
+
### Security Best Practices
|
|
147
|
+
|
|
148
|
+
Never Trust Unverified Tokens:
|
|
149
|
+
- Always verify signature
|
|
150
|
+
- Always check claims
|
|
151
|
+
- Use established libraries
|
|
152
|
+
|
|
153
|
+
Sensitive Data:
|
|
154
|
+
- Never store sensitive data in JWT payload
|
|
155
|
+
- Payload is only base64 encoded, not encrypted
|
|
156
|
+
- Assume payload contents are public
|
|
157
|
+
|
|
158
|
+
Transmission:
|
|
159
|
+
- Always use HTTPS
|
|
160
|
+
- Never include in URL parameters
|
|
161
|
+
- Use Authorization header
|
|
162
|
+
|
|
163
|
+
Algorithm Attacks:
|
|
164
|
+
- Never accept "none" algorithm
|
|
165
|
+
- Specify expected algorithm in verification
|
|
166
|
+
- Use library that enforces algorithm
|
|
167
|
+
|
|
168
|
+
## Common Vulnerabilities
|
|
169
|
+
|
|
170
|
+
### Algorithm Confusion
|
|
171
|
+
|
|
172
|
+
Attack: Changing RS256 to HS256 and using public key as secret.
|
|
173
|
+
|
|
174
|
+
Prevention:
|
|
175
|
+
- Explicitly specify expected algorithm
|
|
176
|
+
- Use libraries that require algorithm specification
|
|
177
|
+
|
|
178
|
+
### Token Injection
|
|
179
|
+
|
|
180
|
+
Attack: Modifying payload and re-signing with weak key.
|
|
181
|
+
|
|
182
|
+
Prevention:
|
|
183
|
+
- Use strong keys
|
|
184
|
+
- Validate all claims
|
|
185
|
+
- Check issuer strictly
|
|
186
|
+
|
|
187
|
+
### Replay Attacks
|
|
188
|
+
|
|
189
|
+
Attack: Reusing captured tokens.
|
|
190
|
+
|
|
191
|
+
Prevention:
|
|
192
|
+
- Short expiration times
|
|
193
|
+
- Use jti claim for uniqueness
|
|
194
|
+
- Implement token binding (DPoP)
|
|
195
|
+
|
|
196
|
+
## Implementation
|
|
197
|
+
|
|
198
|
+
### Using Libraries
|
|
199
|
+
|
|
200
|
+
Recommended:
|
|
201
|
+
- Use official Auth0 SDKs
|
|
202
|
+
- Use well-maintained JWT libraries
|
|
203
|
+
- Avoid custom implementations
|
|
204
|
+
|
|
205
|
+
Popular Libraries:
|
|
206
|
+
- Node.js: jsonwebtoken, jose
|
|
207
|
+
- Python: PyJWT, python-jose
|
|
208
|
+
- Java: java-jwt, nimbus-jose-jwt
|
|
209
|
+
- .NET: System.IdentityModel.Tokens.Jwt
|
|
210
|
+
|
|
211
|
+
### Caching
|
|
212
|
+
|
|
213
|
+
JWKS Caching:
|
|
214
|
+
- Cache public keys
|
|
215
|
+
- Set appropriate TTL
|
|
216
|
+
- Invalidate on verification failure
|
|
217
|
+
- Handle rotation gracefully
|
|
218
|
+
|
|
219
|
+
Token Caching:
|
|
220
|
+
- Cache validation results
|
|
221
|
+
- Consider token lifetime
|
|
222
|
+
- Invalidate on expiration
|
|
223
|
+
|
|
224
|
+
## Auth0 Specifics
|
|
225
|
+
|
|
226
|
+
### Token Signing
|
|
227
|
+
|
|
228
|
+
Auth0 uses:
|
|
229
|
+
- RS256 by default for ID tokens
|
|
230
|
+
- Configurable per API for access tokens
|
|
231
|
+
- Tenant-specific signing keys
|
|
232
|
+
|
|
233
|
+
### JWKS Location
|
|
234
|
+
|
|
235
|
+
Endpoint: https://{your-tenant}.auth0.com/.well-known/jwks.json
|
|
236
|
+
|
|
237
|
+
Contains:
|
|
238
|
+
- Public keys for verification
|
|
239
|
+
- Key IDs for matching
|
|
240
|
+
- Algorithm information
|
|
241
|
+
|
|
242
|
+
### Key Rotation
|
|
243
|
+
|
|
244
|
+
Auth0 rotates signing keys:
|
|
245
|
+
- New key added to JWKS
|
|
246
|
+
- Old key remains temporarily
|
|
247
|
+
- Applications should handle multiple keys
|
|
248
|
+
- Cache should handle rotation gracefully
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Mobile Driver's License Verification
|
|
2
|
+
|
|
3
|
+
Module: moai-security-auth0/modules/mdl-verification.md
|
|
4
|
+
Version: 1.0.0
|
|
5
|
+
Last Updated: 2025-12-24
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Auth0's Mobile Driver's License (mDL) Verification Service enables applications to validate Verifiable Credentials, specifically mobile driver's licenses. The service is designed for organizations needing to verify user credentials containing sensitive personally identifiable information (PII).
|
|
12
|
+
|
|
13
|
+
Status: Early Access - Requires completion of Terms and Conditions form for enablement.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Key Use Cases
|
|
18
|
+
|
|
19
|
+
### Age Verification
|
|
20
|
+
|
|
21
|
+
Verify that users meet minimum age requirements for age-restricted services or purchases.
|
|
22
|
+
|
|
23
|
+
### License and Driving Privilege Validation
|
|
24
|
+
|
|
25
|
+
Confirm that users hold valid driver's licenses with appropriate privileges.
|
|
26
|
+
|
|
27
|
+
### Identity Verification
|
|
28
|
+
|
|
29
|
+
Use driver's licenses as proof of identity, which is accepted in many countries.
|
|
30
|
+
|
|
31
|
+
### KYC and AML Compliance
|
|
32
|
+
|
|
33
|
+
Support Know Your Customer (KYC) and Anti-Money Laundering (AML) compliance processes with verified identity documents.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## How It Works
|
|
38
|
+
|
|
39
|
+
### Verification Workflow
|
|
40
|
+
|
|
41
|
+
Step 1: Application initiates a Verification Presentation Request via the mDL API.
|
|
42
|
+
|
|
43
|
+
Step 2: API returns an engagement URI and Verification ID.
|
|
44
|
+
|
|
45
|
+
Step 3: Application presents the URI to the user. QR code format is recommended for multi-device scenarios.
|
|
46
|
+
|
|
47
|
+
Step 4: User opens their mobile wallet and consents to sharing their mDL credential.
|
|
48
|
+
|
|
49
|
+
Step 5: Application polls the API to check presentation request status.
|
|
50
|
+
|
|
51
|
+
Step 6: API returns the verification result with requested credential data.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Technical Implementation
|
|
56
|
+
|
|
57
|
+
### Integration Methods
|
|
58
|
+
|
|
59
|
+
Direct API Integration: Embed the Mobile Driver's License Verification API directly into applications for full control.
|
|
60
|
+
|
|
61
|
+
Low-Code Solution: Use Auth0 Forms as a pre-built interface for simpler implementation.
|
|
62
|
+
|
|
63
|
+
### Configuration Requirements
|
|
64
|
+
|
|
65
|
+
Verification Template Setup: Configure a Verification Template (VT) specifying which credential fields to request.
|
|
66
|
+
|
|
67
|
+
Available Fields:
|
|
68
|
+
- Date of birth
|
|
69
|
+
- Address
|
|
70
|
+
- Family name
|
|
71
|
+
- Given name
|
|
72
|
+
- Document number
|
|
73
|
+
- Expiry date
|
|
74
|
+
- Issuing authority
|
|
75
|
+
|
|
76
|
+
API Configuration: Set up the Verifiable Digital Credential API through:
|
|
77
|
+
- Auth0 Dashboard interface
|
|
78
|
+
- Management API programmatic setup
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Compliance and Standards
|
|
83
|
+
|
|
84
|
+
### ISO Standards
|
|
85
|
+
|
|
86
|
+
The service references ISO/IEC TS 18013-7:2024 (REST API) standards for mobile driver's license verification.
|
|
87
|
+
|
|
88
|
+
### Privacy Considerations
|
|
89
|
+
|
|
90
|
+
Selective Disclosure: Users can consent to share only specific fields from their credential.
|
|
91
|
+
|
|
92
|
+
Minimized Data Collection: Request only the fields necessary for your use case.
|
|
93
|
+
|
|
94
|
+
Secure Transmission: All credential data is transmitted securely.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Implementation Steps
|
|
99
|
+
|
|
100
|
+
### Step 1: Enable the Service
|
|
101
|
+
|
|
102
|
+
Contact Auth0 to complete the Early Access Terms and Conditions.
|
|
103
|
+
|
|
104
|
+
Enable the mDL Verification Service in your tenant.
|
|
105
|
+
|
|
106
|
+
### Step 2: Configure Verification Template
|
|
107
|
+
|
|
108
|
+
Navigate to Dashboard then Credentials then Verification Templates.
|
|
109
|
+
|
|
110
|
+
Create a new Verification Template.
|
|
111
|
+
|
|
112
|
+
Specify the credential fields to request.
|
|
113
|
+
|
|
114
|
+
Configure presentation requirements.
|
|
115
|
+
|
|
116
|
+
### Step 3: Implement API Integration
|
|
117
|
+
|
|
118
|
+
Initialize verification requests through the mDL API.
|
|
119
|
+
|
|
120
|
+
Handle engagement URI presentation to users.
|
|
121
|
+
|
|
122
|
+
Implement polling logic for verification status.
|
|
123
|
+
|
|
124
|
+
Process verification results.
|
|
125
|
+
|
|
126
|
+
### Step 4: Handle Verification Results
|
|
127
|
+
|
|
128
|
+
Parse the returned credential data.
|
|
129
|
+
|
|
130
|
+
Validate the verification status.
|
|
131
|
+
|
|
132
|
+
Implement business logic based on verification outcome.
|
|
133
|
+
|
|
134
|
+
Handle error cases appropriately.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## User Experience Considerations
|
|
139
|
+
|
|
140
|
+
### QR Code Presentation
|
|
141
|
+
|
|
142
|
+
For multi-device scenarios, present the engagement URI as a QR code.
|
|
143
|
+
|
|
144
|
+
Users scan the QR code with their mobile device.
|
|
145
|
+
|
|
146
|
+
Mobile wallet opens automatically for credential sharing.
|
|
147
|
+
|
|
148
|
+
### Same-Device Flow
|
|
149
|
+
|
|
150
|
+
For mobile applications, deep linking can open the wallet directly.
|
|
151
|
+
|
|
152
|
+
Streamlined experience without QR code scanning.
|
|
153
|
+
|
|
154
|
+
### Consent Flow
|
|
155
|
+
|
|
156
|
+
Users explicitly consent to sharing credential data.
|
|
157
|
+
|
|
158
|
+
Clear indication of which fields will be shared.
|
|
159
|
+
|
|
160
|
+
Option to decline or cancel the verification.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Security Best Practices
|
|
165
|
+
|
|
166
|
+
Data Handling: Store and process credential data according to privacy regulations.
|
|
167
|
+
|
|
168
|
+
Access Control: Limit access to verification results to authorized personnel.
|
|
169
|
+
|
|
170
|
+
Audit Logging: Maintain logs of verification requests for compliance.
|
|
171
|
+
|
|
172
|
+
Data Retention: Define and implement appropriate data retention policies.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Error Handling
|
|
177
|
+
|
|
178
|
+
### Common Scenarios
|
|
179
|
+
|
|
180
|
+
User Declined: User chose not to share their credential.
|
|
181
|
+
|
|
182
|
+
Credential Not Found: User does not have a compatible mDL.
|
|
183
|
+
|
|
184
|
+
Verification Failed: Credential could not be verified.
|
|
185
|
+
|
|
186
|
+
Timeout: Verification request expired before completion.
|
|
187
|
+
|
|
188
|
+
### Recovery Actions
|
|
189
|
+
|
|
190
|
+
Provide clear messaging to users about what went wrong.
|
|
191
|
+
|
|
192
|
+
Offer alternative verification methods if available.
|
|
193
|
+
|
|
194
|
+
Allow users to retry the verification process.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Related Modules
|
|
199
|
+
|
|
200
|
+
- compliance-overview.md: Compliance requirements
|
|
201
|
+
- gdpr-compliance.md: Privacy considerations
|
|
202
|
+
- highly-regulated-identity.md: Regulated identity features
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Resources
|
|
207
|
+
|
|
208
|
+
Auth0 Documentation: Mobile Driver's License Verification
|
|
209
|
+
Auth0 Documentation: Verifiable Credentials
|
|
210
|
+
ISO/IEC TS 18013-7:2024: mDL REST API Specification
|
|
211
|
+
Context7 Library: /auth0/auth0-docs (topic: mdl-verification)
|