Skip to content

共有相手の鍵確認と実添付の暗号化を正式APIへ接続 - #701

Merged
mashfromband merged 24 commits into
mainfrom
feat/todo1163-encrypted-attachments
Oct 10, 2026
Merged

mashfromband merged 24 commits into
mainfrom
feat/todo1163-encrypted-attachments

Conversation

@mashfromband

@mashfromband mashfromband commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

暗号化した項目と実添付を同じ取引で保存するAPI、SDK、WASM接続と、相手の公開コードを独立して照合するWeb画面を追加します。添付の名前と任意バイトは端末で暗号化し、版・鍵世代・認証済み項目参照と保存状態を照合します。現在の参加状態と相手の鍵を共有直前にも確認します。

更新・削除・完全一致再送・削除ID予約、全添付を含む鍵更新と隔離復元を扱います。Webの添付操作と除名・全形式移行・各クライアントの接続は元ToDo1163で続けます。

検証: 統合workspace241件・省略0とdoctest、Web型/build・10言語467キー、正式Node/PG/Coreの添付1020判定、実Rust SDKの正式API/PG2300判定が成功しました。Core140、SDK50、WASM Node11、Worker Native42の各関連検査も成功。実WASM→TypeScript/Reactの接続をCIへ追加し、添付ありsnapshotの正常2形式と不正8形式を検査します。実Chromeは双方の公開コード、誤コード拒否、配布前404、暗号化保存とDB平文なし、320pxのja/en/ruを確認済みです。

Webの最終的な鍵配布と受信は、使い捨ての架空相手でも自動承認レビューが具体的な承認不足として拒否したため、その範囲の確認を待っています。この画面成功の証拠には、API/SDKの成功を代用しません。

Linuxの復元CIで所有確認表の初期化漏れを再現・修復しました。CI中断時にも検証用Docker資源を所有2ラベルで回収し、別ラベルを保持する実回帰を加えました。Android統合後に失敗したCodeQLも、正式debug APKをビルドする方式へ直し、6言語すべてが成功・結果0件です。全追加差分の別モデルレビューはMust/Should0。候補d0846ecは全51チェックが成功し、失敗・待機0、Vercel成功です。

復旧・クラウド方式の案内を同期し、承認済みの税込価格・月払い・解約・返金・保持期間を仕様へ記録しました。全22条件と販売・課金の開始は元1163に保持します。物理端末、署名配布、Railwayの実復元、契約実装などは未達です。

Closes #700


Note

High Risk
Changes encrypted-storage schema, atomic mutations, sharing rotation commit paths, and attachment request parsing—security- and data-integrity-critical areas with broad CI and SDK surface area.

Overview
Adds encrypted file attachments end-to-end: Core encrypts names and bytes in independent envelopes; PostgreSQL stores public ciphertext with atomic item + attachment CAS, tombstones, budgets (1024 files / 1GiB per box), and key rotation staging/commit for every live attachment.

The Node API exposes GET/PUT/DELETE on item attachments and sharing snapshot/rotation routes; attachment bodies bypass JSON.parse normalization via requestJson into strict Rust validation. passshare-connect gains attachment transport and sharing snapshot/stage helpers with contract tests.

CI runs --encrypted-attachments acceptance (Node + Docker image), expands cloud-wasm with mobile pnpm and web transport acceptance, adds a CodeQL matrix (including Tauri Android debug APK), and hardens encrypted-storage Docker cleanup labels.

Docs and guides are updated for owner-encrypted cloud vs Connect, recovery paths, approved tax-inclusive billing terms, and attachment/Web worker specs. Frontend/WASM wiring is implied by workflow path filters and PR scope but is not in the shown diff chunk.

Reviewed by Cursor Bugbot for commit d0846ec. Bugbot is set up for automated code reviews on this repo. Configure here.

…ted-attachments

# Conflicts:
#	shared/i18n/locales/de.json
#	shared/i18n/locales/en.json
#	shared/i18n/locales/es.json
#	shared/i18n/locales/fr.json
#	shared/i18n/locales/ja.json
#	shared/i18n/locales/ko.json
#	shared/i18n/locales/pt-BR.json
#	shared/i18n/locales/ru.json
#	shared/i18n/locales/zh-CN.json
#	shared/i18n/locales/zh-TW.json
…pted-attachments

# Conflicts:
#	frontend/src/content/docs/en.ts
#	frontend/src/content/docs/ja.ts
#	frontend/src/content/docs/ru.ts
#	shared/i18n/locales/de.json
#	shared/i18n/locales/en.json
#	shared/i18n/locales/es.json
#	shared/i18n/locales/fr.json
#	shared/i18n/locales/ja.json
#	shared/i18n/locales/ko.json
#	shared/i18n/locales/pt-BR.json
#	shared/i18n/locales/ru.json
#	shared/i18n/locales/zh-CN.json
#	shared/i18n/locales/zh-TW.json
@vercel

vercel Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pass-share-frontend Ready Ready Preview Oct 10, 2026 9:31pm UTC

Request Review

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@mashfromband
mashfromband marked this pull request as ready for review October 10, 2026 22:05
@mashfromband
mashfromband merged commit f60c927 into main Oct 10, 2026
52 checks passed
@mashfromband
mashfromband deleted the feat/todo1163-encrypted-attachments branch October 10, 2026 22:05
@cursor

cursor Bot commented Oct 10, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: 4b7d8f8a-30c2-40bd-a651-6ee61865273e)

This branch was previously deployed

1 inactive deployment
Preview — d0846ec2 Deployed Oct 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

共有相手の鍵確認と実添付の暗号化を正式APIへ接続する

2 participants