Skip to content

システム構成

家の情報をどこに保存し、どんなときに外部サービスへ送るのか。端末だけで使う場合と、家族共有や写真解析を使う場合に分けて説明します。

CURRENT IMPLEMENTATION / SYSTEM

動いている仕組みと、まだ実証が必要な部分を分ける。

UCHIZUは端末内で完結する日常利用を中心に、共有・外部データ・AIを必要な操作からだけ接続します。ここでは画面やコードにある機能と、本番環境・実機で追加検証が必要な項目を同じ言葉で扱いません。

PUBLIC SNAPSHOT2026.09.01
01 / CORE実装済み

Homeから、登録・場所・検索・管理・次の行動へ

写真、JAN・バーコード、商品URL、メーカー・型番、手入力を同じ確認画面へ収束し、場所・在庫・期限・保証・履歴へつなぎます。

02 / HOUSEHOLD本番検証が残る

世帯を、共有と権限の境界にする

家族共有は、同じ世帯のモノや保存場所を、招待した家族と一緒に見たり編集したりする機能です。管理者(owner)・編集者(editor)・閲覧者(viewer)の役割で、できる操作を分けます。

買い物リストとの連携は、家族共有とは別の仕組みです。登録済みのモノに紐付いた買い物を完了すると、そのモノの在庫数を更新します。どのモノが更新されるかを、完了前に利用者へ示します。

確認状況:招待・役割・買い物との連携は実装されています。本番サービスを使った複数人・複数実機での確認は、別途必要です。

03 / EVACUATION画面・機能実装済み

保存地図で、近い避難所と選び直した経路を示す

利用時に現在地を許可し、保存済みの東京都データから候補を表示します。候補を変えると終点と経路も更新します。経路は移動の参考であり、通行可否や開設状況の保証ではありません。

04 / OPTIONAL条件付き

クラウド・AI・外部サービスは、選んだ時だけ

ゲスト利用を残したまま、共有、写真解析、商品情報、通知などを明示操作から接続します。未取得値や候補を、確定情報として保存・表示しません。

利用しているデータの規模 ​

数が大きいこと自体を価値とは考えていません。登録した地域やモノによって答えが変わり、次の行動へ変換できるデータだけを選びます。

分別関連レコード34,026品目・例 33,286件 + 公式資料ページ索引 740件
地域設定62自治体

東京都内の区市町村等を地域選択の対象として管理

住所階層5,930町字

住所対応と各機能の対応範囲は分けて判定

収集日判定32 直接 + 30 追加条件

街区、集合住宅、町会、公式地区などの条件差を保持

数字は機能ごとに意味が異なります
62自治体で同じ粒度の料金、収集日、品目判定を提供するという意味ではありません。機能別の内訳と制約はデータ対応範囲で公開しています。

システム全体像 ​

STATIC DELIVERYCloudflare Pages

アプリのWeb bundleと公開Wikiを配信します。家庭データを保管するDatabaseではありません。

端末内:家の情報を保存する

家・場所・モノの登録や検索は、ゲストのまま使えます。クラウドや外部サービスの設定は必須ではありません。

例えば、モノの名前と置き場所を登録して、あとから検索する。この基本の使い方は、端末内の保存を土台にしています。

世帯クラウド:招待した家族と共有する

家族と同じ情報を見るときは、ログインして世帯の共有機能を使います。読み書きできる範囲は、所属する世帯と役割で分けます。

ログインした人なら、誰でも他の家庭の情報を見られるという仕組みではありません。

外部サービス:選んだ操作に必要な情報を送る

写真解析や商品検索は、利用者がその機能を選んだときに使います。解析結果や取得した商品情報は、確認・修正してから登録します。

サービスを使えない場合も、手入力や公式の案内を確認する方法を残します。公式情報と、AIによる補助的な提案は区別します。

