mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-28 00:12:04 +00:00
Fixtures show both implementations compute the same values. This adds the
missing half: proof they can read each other's on-disk profiles and
backups, using each side's real code paths.
scripts/cross_impl_check.py (12 checks, wired into CI):
A. Python creates a profile -> TS opens the index, derives every secret
identically, and unlocks it with the master password alone
B. TS creates a profile -> Python decrypts parent_seed.enc and the index,
recovers the same seed, derives the same secrets
C. Portable backups round-trip both directions (Python verifies the
checksum of a TS-written export)
D. Both implementations reject a bad-checksum mnemonic
Two real compatibility bugs it caught, both fixed:
- TS-created profiles were unopenable by Python. Python only honors the
recorded parent-seed KDF parameters when kdf.name is exactly "pbkdf2";
TS wrote "pbkdf2-sha256" with an empty salt and 100k iterations, so
Python fell back to its config defaults (200k, fingerprint salt) and
derived a different key. TS now writes exactly what
PasswordManager._build_seed_kdf_config does, and its own unlock path
honors the recorded salt and iteration count.
- TS accepted invalid BIP-39 mnemonics. Seed derivation takes any string,
so a typo'd phrase silently produced a *different* vault -- unopenable
by Python and unrecoverable by the user. Mnemonics are now validated
wherever they enter (profile creation and SEEDPASS_MNEMONIC), with an
error that says why it matters.
Also: docs/typescript_cutover_plan.md records the gate list for promoting
TS to main and retiring Python to legacy/reference -- P0 gates 1-4 are
green, 5-7 (feature parity tail, packaging, migration/rollback) are not.
The Python tree stays in CI after cutover as the compatibility oracle.
Regression tests for both bugs. 151 core + 46 CLI tests green,
12/12 cross-implementation checks green.
Co-Authored-By: Claude Fable 5 <[email protected]>
SeedPass Docs
This directory contains SeedPass project documentation.
Start Here
dev_control_center.md(single source to decide what to do next)
Agent and Autonomy Docs
agent_autonomy_security_plan.mdpolicy_as_code.mdsync_conflict_contract.md
Core Security Docs
security_readiness_checklist.mdthreat_model.mdcrypto_key_management_review.mdsecret_handling_local_exposure_review.mdauth_lock_unlock_access_review.mdsupply_chain_release_integrity.mdrelease_verification_runbook.mdrelease_protection_policy.mdoperational_runbooks.mdstaged_rollout_runbook.md
Architecture and Product Docs
ARCHITECTURE.mdSPEC.mdtypescript_web_extension_port_plan.mdentry_types.mdentry_graph.mdtui_v3_plan.md(active roadmap for scratch rebuild)tui_v2_plan.md(legacy logic reference)tui_v2_parity_checklist.mdtui_v2_parity_backlog.mdtui_v2_legacy_parity_matrix.mdtui_v2_ui_refresh_plan.mdsemantic_vector_index_plan.mdtui_v2_cutover_decision.mdtui_v2_large_vault_validation.mdsecurity.mdnostr_setup.mdnostr_namespace_reset.mdpackaging.md
QA and Testing Docs
TEST_INVENTORY.md(central index of all tests and runners)agent_testing_roadmap.mdai_agent_tui_testing.mdagent_test_format.mdinstaller_testing.mdkb_scale_validation.mdci-health-2026-02-19.mdagent-handoffs/README.md
Discoverability Commands
seedpass --helpseedpassseedpass tui2seedpass --legacy-tuiseedpass legacyseedpass <group> --helpseedpass tui2 --helpseedpass tui2 --checkseedpass capabilities --format jsonseedpass agent bootstrap-context