プライバシーポリシー / Privacy Policy — Nostrism
最終更新 / Last updated: 2026-10-10
日本語
Nostrism(以下「本アプリ」)は、分散型プロトコル Nostr のクライアントアプリです。Android / iOS / macOS 向けのアプリと、ブラウザで使う Web 版(https://nostrism.shino3.net/app/)があり、本ポリシーはそのすべてに適用します。本アプリは利用者のアカウントを管理するサーバーを持たず、利用者の個人情報を開発者側で収集・保存しません(開発者が運営する既定のリレーと、Web 版が利用する開発者のサーバーについては 3. と 4. をご覧ください)。
1. 開発者が収集する情報
ありません。 本アプリは解析ツール・広告・トラッキングSDKを一切使用せず、利用者を識別・追跡するための情報を開発者のサーバーへ送信しません。Web 版が配信と一部の機能のために通信する開発者のサーバー(Cloudflare 上で運用)での取り扱いは「4. Web 版での取り扱い」に記載します。
2. 端末内に保存される情報
以下は利用者の端末内にのみ保存されます(開発者は参照できません)。
- 秘密鍵(nsec)およびアカウント情報
- 取得したイベント(投稿等)のキャッシュ
- アプリの設定(リレー一覧、表示設定 等)
秘密鍵は署名・暗号化のために端末内で使用されます。アプリのデータ削除・アンインストールで消去されます。Web 版で保存される情報と消し方は「4. Web 版での取り扱い」をご覧ください。
3. 第三者へ送信される情報
Nostr は公開プロトコルです。利用者の操作により、以下が利用者が選んだ第三者へ送信されます。
- リレー:投稿・リアクション・フォロー等の公開イベントは、利用者が設定したリレーへ送信され、公開されます。ダイレクトメッセージは暗号化(NIP-17/NIP-44)されますが、送受信のメタデータはリレーを経由します。
- 開発者が運営するリレー:端末の言語が日本語の場合、既定のリレーの一つに開発者が運営する
relay-jp.shino3.net が含まれます。他のリレーと同じく接続先の一つにすぎず、設定で外せます。本アプリはこのリレーを含め特定のサーバーに依存せず、アカウントやデータを特定のサーバーに預けません。このリレーに送られた公開イベントは、他のリレーと同じく Nostr の仕様に従って保存・公開されます。また、リレーの運用に必要な範囲で、接続の記録(IP アドレス等)が一時的に残る場合があります。
- メディアサーバー:画像等をアップロードする場合、利用者が選んだサーバー(NIP-96/Blossom)へ送信されます。
- 画像プロキシ(wsrv.nl):タイムライン上の画像は、表示最適化のため公開画像プロキシ
wsrv.nl を経由して読み込まれます。この際、画像URLと利用者のIPアドレスが当該プロキシに送信されます。プロキシが受け付けない画像は、配信元から直接読み込みます。
- Spotify のリンクカード:Spotify のリンク(曲・アルバム・プレイリスト・アーティスト・エピソード・番組)をリンクカードで表示するとき、タイトルとジャケット画像を表示するため、リンクの URL(種類と ID)が Spotify 公式の oEmbed(
open.spotify.com)へ送られます。この際、利用者の IP アドレスも Spotify に伝わります。
- カスタム絵文字の作成:リアクションの絵文字ピッカーや絵文字の設定で「文字から作る」を使うと、入力した文字・色・フォントの指定が画像の URL として開発者のサーバー(
nostrism.shino3.net。Cloudflare 上で動作)へ送られ、サーバーが画像を生成します。生成した画像は、同じ指定に対して再利用するため Cloudflare のキャッシュに最長 1 年保存されます。画像の URL には入力した文字がそのまま含まれ、リアクションやカスタム絵文字リストに使うと誰でも見られます。
これら第三者はそれぞれ独自のプライバシーポリシーに従います。開発者はこれらのサービスを管理していません(開発者が運営するリレーと、絵文字を作るサーバーを除きます)。
4. Web 版での取り扱い
Web 版は、ブラウザ上で動く本アプリです。配信と一部の機能に Cloudflare, Inc. のサービス(Cloudflare Pages)を利用しています。1〜3 に加えて、次のとおり取り扱います。
4.1 ブラウザ内に保存される情報
以下は利用者のブラウザ内(IndexedDB・localStorage 等)にのみ保存され、開発者のサーバーへは送信されません。
- ログイン情報:ログイン方式と公開鍵。秘密鍵(nsec)でログインした場合は秘密鍵を、リモート署名(NIP-46)でログインした場合は接続用の鍵と接続先を、ブラウザの暗号機能(Web Crypto API)で暗号化して保存します。暗号化に使う鍵は、ブラウザから取り出せない形で保存されます。拡張機能(NIP-07)でログインした場合、秘密鍵は拡張機能が管理し、本アプリは保存しません。
- キャッシュ:プロフィール、フォロー・ミュート・リレー等のリスト、設定のイベント、送信待ちの投稿、リンクカードの内容(ページのタイトル・説明・画像の URL)。タイムラインの投稿は保存しません。
- ダイレクトメッセージ:復号したメッセージ(本文・相手・日時)と既読の状態。この保存は暗号化していません。
- 設定と入力の履歴:リレー一覧、カラムの構成、表示設定、既定のリアクションと最近使った絵文字、投稿の下書き、最近使ったハッシュタグ、検索の履歴。
- アプリ本体:オフラインでも起動できるよう、プログラムと画面の部品を保存します(Service Worker)。
暗号化していても、ページの中で悪意のあるプログラムが動いた場合(本アプリの脆弱性を突かれた場合や、ページを読み書きできる拡張機能など)には、秘密鍵を守れません。長く使うアカウントには、拡張機能(NIP-07)または署名アプリ(NIP-46)の利用をおすすめします。
4.2 開発者のサーバーを経由する情報
ブラウザから直接取得できない情報は、開発者が Cloudflare 上で運用する中継機能(/api/)を通して取得します。
- リンクカード:投稿内のリンクをカードで表示するため、リンク先の URL をサーバーへ送り、サーバーがリンク先のページの先頭部分を取得します。
- YouTube の動画情報:YouTube のリンクにタイトルを表示するため、動画の ID をサーバーへ送り、サーバーが YouTube から取得します。
- X(Twitter)の投稿の日時:X の投稿のリンクを投稿カードで表示するとき、日時を表示するため、投稿の URL(投稿者のハンドルと投稿 ID)と表示言語(日本語・英語の別)をサーバーへ送り、サーバーが X 公式の oEmbed(
publish.x.com)から取得します。投稿の本文・写真・投稿者のアイコンは、リンクカードと同じく、リンク先のページ(x.com)をサーバーが取得して得ます。
- Spotify のリンクのタイトルとジャケット:Spotify のリンク(曲・アルバム・プレイリスト・アーティスト・エピソード・番組)をリンクカードで表示するとき、タイトルとジャケット画像を表示するため、リンクの URL(種類と ID)をサーバーへ送り、サーバーが Spotify 公式の oEmbed(
open.spotify.com)から取得します。
- パブリックチャットの一覧:パブリックチャット(NIP-28)の一覧を表示するとき、サーバーが
thread.nchan.vip から取得します。
- カスタム絵文字の作成:絵文字作成ページ(
/emoji)で入力した文字・色・フォントの指定は、画像の URL としてサーバーへ送られ、サーバーが画像を生成します。サーバーへ送るのはこれらの指定だけです。生成した画像は、同じ指定に対して再利用するため Cloudflare のキャッシュに最長 1 年保存されます。画像の URL には入力した文字がそのまま含まれ、URL を知っていれば誰でも同じ画像を取得できます。投稿やカスタム絵文字リストに載せると誰でも見られます。
サーバーは、ブラウザの Cookie 等を取得先へ転送しません。ただし Cloudflare の仕様により、利用者の IP アドレスがリクエストヘッダとして取得先(リンク先のサイト等)に伝わる場合があります。取得した内容は、利用者を識別しない形で Cloudflare のキャッシュに一時保存されます(リンクカード・動画情報・X の投稿の日時・Spotify のタイトルとジャケットは最長 24 時間、チャットの一覧は 60 秒、絵文字画像は最長 1 年)。
4.3 Cloudflare による記録
- Web 版へのアクセス(ページの読み込みと中継機能の利用)は Cloudflare を経由するため、Cloudflare が IP アドレス、リクエストされた URL(リンクカードではリンク先の URL を含みます)、ブラウザの種類等を処理します。Cloudflare での取り扱いは Cloudflare のプライバシーポリシーに従います。
- 開発者は、アクセスの記録を保存する設定をしていません。中継機能のプログラムも、リンク先の URL 等を記録しません。
- 開発者は Cloudflare の管理画面で、リクエスト数・エラー数などの集計を参照できます。また管理画面には、Cloudflare のセキュリティ分析の機能により、アクセスの記録(IP アドレス・URL 等)が一定期間表示される場合があります。不具合の調査のために、リアルタイムのログを一時的に表示することもあります(保存されません)。開発者はこれらを、運用・不正利用の防止・不具合の調査のためにだけ参照します。
- Web 版は、アクセス解析ツール・広告・追跡用の Cookie を使用しません。
4.4 ブラウザから第三者へ直接送信される情報
3. に加え、Web 版はブラウザから次の相手と直接通信します。いずれの相手にも、利用者の IP アドレスとブラウザの種類等が伝わります。
- リレー:設定したリレーのほか、プロフィールやリレー一覧の取得用のリレー、キーワード検索用のリレー(検索語を送信します)、相手が投稿に使っているリレー、DM の宛先のリレー、リモート署名(NIP-46)の接続に使うリレー。
- NIP-05 の確認:プロフィールの NIP-05 アドレスを確かめるため、そのアドレスのドメインのサーバーへ問い合わせます。
- 画像・動画:画像は 3. の画像プロキシを経由して読み込みます。動画は再生を押したときに配信元から直接読み込みます。YouTube のサムネイルは
img.youtube.com から直接読み込みます。
- 画像・動画の添付:投稿に添付した画像・動画は、ブラウザからアップロード先のサーバー(NIP-96)へ直接送信されます。既定のアップロード先は
nostr.build(失敗した場合は nostrcheck.me)で、設定で変更できます。画像は送信前に端末内で縮小・再圧縮し、その際に位置情報などの EXIF 情報を取り除きます。ただし、GIF・アニメーション WebP・ブラウザが読み込めない形式の画像と、動画は、元のファイルのまま送信します。アップロードの認証(NIP-98)のため、利用者の公開鍵を含む署名データがアップロード先に送られます。アップロード先での取り扱いは、それぞれのサーバーの方針に従います。
- 署名の依頼:拡張機能(NIP-07)でログインした場合は、署名・暗号化の依頼(署名する内容を含む)を拡張機能へ渡します。リモート署名(NIP-46)の場合は、同じ依頼を暗号化し、リレーを通して署名アプリへ送ります。拡張機能・署名アプリでの取り扱いは、それぞれの提供者の方針に従います。
4.5 保存期間と消し方
- ログアウト:ログイン情報(秘密鍵・リモート署名の接続情報を含む)、復号した DM と既読の状態を、このブラウザから削除します。Web 版では秘密鍵を表示・書き出しできないため、秘密鍵でログインしている場合は、控えがあることを確かめてからログアウトしてください。
- ログアウトしても残るもの:キャッシュ(プロフィール等・リンクカード・送信待ちの投稿)、リレー一覧・カラムの構成・表示設定、投稿の下書き、検索・ハッシュタグ・絵文字の履歴。共用の端末では、下の「サイトデータの削除」も行ってください。
- キャッシュの消去(設定 → データ・キャッシュ → キャッシュを強制消去):キャッシュ、送信待ちの投稿、復号した DM を削除します。ログイン情報と設定は残ります。
- サイトデータの削除:ブラウザの設定で
nostrism.shino3.net のサイトデータを削除すると、Web 版が保存したすべての情報(秘密鍵を含む)が消えます。ホーム画面に追加した Web 版は、ブラウザとは別に保存している場合があります。その場合はホーム画面からも削除してください。
- 自動で消えるもの:リンクカードは 7 日(取得に失敗したものは 1 日)で取り直し、14 日を過ぎたものは次の起動時に削除します。プロフィール等のキャッシュは、件数が上限を超えると古いものから削除します。送信待ちの投稿は、送信が済むか、別のアカウントでログインしたときに削除します。
- ブラウザによっては、空き容量が少ないときや長く使わなかったときに、保存した情報(秘密鍵を含む)が自動で削除されることがあります。
5. 子どものプライバシー
本アプリは13歳未満の子どもを対象としていません。
6. 本ポリシーの変更
本ポリシーは予告なく変更されることがあります。変更時は本ページの「最終更新」日を更新します。
7. お問い合わせ
English
Nostrism ("the App") is a client for the decentralized Nostr protocol. It is available as apps for Android, iOS and macOS, and as a web version that runs in your browser (https://nostrism.shino3.net/app/); this policy applies to all of them. The App has no server that manages your account, and the developer does not collect or store your personal data (see sections 3 and 4 for the default relay operated by the developer and the developer's server used by the web version).
1. Information collected by the developer
None. The App uses no analytics, ads, or tracking SDKs, and sends no data to developer-operated servers for the purpose of identifying or tracking you. How the developer's server used by the web version (hosted on Cloudflare) handles requests is described in section 4.
2. Information stored on your device
The following are stored only on your device (the developer cannot access them):
- Your private key (nsec) and account information
- Cached events (posts, etc.)
- App settings (relay list, display preferences, etc.)
Your private key is used on-device for signing and encryption. It is removed when you clear the app data or uninstall. For what the web version stores and how to delete it, see section 4.
3. Information sent to third parties
Nostr is a public protocol. By your actions, data is sent to third parties you choose:
- Relays: Public events (posts, reactions, follows) are published to the relays you configure. Direct messages are encrypted (NIP-17/NIP-44), but delivery metadata passes through relays.
- Relay operated by the developer: If your device language is Japanese, the default relays include
relay-jp.shino3.net, which is operated by the developer. Like any other relay, it is just one of the relays the App connects to, and you can remove it in settings. The App does not depend on any particular server, including this relay, and does not entrust your account or data to any particular server. Public events sent to it are stored and published under the Nostr protocol, like on any other relay. Connection records (such as IP addresses) may be kept temporarily to the extent necessary to operate the relay.
- Media servers: If you upload media, it is sent to the server you choose (NIP-96/Blossom).
- Image proxy (wsrv.nl): Images in the timeline are loaded through the public image proxy
wsrv.nl for optimization; the image URL and your IP address are sent to it. Images the proxy refuses are loaded directly from their source.
- Spotify link cards: When a Spotify link (track, album, playlist, artist, episode or show) is shown as a link card, the link URL (the type and the ID) is sent to Spotify's official oEmbed (
open.spotify.com) to get the title and cover art. Your IP address is also visible to Spotify.
- Making custom emoji: When you use "Make from text" in the reaction emoji picker or the emoji settings, the text, colors and font you enter are sent as an image URL to the developer's server (
nostrism.shino3.net, running on Cloudflare), which generates the image. To reuse it for the same input, the generated image is kept in Cloudflare's cache for up to one year. The image URL contains the text you entered as is, and anyone can see it once you use the emoji in a reaction or your custom emoji list.
These third parties operate under their own privacy policies. The developer does not control them (except the relay and the emoji server operated by the developer).
4. The web version
The web version is the App running in your browser. It is served using services of Cloudflare, Inc. (Cloudflare Pages). In addition to sections 1–3, the following applies.
4.1 Information stored in your browser
The following are stored only in your browser (IndexedDB, localStorage, etc.) and are not sent to the developer's server:
- Login information: your login method and public key. If you log in with a private key (nsec), the key is stored encrypted with the browser's cryptography (Web Crypto API); if you log in with a remote signer (NIP-46), the connection key and connection details are stored the same way. The encryption key is stored in a form that cannot be exported from the browser. If you log in with a browser extension (NIP-07), your private key stays in the extension and the App does not store it.
- Cache: profiles; follow, mute, relay and other lists; settings events; posts waiting to be sent; link-card contents (page title, description, image URL). Timeline posts are not stored.
- Direct messages: decrypted messages (content, peer, time) and read status. This storage is not encrypted.
- Settings and input history: relay list, column layout, display settings, default reaction and recently used emoji, post draft, recently used hashtags, search history.
- The app itself: program files and UI assets are cached so the app can start offline (Service Worker).
Encryption cannot protect your private key if malicious code runs inside the page (for example, through a vulnerability in the App, or an extension that can read and modify pages). For long-term accounts, we recommend a browser extension (NIP-07) or a remote signer (NIP-46).
4.2 Information sent through the developer's server
Information the browser cannot fetch directly is fetched through proxy endpoints (/api/) that the developer runs on Cloudflare.
- Link cards: to show a link in a post as a card, the link URL is sent to the server, which fetches the beginning of the linked page.
- YouTube video info: to show the title of a YouTube link, the video ID is sent to the server, which fetches the information from YouTube.
- Date of X (Twitter) posts: when a link to an X post is shown as a post card, the post URL (the author's handle and the post ID) and the display language (Japanese or English) are sent to the server, which fetches the date from X's official oEmbed (
publish.x.com). The text, photo and author's icon of the post are obtained, as with link cards, by the server fetching the linked page (x.com).
- Title and cover art of Spotify links: when a Spotify link (track, album, playlist, artist, episode or show) is shown as a link card, the link URL (the type and the ID) is sent to the server, which fetches the title and cover art from Spotify's official oEmbed (
open.spotify.com).
- Public chat list: when the list of public chats (NIP-28) is shown, the server fetches it from
thread.nchan.vip.
- Creating custom emoji: the text, colors and font you enter on the emoji maker page (
/emoji) are sent to the server as an image URL, and the server generates the image. Only these settings are sent to the server. To reuse the image for the same settings, the generated image is cached by Cloudflare for up to 1 year. The image URL contains the text you entered as is, and anyone who knows the URL can get the same image. If you put it in a post or a custom emoji list, anyone can see it.
The server does not forward your browser's cookies or similar data to these destinations. However, due to how Cloudflare works, your IP address may be passed to the destination (such as the linked site) in a request header. Fetched content is cached by Cloudflare in a form that does not identify you (up to 24 hours for link cards, video info, the date of X posts and the title and cover art of Spotify links, 60 seconds for the chat list, up to 1 year for emoji images).
4.3 Records kept by Cloudflare
- Because access to the web version (loading pages and using the proxy endpoints) goes through Cloudflare, Cloudflare processes your IP address, the requested URL (for link cards, this includes the linked URL), browser type and similar data, under the Cloudflare Privacy Policy.
- The developer has not configured any storage of access logs, and the proxy code does not log linked URLs or similar data.
- In the Cloudflare dashboard, the developer can see aggregate figures such as request and error counts. The dashboard may also show records of access (IP address, URL, etc.) for a certain period through Cloudflare's security analytics. The developer may also view real-time logs temporarily to investigate problems (they are not stored). The developer uses this information only for operation, abuse prevention and troubleshooting.
- The web version uses no analytics tools, ads, or tracking cookies.
4.4 Information sent directly from your browser to third parties
In addition to section 3, the web version connects directly from your browser to the following. Each of them receives your IP address, browser type and similar data.
- Relays: besides the relays you configure, relays used to fetch profiles and relay lists, relays used for keyword search (your search terms are sent), relays other users publish to, relays of DM recipients, and relays used to connect to a remote signer (NIP-46).
- NIP-05 verification: to verify the NIP-05 address on a profile, the App queries a server on that address's domain.
- Images and videos: images are loaded through the image proxy in section 3. Videos are loaded directly from their source when you press play. YouTube thumbnails are loaded directly from
img.youtube.com.
- Attaching images and videos: images and videos you attach to a post are sent directly from your browser to the upload server (NIP-96). The default upload server is
nostr.build (nostrcheck.me if that fails), and you can change it in settings. Before sending, images are resized and re-compressed on your device, which removes EXIF data such as location. However, GIFs, animated WebP images, images in formats the browser cannot read, and videos are sent as the original files. For upload authentication (NIP-98), signed data including your public key is sent to the upload server. The upload server handles them under its own policy.
- Signing requests: if you log in with an extension (NIP-07), signing and encryption requests (including the content to be signed) are passed to the extension. With a remote signer (NIP-46), the same requests are encrypted and sent to the signer app through relays. The extension or signer app handles them under its provider's own policy.
4.5 Retention and deletion
- Logging out removes your login information (including a stored private key or remote-signer connection), decrypted DMs and read status from this browser. The web version cannot display or export your private key, so if you logged in with one, make sure you have a backup before logging out.
- Kept after logout: the cache (profiles etc., link cards, posts waiting to be sent), relay list, column layout, display settings, post draft, and search, hashtag and emoji history. On a shared device, also delete the site data as described below.
- Clearing the cache (Settings → データ・キャッシュ (Data & cache) → キャッシュを強制消去 (Force clear cache)) removes the cache, posts waiting to be sent and decrypted DMs. Login information and settings are kept.
- Deleting site data: deleting the site data for
nostrism.shino3.net in your browser settings removes everything the web version stored (including your private key). A web version added to your home screen may keep its data separately from the browser; in that case, also remove it from the home screen.
- Automatic deletion: link cards are refreshed after 7 days (1 day if fetching failed), and those older than 14 days are deleted at the next start. Cached profiles etc. are deleted oldest first when their number exceeds a limit. Posts waiting to be sent are deleted once sent, or when you log in with a different account.
- Some browsers may automatically delete stored data (including your private key) when storage is low or the site has not been used for a while.
5. Children's privacy
The App is not directed to children under 13.
6. Changes
This policy may change; the "Last updated" date will be revised accordingly.
7. Contact