プライバシーポリシー / Privacy Policy
最終更新 / Last updated: 2026-08-14
日本語
1. これは何のアプリか
「つくりば」は、YouTube・Instagram・TikTok で見つけた料理動画を保存し、材料と手順を読み取って、実際につくった記録を残すためのアプリです。運営者は下記のとおりです。
- 運営: Main void ltd(
mainvoid) - アプリの識別子:
io.mainvoid.tsukuriba - Apple Developer チーム:
NLXA72W8X7 - 所在地: UNIT 2A, 17/F, GLENEALY TOWER, NO.1 GLENEALY, CENTRAL, HONG KONG
- お問い合わせ: support@pappimane.com
2. 収集する情報
アカウントを作成し、アプリを使う中で、以下の情報を扱います。
| 項目 | 内容 |
|---|---|
| メールアドレス | Supabase Auth が管理。Apple でログインした場合、Apple のプライベートリレーアドレスが渡されることがあります。 |
| 表示名(任意) | プロフィールの display_name。 |
| 言語設定 | 日本語 / English(プロフィールの lang)。 |
| プラン | 無料 / PREMIUM(プロフィールの plan)。RevenueCat からの購入通知でサーバー側が更新します。 |
| 保存したレシピ | 動画URL、動画ID、タイトル、サムネイルURL、再生時間、調理時間の目安、何人分か、元の言語、材料(ingredients)と手順(steps、JSON形式)、状態(つくりたい/つくった)。 |
| つくった記録 | 日付、評価(0〜5)、自由記述のメモ、アレンジタグ、写真の保存パス。 |
| つくった写真 | 記録につけた写真そのもの(下記4章)。 |
| 登録しているクリエイター | どのチャンネルをフォローしているか(follows)。※現在アプリのUIには表示されていません。 |
| AIの献立提案の履歴 | その日の提案内容を1日1件、サーバー側にキャッシュとして保存(ai_suggestions)。 |
動画を保存する際にレシピの発信元(チャンネル)の情報(名前・ハンドル・アイコン画像など)も保存されますが、これは「つくりば」を使う全ユーザーで共有される公開情報であり、個人の利用状況とは別に扱われます。
3. 保存場所と保護のしくみ
データベース・認証・ファイル保存は、すべて Supabase 上(リージョン: ap-northeast-1、東京)で動いています。「つくりば」が独自に運用するサーバーはありません。
各テーブルには Row Level Security(行単位のアクセス制御) が有効になっており、あなたのレシピ・記録・提案履歴・プロフィールは、あなた自身のログインでしか読み書きできません。他のユーザーがあなたのデータを読むことはできません。これが実際のセキュリティ上の仕組みです。
つくった写真は、cook-photos という非公開の保存領域(Supabase Storage)に置かれます。ファイルパスの先頭はあなたのユーザーIDで区切られており、あなた以外の認証済みユーザーはその領域を読み書きできません。アプリが写真を表示するときは、1時間だけ有効な署名付きURLを都度発行して使います。
公開レシピページに出るもの
ひとつだけ例外があります。公式サイトには、保存されたレシピをもとにした動画ごとの公開ページ(https://tsukuriba.app/recipes)があり、これは誰でも見られます。
出るのは、AIが動画から読み取った料理名・材料・手順・時間などと、元動画へのリンクだけです。あなたが保存したという事実は出ません。 公開ページを作る関数はユーザーIDを選ばず、返さず、そこから辿ることもできません。同じ動画を何人が保存したかも出しません。つくった記録(写真・評価・メモ・アレンジ)は一切含みません。
ページは「動画について」のものであって「人について」のものではないので、あなたのライブラリが誰かに見えるようになることはありません。詳しくは利用規約の第5条をご覧ください。
4. 外部サービスに渡る情報
「つくりば」は次の外部サービスを使っています。それぞれに渡る情報は次のとおりです。
- Supabase — ホスティング、認証、データベース、ファイル保存(東京リージョン)。
- YouTube Data API — 保存しようとした動画のIDのみを渡し、タイトル・概要欄・サムネイル・再生時間を取得します。
- Supadata — Instagram または TikTok の投稿を保存する場合のみ、その投稿のURLを渡し、キャプション・投稿者名・サムネイルを取得します。キャプションだけでは材料と手順が読み取れなかったときは、同じURLで動画の音声の文字起こしも取得します。
- Google(Gemini) — YouTube の概要欄だけでは読み取れなかったときのみ、その動画のURLを渡し、映像と音声からレシピを読み取らせます。
- OpenRouter(モデル:
deepseek/deepseek-v4-flash)- レシピを保存する際: 動画のタイトルと、概要欄の一部(先頭6,000文字まで)を渡し、材料と手順を抽出させます。これは動画の公開情報であり、あなた個人のデータではありません。
- 献立提案を出す際: 保存したレシピのタイトルと調理時間を渡します。ただし例外が一つあります — 各レシピについて「最後につくった日」「これまでにつくった回数」もあわせて渡しています。これはあなた自身の調理記録から作られる情報です。メールアドレスや氏名などの個人を特定する情報は含みません。
- RevenueCat、および Apple / Google の課金基盤 — 購入・サブスクリプションの状態を、あなたの Supabase ユーザーIDに紐づけて管理します。
- Apple / Google — サインインの認証のみに使います。
5. 収集していない情報
はっきり言えることとして、以下は収集していません。
- 行動解析・分析SDK(アクセス解析やイベント計測ツールの類)
- 広告SDK、広告トラッキング
- サードパーティによる行動追跡
- 位置情報
- 連絡先(アドレス帳)
- 健康・医療データ
これは pubspec.yaml の依存ライブラリを確認して書いています — Firebase Analytics、Crashlytics、広告SDK、トラッキングSDKの類は一切含まれていません。
6. アカウントの削除
アプリ内から、いつでもアカウントを削除できます(実装中の機能です)。削除は即時・不可逆です。
- あなたに紐づくすべてのデータ(プロフィール、保存したレシピ、つくった記録、フォロー、AI提案の履歴)は、
auth.usersの削除に連動して自動的に削除されます(データベースの外部キー制約による cascade)。 - つくった写真は、ストレージ上のファイルとして cascade の対象にならないため、削除処理の中で明示的に消去されます。
- App Store のサブスクリプションは、アカウント削除では自動的に解約されません。 PREMIUM をご利用の場合は、アカウントを削除する前に、必ずご自身で解約の手続きをとってください(設定画面から App Store の管理画面を開けます)。解約しないまま削除すると、課金だけが残ります。
7. お子様のご利用について
「つくりば」は、料理をする一般的な利用者を想定したアプリです。子どもを主な対象にしたアプリではありませんが、年齢確認の仕組みや、児童のプライバシーに関する法令(COPPA等)に特化した対応は、現時点では実装していません。
8. 準拠法・お問い合わせ
本ポリシーは日本の法令に準拠します。アプリは日本語・英語で提供されます。ご質問やご意見は下記までご連絡ください。
- お問い合わせ: support@pappimane.com
9. このポリシーの変更
内容を変更する場合は、この文書とアプリ内の表示を更新し、ページ上部の「最終更新」日を書き換えます。重要な変更がある場合は、アプリ内で分かるようお知らせするよう努めます。
English
1. What this app does
つくりば (Tsukuriba) lets you save cooking videos you find on YouTube, Instagram and TikTok, have the ingredients and steps read out for you, and keep a log of what you actually cooked.
- Operator: Main void ltd (
mainvoid) - App identifier:
io.mainvoid.tsukuriba - Apple Developer team:
NLXA72W8X7 - Registered address: UNIT 2A, 17/F, GLENEALY TOWER, NO.1 GLENEALY, CENTRAL, HONG KONG
- Contact: support@pappimane.com
2. What we collect
Creating an account and using the app involves the following data:
| Item | Detail |
|---|---|
| Email address | Managed by Supabase Auth. Signing in with Apple may supply Apple’s private relay address instead of your real one. |
| Display name (optional) | profiles.display_name. |
| Language preference | Japanese / English (profiles.lang). |
| Plan | Free / PREMIUM (profiles.plan), updated server-side from RevenueCat purchase events. |
| Saved recipes | Video URL, video id, title, thumbnail URL, duration, cooking time estimate, servings, source language, ingredients and steps (stored as JSON), and status (to cook / cooked). |
| Cooking logs | Date cooked, rating (0–5), a free-text note, “arrange” tags, and the storage path of any photo. |
| Cooking photos | The photo itself, in the private bucket described in section 4. |
| Creators you follow | Which channels you follow (follows). This is stored but not currently surfaced anywhere in the app’s UI. |
| AI suggestion history | One cached row per day of that day’s meal picks (ai_suggestions). |
Saving a video also stores public information about its channel (name, handle, avatar) — that record is shared across all users of the app and is separate from your personal data.
3. Where it’s stored, and how it’s protected
Database, auth, and file storage all run on Supabase, region ap-northeast-1 (Tokyo). There is no separate server we operate.
Every table has Row Level Security enabled: your recipes, logs, suggestion history, and profile can only be read and written by your own signed-in session. No other user can read your rows. This is the actual security control, not a policy promise.
Cooking photos live in a private storage bucket (cook-photos). Each file’s path is prefixed with your own user id, and no other authenticated user can read or write inside that prefix. When the app shows you a photo, it requests a signed URL that is valid for one hour at a time.
What appears on the public recipe pages
There is one exception. The website carries a public page per video (https://tsukuriba.app/recipes), built from saved recipes, and anyone can read it.
Those pages show the dish name, ingredients, steps and times the AI read out of the video, plus a link to the original. They do not show that you saved it. The functions behind them do not select, return, or allow a path back to a user id, and we do not publish how many people saved a given video. Cooking logs — photos, ratings, notes, variations — are never included.
A page is about the video, not about a person, so your library never becomes visible to anyone. See section 5 of the Terms for more.
4. What goes to outside services
つくりば relies on the following external services, and each receives only this:
- Supabase — hosting, auth, database, and storage (Tokyo region).
- YouTube Data API — only the id of the video you’re saving; in return it gives us the title, description, thumbnail, and duration.
- Supadata — only when you save an Instagram or TikTok post: the URL of that post, in return for its caption, the account name, and the thumbnail. If the caption alone holds no recipe, the same URL is used to fetch a transcript of what is said in the video.
- Google (Gemini) — only when a YouTube description alone holds no recipe: the URL of that video, so the recipe can be read from the picture and the audio.
- OpenRouter (model
deepseek/deepseek-v4-flash)- When you save a recipe: the video title and part of its description (up to the first 6,000 characters), so ingredients and steps can be extracted. This is public video metadata, not your personal data.
- When generating meal suggestions: the titles and cooking times of your saved recipes. There is one exception worth being precise about — we also send, per recipe, the date you last cooked it and how many times you’ve cooked it. That is derived from your own cooking log. No email address or name is included.
- RevenueCat, and Apple’s/Google’s billing platforms — purchase and subscription state, keyed to your Supabase user id.
- Apple / Google — used only to authenticate sign-in.
5. What we do NOT collect
To be direct about this, because it’s true and worth stating plainly:
- No analytics SDK
- No advertising SDK or ad tracking
- No third-party tracking
- No location data
- No contacts/address book access
- No health data
This is verified against pubspec.yaml — there is no Firebase Analytics, Crashlytics, ad SDK, or tracking SDK in the dependency list.
6. Account deletion
You can delete your account from inside the app at any time (this feature is being built). Deletion is immediate and irreversible.
- Every row tied to you — profile, saved recipes, cooking logs, follows, and AI suggestion history — is removed automatically because it cascades from the deletion of your
auth.usersrow (a database foreign-key constraint). - Cooking photos are removed explicitly as part of the deletion process, because storage objects don’t cascade automatically the way database rows do.
- Deleting your account does NOT cancel an App Store subscription. That is Apple’s record, not ours. If you are on PREMIUM, cancel your subscription yourself before deleting your account — you can reach Apple’s subscription management screen from Settings inside the app. Deleting without cancelling leaves the billing running with nothing left to use it on.
7. Children
つくりば is built for a general audience of people who cook. It isn’t designed specifically for children, but we have not implemented age-verification or the specific mechanisms that laws like COPPA require for services aimed at children. We’re stating this plainly rather than claiming compliance work that hasn’t happened.
8. Governing law and contact
This policy is governed by the laws of Japan. The app ships in Japanese and English.
- Contact: support@pappimane.com
9. Changes to this policy
If this changes, we’ll update this document and the in-app copy, and update the “Last updated” date at the top. We’ll try to flag material changes inside the app itself.
つくりば← ホーム / Home