Skip to content

UCHIZU / SYSTEM & DATA

家の情報を守りながら、
地域の答えへつなぐ。

UCHIZUは、端末内だけで使える経路を残しながら、利用者が選んだ場合に限ってクラウドや外部サービスへ接続します。公開データ、家庭データ、AIの役割を混ぜないことが設計の中心です。

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

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

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

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

住所階層5,930町字

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

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

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

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

システム全体像

STATIC DELIVERYCloudflare Pages

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

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

地域の捨て方を調べる

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

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

セキュリティの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

便利さより先に、
境界を設計する。

実装済み、限定対応、未検証、将来構想を分けた最新情報は実装状況、自治体別の数字はデータ対応範囲をご覧ください。

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