forked from collective/collective.googleauthenticator
-
Notifications
You must be signed in to change notification settings - Fork 0
Phase 3: Encrypted Seeds and Local QR #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
83d4459
docs(03): research phase domain
chris-adam 209d045
docs(03): add validation strategy
chris-adam 1420fd3
docs(03): add pattern map
chris-adam 908d39b
docs(03): create phase plan
chris-adam fdda93e
docs(03): record phase planned — 3 plans ready to execute
chris-adam 439ce05
docs: cross-AI review for phase 3
chris-adam d766d09
docs(03): replan phase 3 on cross-AI review feedback
chris-adam 1838992
feat(03-01): encrypt TOTP seeds with Fernet, render QR in-process, fi…
chris-adam 16ea5b9
test(03-01): assert fail-closed on enrollment, login, per-call key re…
chris-adam cdd1681
fix(03-01): stop reporting bulk-enable success when the seed key is b…
chris-adam 549b09a
docs(03-01): complete encrypted-seeds-and-local-qr plan
chris-adam 754609f
feat(03-02): log CRITICAL at boot when the seed key is missing (SEC-08)
chris-adam 6038396
docs(03-02): settle the SEC-07 four-places accounting, document DOC-03
chris-adam c76a67b
docs(03-02): complete encrypted-seeds-and-local-qr plan
chris-adam aa9f5fb
fix(03-03): constant-time bar-code reset token comparison at both sites
chris-adam f61be76
test(03-03): lock BUG-02's redirect invariant; changelog for the phase
chris-adam 5568607
docs(03-03): complete encrypted-seeds-and-local-qr plan
chris-adam e6c089b
docs(03): add code review report
chris-adam 77fbbe8
test(03): persist human verification items as UAT
chris-adam 82b9a02
test(03): UAT issue - 2FA bypass for Zope-root account, 500 on null seed
chris-adam 9beec32
test(03): UAT re-run confirms interception; new gap G-03-3 (reset email)
chris-adam 1401d65
test(03): complete UAT - 1 passed, 0 issues; criterion 4 verified end…
chris-adam d8cda87
fix(03): pass charset to MailHost so the reset email survives non-ASCII
chris-adam 3d97681
fix(03): refuse a token when the user has no stored seed
chris-adam 01a8c04
fix(03): refuse 2FA enrolment for accounts the plugin cannot gate
chris-adam 3a45ccd
docs(03): close both residual evidence gaps by observation
chris-adam 08b5fcc
test(03): add Nyquist validation tests for SEC-07 and DOC-03
chris-adam 45a4d28
docs(03): reconstruct validation strategy, nyquist_compliant true
chris-adam 9a263dd
docs: audit milestone v1.0 - 31/71 requirements, 3/8 phases
chris-adam 37ecb26
test(01): add Nyquist validation tests for RENAME-06 and DOC-04
chris-adam aee5eb0
docs(01): reconcile validation strategy, nyquist_compliant true
chris-adam 4ce7e41
fix(01): strip inline comment from wave_0_complete frontmatter value
chris-adam 7a845a7
test(02): correct requirement id on the import-step declaration test
chris-adam 4307890
docs(02): reconstruct validation strategy, nyquist_compliant true
chris-adam 6bb0032
docs: refresh milestone audit - Nyquist now compliant across all buil…
chris-adam 1023e05
test(03): UAT session 2 - 3 passed, 0 issues
chris-adam 0b66236
docs: transition phase 03 complete, correct stale progress figures
chris-adam 8c1dd22
docs(03): ship phase 3 — PR #3 [ci skip]
chris-adam cd23705
docs(03): sync STATE body with shipped frontmatter [ci skip]
chris-adam File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Clarify SEC-07’s configuration ownership.
This says the key is “present” in
[instance]and the CI workflow, but the phase records state that the production[instance]value is supplied by the separate Puppet repository and CI inherits it through[testenv]. Rewrite SEC-07 to distinguish “configured by deployment” from “inherited by CI”; otherwise this can be incorrectly audited as a four-file edit in this repository.🤖 Prompt for AI Agents