使用する技術と、技術ごとの確認状況
01 / DEVICE利用者の端末
Expo AppReact Native / Expo Router
Local repositoryゲスト利用・オフライン継続
Encrypted storageNativeはAES-256-GCM、鍵はSecureStore
実装済みWeb previewのlocal保存は暗号化対象外
02 / CLOUD BOUNDARYSupabase
Auth + PostgreSQL世帯状態、役割、revision、RLS
Private Storage写真・説明書・保証書、署名付きURL
Edge Functions秘密鍵、外部API、入力・送信境界
遠隔自動検証済み物理端末の連続運用は未検証
03 / DATA & SERVICES公式データ・任意サービス
東京都・自治体の公式情報snapshot、自治体別shard、SQLite索引
OpenAI・商品Provider写真候補、商品名・型番検索のみ
Expo Push・Google Calendar任意接続。本番・物理端末検証に制約
機能ごとに条件付き失敗時は手入力・公式原典へ戻る

重要な境界:AIは品目や型番の候補を作れますが、分別区分、収集日、料金、施設状態を生成しません。公式データを安全に判定できない場合は、推測せず原典へ案内します。

データが流れる3つの場面 ​

01

LOCAL FIRST

モノを登録する

写真・手入力確認・修正端末保存

AIを使わなければ写真と家庭データは端末内で完結します。Nativeの保存状態は暗号化し、ゲストとして主要機能を利用できます。

02

OPTIONAL CLOUD

家族と共有する

本人確認RLS判定世帯同期

クラウドを選んだ場合だけ世帯状態を同期します。owner、editor、viewerの権限をDatabaseとアプリの両方で判定します。

03

OFFICIAL ACTION

地域の捨て方を調べる

モノ+地域公式条件行動計画

更新スクリプトで確認した自治体別データを読み、必要条件、結論、手順、注意、原典を一つの導線へ変換します。

PREPAREDNESS / LOCAL STATE / OFFICIAL DATA

家庭の備えと、地域の参考情報を同じ状態に混ぜない。

「もしもの備え」は一つの巨大な防災画面ではありません。家庭が登録したモノ、世帯構成、公式データ由来の候補、現在地、通信が必要な情報を分離し、最初の画面から目的ごとに進めます。

SIX ENTRIESONE HOME
家庭の事実世帯構成、登録済みの備蓄、数量、置き場所を、通常のモノ情報と同じリポジトリ境界から参照端末内優先
共通目安大人・子ども・乳幼児などから共通部分だけを計算し、個別に必要なものには一律目標を設定しない8分類
公式データ避難先と給水拠点は、施設の役割、適合情報、開設状況、出典を保持した参考スナップショットとして保存状態を分離
オフライン境界端末で確認できる内容、事前保存した参考情報、通信が必要な処理、未登録の内容を四つの状態に分ける可視化済み
現在地と経路現在地は利用者が要求した検索中だけ使い、正確な座標は家庭データへ保存しない。新しい外部地図の参考ルートには通信が必要安全保証なし

LOCATION / SAVED MAP / ROUTE

現在地から近い避難所を出し、
選んだ経路を地図へ表示する。

位置情報は避難ナビを開いて許可した時だけ取得します。端末に保存した東京都の避難所データと照合し、近い候補の表示から経路確認までを一つの画面で行います。
01 / PERMISSION現在地を必要時だけ取得

利用者が許可した時だけ端末の現在地を取得します。許可前でも保存地図と避難所の全体表示は確認できます。

02 / NEARBY近い避難所を地図と一覧へ

保存済みの避難所座標と現在地を照合し、近い候補を見つけやすい順に表示します。

03 / ROUTE選択先までの経路を描画

一覧または地図の避難所を押すと、その施設を終点として保存地図上に経路を表示します。候補を変えれば終点と経路も更新します。

現在地を許可 → 近い候補を表示 → 避難所を選択 → 経路を表示 → 候補変更で経路を更新

LOCATION現在地は候補の並び替えと経路表示に使用常時取得ではなく、避難ナビで許可した時に利用します。

OFFICIAL DATA東京都の避難所・避難場所データが候補の正本名称、種別、座標、出典、データ基準日を保持します。

