SAKUYA UPLOADER
Privacy Policy
ENGLISH
This Privacy Policy explains how SAKUYA Uploader (the "Tool") handles information. The Tool is operated by Takeshi Horiguchi (the "Operator"). The Tool is used only by the Operator to upload videos the Operator made to the Operator's own YouTube channels (such as SAKUYA 桜). It is not offered to anyone else. The Tool can be used in two ways:
- Command-line tool that runs on the Operator's own computer.
- Private web screen that runs on Cloudflare Workers and is protected by Cloudflare Access. Only the Operator's own email address can sign in. It is not public.
The same private web screen is also used by the Operator to post to the Operator's own Instagram accounts. That part does not use YouTube API Services, and no YouTube API data is sent to Instagram.
1. Use of YouTube API Services
The Tool uses YouTube API Services.
When the Tool uses YouTube API Services, Google also handles information under the Google Privacy Policy (https://www.google.com/policies/privacy). By using the Tool, users agree to be bound by the YouTube Terms of Service.
2. Information the Tool accesses, collects and stores
(a) Sign-in token
When the Operator signs in with the Operator's own Google account and allows access on Google's consent screen, Google issues an OAuth 2.0 token (an access token and a refresh token). The token is used only so that the Operator does not have to sign in for every upload. It is kept in these places:
- Command-line tool: in one file on the Operator's computer. The file can be read only by the Operator's own user account on that computer.
- Private web screen: the refresh token is encrypted (AES-GCM) and stored in the Operator's database on Cloudflare (Cloudflare D1). The encryption key is kept separately as a Cloudflare Workers secret (and in a protected file on the Operator's computer, used only to set up the connection), not in the database, so the stored token cannot be used from the database alone. The access token, which expires after about one hour, is not stored; the web screen gets a new one from the refresh token each time it uploads.
The Tool asks Google for these permissions (scopes):
https://www.googleapis.com/auth/youtube.upload— to upload videos to the Operator's channel
(b) Information the Tool sends to YouTube
The Tool sends only the Operator's own content and settings to YouTube: the video file, the title, the description, tags, the category, the visibility setting chosen by the Operator, the "altered or synthetic content" disclosure (on by default) and the "not made for kids" setting. Both forms also send the language (Japanese). The command-line tool also sends the thumbnail image. The command-line tool uses private by default; public, unlisted or a scheduled publish time is used only when the Operator explicitly chooses it. On the web screen, the visibility of each video (public, unlisted or private) is pre-filled from the Operator's own posting plan (usually public for Shorts) and is shown, and can be changed, on the same page before the Operator presses the upload button.
For the web screen, the Operator's own video files and the text for each post are placed in the Operator's storage on Cloudflare (Cloudflare R2 and D1) before they are sent. These are the Operator's own content, not data received from YouTube.
(c) Information the Tool receives from YouTube
After an upload, YouTube returns the ID of the uploaded video, the ID of the channel it was uploaded to, and its visibility.
- Command-line tool: shows the video ID and its links on the Operator's screen. It does not save them to any file.
- Private web screen: stores the video ID and the resulting visibility in the Operator's database on Cloudflare, so that the Operator can open the video and check that the upload worked. They are deleted automatically within 30 days after they were received (a cleanup job runs once a day). The web screen compares the returned channel ID with the ID of the Operator's own channel, which it keeps as a setting, to make sure the video went to the intended channel.
- Error messages: if an upload fails, the web screen keeps the error message (which may include the reason returned by YouTube) so that the Operator can fix the problem. It is deleted automatically within 30 days after it was recorded.
- Upload address: when the web screen starts an upload, YouTube returns an address to send the video to in parts. The web screen keeps this address only while the upload is unfinished, so that an interrupted upload can continue. It is deleted when the upload finishes, and in any case within 30 days.
(d) Information the Tool does not access or collect
- The Tool does not access other people's Google accounts, YouTube channels or personal information.
- The Tool does not read or collect YouTube data such as other videos, comments, subscribers, viewers or statistics.
- The Tool does not use analytics, advertising or tracking. The only cookie is the sign-in cookie of Cloudflare Access for the private web screen (see section 5).
3. How the information is used
The information above is used only to upload the Operator's videos to the Operator's own channel, to set their details and thumbnails, and to check that each upload worked and went to the right channel. It is not used for advertising, profiling, analytics or any other purpose.
4. Sharing of information
The Tool sends information to Google (YouTube), which is needed to upload the videos.
The private web screen runs on the services of Cloudflare, Inc. Cloudflare stores the information described in section 2 (the encrypted token, the video files and text, the video IDs, the error messages and the upload address) on the Operator's behalf, and runs Cloudflare Access, which handles the Operator's sign-in to the web screen and keeps sign-in records such as the Operator's email address and the time of sign-in. Cloudflare handles this information under the Cloudflare Privacy Policy.
The Tool does not sell, rent or give information to any other person or company.
The Operator sometimes runs the Tool from an AI coding assistant on the Operator's own computer (Claude Code by Anthropic). In that case, what the Tool shows on the screen, including the ID and links of the Operator's own uploaded video, is also processed by that assistant as part of the Operator's own work session, under Anthropic's privacy policy. The Tool itself does not send information to Anthropic.
5. Storage on devices
The Tool stores information on a device in these cases only:
- The command-line tool saves the sign-in token described in section 2(a) on the Operator's own computer.
- When the Operator signs in to the private web screen, Cloudflare Access places a sign-in cookie in the Operator's browser to keep the Operator signed in.
The Tool does not store or read any information on anyone else's device.
6. Advertising and third-party content
The Tool does not show advertisements and does not allow any third party to serve content, including advertisements.
7. How to revoke access, and deletion of data
- Access that was given to the Tool can be revoked at any time on the Google security settings page: https://security.google.com/settings/security/permissions. After access is revoked, the saved token can no longer be used.
- When a form of the Tool next tries to use the token and Google reports that access has been revoked, that form deletes its own saved copy automatically (the command-line tool deletes the token file on the Operator's computer; the web screen deletes the encrypted token in the Operator's database on Cloudflare). Any copy that has not been used since the revocation is deleted by the Operator. In any case, all saved copies are deleted within 30 days after access is revoked through the Google security settings page.
- Video IDs stored by the web screen are deleted automatically within 30 days after they were received, whether or not access is revoked.
- Deleting the data stored by the Tool does not change or delete anything on YouTube. To delete a video from YouTube, please use YouTube or YouTube Studio.
- Because the Tool does not collect information about anyone other than the Operator, it holds no data about other people. If you have any question or request about data, please contact the Operator (section 9). Any request to delete data will be handled within 7 days.
8. About these web pages
These public web pages (this Privacy Policy, the Terms of Service and the About page) do not use cookies or analytics. They load fonts from Google Fonts, so your browser connects to Google's servers when you open them. Cloudflare, Inc. (Cloudflare Pages), the hosting provider of this website, may record standard access logs (such as IP address and time of access) to operate the service.
9. Contact
For questions or complaints about the Tool or this Privacy Policy, please contact:
| Operator | Takeshi Horiguchi (堀口 健) |
|---|---|
| t.horiguchi0606@gmail.com | |
| Postal address | Provided without delay upon request. |
10. Changes to this Privacy Policy
If this Privacy Policy is changed, the new version will be posted on this page with a new "Last updated" date.
日本語
このプライバシーポリシーは、SAKUYA Uploader(以下「本ツール」)での情報の扱いを説明するものです。本ツールの運営者は堀口 健(以下「運営者」)です。本ツールは、運営者が自分で作った動画を自分の YouTube チャンネル(SAKUYA 桜 など) にアップロードするためだけに、運営者本人だけが使います。他の人には提供していません。使い方は次の2つです。
- 運営者のパソコンで動くコマンドの道具
- Cloudflare Workers の上で動き、Cloudflare Access で守った非公開のウェブ画面。ログインできるのは運営者本人のメールアドレスだけで、公開していません。
同じ非公開のウェブ画面は、運営者が自分の Instagram アカウントに投稿するためにも使います。その部分は YouTube API サービスを使っておらず、YouTube API のデータを Instagram に送ることもありません。
1. YouTube API サービスの使用
本ツールは YouTube API サービスを使用しています。
本ツールが YouTube API サービスを使う際、情報は Google によっても Google プライバシーポリシー(https://www.google.com/policies/privacy)に従って扱われます。本ツールを使う人は、YouTube 利用規約に同意したものとします。
2. 本ツールが扱う・集める・保存する情報
(a) ログイン用の鍵
運営者が自分の Google アカウントでログインし、Google の許可画面で許可すると、Google が OAuth 2.0 のトークン(アクセストークンとリフレッシュトークン)を発行します。動画を上げるたびにログインし直さずに済むようにするためだけに使います。置き場は次のとおりです。
- コマンドの道具: 運営者のパソコン上の1つのファイル。そのパソコンの運営者本人のユーザーだけが読める設定です。
- 非公開のウェブ画面: リフレッシュトークンを暗号化(AES-GCM)して、Cloudflare 上の運営者のデータベース(Cloudflare D1)に保存します。暗号をほどく鍵は、データベースには置かず、Cloudflare Workers の秘密の設定(Secret)として別に置きます(ほかに、接続の準備にだけ使う、運営者のパソコン上の保護したファイルにも置きます)。そのため、データベースの中身だけでは使えません。約1時間で切れるアクセストークンは保存せず、アップロードのたびにリフレッシュトークンから取り直します。
本ツールが Google に求める権限(スコープ)は次のとおりです。
https://www.googleapis.com/auth/youtube.upload— 運営者のチャンネルに動画をアップロードするため
(b) 本ツールが YouTube に送る情報
本ツールが YouTube に送るのは、運営者自身のコンテンツと設定だけです。動画ファイル、タイトル、説明、タグ、カテゴリー、運営者が選んだ公開設定、「改変または合成コンテンツ」の開示(既定でオン)、「子ども向けではない」の設定です。どちらの形でも言語(日本語)を送ります。コマンドの道具では、サムネイル画像も送ります。コマンドの道具の既定は「非公開」で、公開・限定公開・予約公開は運営者がはっきり選んだ時だけです。ウェブ画面では、公開設定(公開・限定公開・非公開)は運営者の投稿計画に沿ってあらかじめ入っており(ショートはふつう「公開」)、ボタンを押す前に同じ画面で確かめて変えられます。
ウェブ画面で送る場合、運営者自身の動画ファイルと投稿の文面は、送る前に Cloudflare 上の運営者の保存場所(Cloudflare R2 と D1)に置きます。これは運営者自身のコンテンツで、YouTube から受け取ったデータではありません。
(c) 本ツールが YouTube から受け取る情報
アップロードが終わると、YouTube から、上げた動画の ID、上げた先のチャンネルの ID、公開設定が返ってきます。
- コマンドの道具: 動画の ID とリンクを運営者の画面に表示します。ファイルには保存しません。
- 非公開のウェブ画面: 運営者が動画を開いたり、アップロードがうまくいったかを確かめたりするため、動画の ID と実際の公開設定を Cloudflare 上の運営者のデータベースに保存します。受け取ってから30日以内に自動で削除します(1日1回の自動処理)。返ってきたチャンネルの ID は、設定として持っている運営者自身のチャンネルの ID と照らし合わせ、意図したチャンネルに上がったかを確かめます。
- エラー文: アップロードが失敗した時、原因を直せるよう、エラー文(YouTube が返した理由を含むことがあります)を保存します。記録してから30日以内に自動で削除します。
- アップロードの送り先: ウェブ画面がアップロードを始めると、YouTube から動画を分けて送るための送り先のアドレスが返ってきます。途中で止まったアップロードを続きから送れるよう、アップロードが終わるまでの間だけ持ちます。アップロードが終わった時点で削除し、どの場合も30日以内に削除します。
(d) 本ツールが扱わない・集めない情報
- 他の人の Google アカウント・YouTube チャンネル・個人情報には触れません。
- 他の動画・コメント・登録者・視聴者・統計などの YouTube のデータを読み取ったり集めたりしません。
- アクセス解析・広告・追跡の仕組みは使いません。クッキーは、非公開のウェブ画面にログインするための Cloudflare Access のものだけです(5章)。
3. 情報の使い道
上の情報は、運営者の動画を運営者のチャンネルにアップロードし、動画の情報とサムネイルを設定し、アップロードがうまくいったか・正しいチャンネルに上がったかを確かめるためだけに使います。広告・利用者の分析・その他の目的には使いません。
4. 情報の提供
本ツールは、動画のアップロードに必要な Google(YouTube)に情報を送ります。
非公開のウェブ画面は、Cloudflare, Inc. のサービスの上で動いています。Cloudflare は、運営者に代わって2章の情報(暗号化した鍵、動画ファイルと文面、動画の ID、エラー文、アップロードの送り先)を保管します。また、ウェブ画面へのログインを受け持つ Cloudflare Access を動かしており、運営者のメールアドレスやログインの日時などのログインの記録を残します。Cloudflare はこれらの情報を Cloudflare プライバシーポリシーに従って扱います。
それ以外の人や会社に、情報を売ったり、貸したり、渡したりしません。
運営者は、自分のパソコン上の AI の作業補助ツール(Anthropic 社の Claude Code)から本ツールを動かすことがあります。その場合、本ツールが画面に出す内容(運営者自身が上げた動画の ID とリンクを含む)は、運営者本人の作業の一部として、Anthropic 社のプライバシーポリシーのもとでその補助ツールでも処理されます。本ツール自体が Anthropic 社に情報を送ることはありません。
5. 端末への保存
本ツールが端末に情報を保存するのは、次の場合だけです。
- コマンドの道具が、2(a) のログイン用の鍵を運営者本人のパソコンに保存する場合
- 運営者が非公開のウェブ画面にログインした時に、ログインを保つため Cloudflare Access が運営者のブラウザにクッキーを保存する場合
他の人の端末に情報を保存したり、端末から情報を読み取ったりはしません。
6. 広告と第三者のコンテンツ
本ツールは広告を表示せず、広告を含め、第三者がコンテンツを配信することもありません。
7. 許可の取り消しとデータの削除
- 本ツールに与えた許可は、Google のセキュリティ設定ページ https://security.google.com/settings/security/permissions からいつでも取り消せます。取り消すと、保存されたトークンは使えなくなります。
- 本ツールのそれぞれの形は、次に鍵を使おうとした時に許可の取り消しを検知すると、自分が持つ鍵を自動で削除します(コマンドの道具はパソコンの鍵のファイル、ウェブ画面は Cloudflare 上の暗号化した鍵)。取り消しの後に使っていない方の鍵は運営者が削除します。どの場合も、Google のセキュリティ設定ページで取り消してから30日以内に、保存したすべての鍵を削除します。
- ウェブ画面が保存した動画の ID は、許可の取り消しにかかわらず、受け取ってから30日以内に自動で削除します。
- 本ツールが保存したデータを削除しても、YouTube 上のものは何も変わらず、削除もされません。YouTube から動画を削除するには、YouTube または YouTube Studio をお使いください。
- 本ツールは運営者以外の人の情報を集めないため、他の人のデータは持っていません。データについての質問や依頼は、運営者(9章)までご連絡ください。データ削除の依頼には7日以内に対応します。
8. このウェブページについて
この公開ページ(このプライバシーポリシー・利用規約・説明のページ)はクッキーやアクセス解析を使っていません。文字の表示に Google Fonts を使っているため、開くとブラウザが Google のサーバーに接続します。また、サイトを運用するため、このサイトのホスティング事業者である Cloudflare, Inc.(Cloudflare Pages)が通常のアクセス記録(IP アドレスやアクセス日時など)を残すことがあります。
9. 連絡先
本ツールやこのプライバシーポリシーについての質問・苦情は、次の連絡先までお寄せください。
| 運営者 | 堀口 健(Takeshi Horiguchi) |
|---|---|
| メール | t.horiguchi0606@gmail.com |
| 住所 | ご請求があれば遅滞なくお知らせします。 |
10. このポリシーの変更
このプライバシーポリシーを変更する場合は、このページに新しい版を掲載し、「最終更新日」を更新します。