OFFLINE保存済み範囲は通信がなくても確認保存地図、避難所データ、端末の現在地を使って候補と経路を表示します。

PERMISSION位置情報は機能を使う時だけ

アプリ起動時には求めず、避難ナビで近い候補を確認する操作に合わせて許可を求めます。

NEARBY現在地と施設座標を照合

赤い施設点と現在地を同じ保存地図上へ重ね、近い候補を一覧でも選べるようにします。

ROUTE選択した施設を終点にする

候補を押すと現在地からその施設までの経路を描きます。別の候補を選ぶと、終点と経路を新しい施設へ更新します。

PROVENANCE候補には公式データの出典を残す

施設名、種別、座標とともに、東京都の提供元、基準日、原典への入口を保持します。

技術上の境界: 表示する経路は移動の参考であり、災害による道路の寸断、通行止め、危険箇所、施設の開設・受入・安全性をリアルタイムに判定するものではありません。自治体の最新情報と現地状況を優先してください。

セキュリティの6層 ​

01端末内の保護

Nativeの業務データはAES-256-GCMで暗号化し、鍵を端末限定のSecureStoreへ分離します。

02世帯ごとの分離

Databaseのmembershipを正本とし、RLSとアプリのmutation境界で権限外の操作を拒否します。

03非公開ファイル

写真や書類は非公開Storageへ置き、必要な時だけ短時間の署名付きURLを発行します。

04秘密鍵を端末へ置かない

AI、商品検索、Google連携の秘密情報はEdge Function側へ置き、クライアントへ含めません。

05外部送信を最小化

送信は利用者が機能を選んだ時だけ。商品検索へ住所、場所階層、所有物一覧を送りません。

06削除と復元

通常削除は30日間復元可能にし、完全削除とアカウント削除ではDatabaseとStorageを対象にします。

セキュリティ実装と本番保証は同じではありません
RLS、非公開Storage、世帯権限、アカウント削除は遠隔自動検証済みです。一方、物理端末2台のRealtime、署名URLの実時間失効、Push、Google OAuth、scheduled purgeを含む本番連続運用には未検証項目があります。

構成要素と役割 ​

構成要素主な役割家庭データとの関係現在の状態
Expo / React NativeiOS・Android・WebのUIと端末機能端末内repositoryを通じて操作実装済み
Cloudflare PagesWeb bundleと公開Wikiの静的配信家庭データのDatabaseではない公開中
Supabase Authメール認証とsessionクラウド利用を選んだ場合実装済み
PostgreSQL + RLS世帯状態、役割、同期revisionhousehold単位で分離遠隔自動検証済み
Private Storage写真、説明書、保証書、レシート非公開object pathと署名URL遠隔自動検証済み
Edge FunctionsAI・商品API・OAuth等のserver境界secretと送信項目を端末から分離実装済み・接続条件あり
自治体別runtime asset分別、収集日、回収・リユース読み取り専用の公式情報機能別coverage
OpenAI・商品Provider候補生成と商品検索利用者の選択時だけ送信任意・条件付き
Expo Push・Google Calendar通知と専用予定連携明示的な有効化が必要本番・物理端末未検証あり

公式データの更新方法 ​

01原典を取得東京都・自治体のCSV、HTML、PDF
02変更だけ抽出ETag、Last-Modified、hash
03人が確認条件、出典、利用許諾、更新日
04assetを生成自治体別JSON shard・SQLite索引
05アプリで判定不明時は公式原典へfallback

DESIGN PRINCIPLE

できることを増やす前に、
しないことを決める。

家の情報を誰が見られるか。何を外部へ送るか。AIに何を判断させないか。UCHIZUは便利な機能を加える前に、その線引きを決めています。実装済み、限定対応、未検証、将来構想を分けた最新情報は実装状況、自治体別の数字はデータ対応範囲をご覧ください。

公式情報は提供元の原典を優先してください。構想は現在提供中の機能ではありません。