New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •
New update on Posting Rules •

1. Data Controller and Scope

This policy describes how Fumoshare collects, uses, and protects user personal data. Processing is carried out in full compliance with Regulation (EU) 2016/679 (GDPR).

2. Data Origin: Social Authentication & Account Linking

Fumoshare uses secure social authentication via Discord OAuth2, Google OAuth2, and LINE Login. We also support linking multiple social providers to a single collector profile. It is not possible to create an account with email and password on our servers.

What We Receive from Authentication Providers

When you log in or link an account, the chosen provider (Discord, Google, or LINE) securely transmits only the basic profile data necessary to create and manage your account:
- Discord: user ID, username, and email address (with an optional prompt to join the official community Discord server).
- Google: Google ID, name, and email address (including Google One Tap support).
- LINE: LINE user ID, display name, and email address (if granted by the user or an internal account identifier).

Usernames are automatically sanitized (retaining only a-z0-9_\-. characters, with a length between 3 and 20 characters) and checked against reserved and previously deleted usernames to ensure system compatibility and prevent impersonation. We do not request access to your private messages, contacts, Google Drive, Discord servers (beyond optional community join), or other sensitive account data.

Independent Third-Party Platforms

Authentication interactions taking place on external platforms (Discord, Google, or LINE) are governed by their respective privacy policies:
- Discord Privacy Policy
- Google Privacy Policy
- LINE Privacy Policy

Fumoshare acts as an independent data controller once authentication is completed.

3. Types of Data Collected

We only collect data strictly necessary to provide our platform services. We do not sell or transfer your data to third parties for commercial or marketing purposes.

A. Authentication & Account Data

When you log in or link an account via Discord, Google, or LINE, we store your unique provider account ID, account name, and email address. By default, your profile avatar on Fumoshare is assigned from a random Fumo plush in our catalog, keeping your social media avatar private unless updated by you from our catalog. You may also configure optional profile preferences such as country, interface language, profile visibility, whether to show your collection's estimated market value, and whether your saved bookmarks are visible publicly.

B. Session and Technical Data

For security, session maintenance, and abuse prevention, we temporarily process the IP address and browser User-Agent associated with your session. Session cookies are cryptographically signed and expire automatically after 30 days (with sliding daily expiration updates during active use) or upon explicit logout. We also maintain technical anti-abuse tokens (rate-limiting windows and Turnstile challenges) and a flag indicating whether the platform was accessed via the official Android app (Trusted Web Activity) to award platform badges.

C. Published Content (Posts, Stories, Comments, Likes)

The photos you upload (FumoFumo plushies, captions, tags, physical plush sizes) and social interactions (comments, likes on posts and comments, follows) are stored in our database to provide community features. In addition to standard posts, users can share Fumo Stories: temporary photos that automatically expire and cease public display after 7 days (168 hours). Uploaded images are processed and optimized via self-hosted tools (see Section 9).

D. Saved Posts (Favorites & Bookmarks)

You can save and bookmark your favorite posts for quick personal access. Your saved posts list is kept private by default or made visible on your public profile according to your account privacy preferences (showSaved).

E. Geolocation Data

When publishing a post, you may optionally attach geographic coordinates. To protect your privacy, latitude and longitude coordinates are automatically blurred server-side using a random offset of approximately 0.02 degrees (~2 km) before being saved. Meter-precise location is never stored in our database or displayed on the sightings map. Location submission is entirely optional and can be edited or removed at any time.

F. Notifications and Preferences

We save your notification preferences (which community activities trigger alerts). If you enable browser Web Push notifications, we store the required cryptographic push endpoints (endpoint URL, p256dh, and auth keys). Push notifications can be revoked at any time through your browser or site settings.

G. Reports and Moderation Records

If you report a post, comment, or story, we store the report ID and selected reason. This data is non-public and accessible only to staff for moderation purposes. In the event of platform rule violations, account standing records (temporary or permanent suspension state, suspension reason, and reinstatement timestamps) are recorded to protect the community and compute fair reputation scores.

H. Wishlist, FumoDex Collection & Purchase Dates

Your saved wishlist and owned Fumo plush models are stored to render your personal FumoDex collection page. You may also optionally record personal Fumo purchase dates to track your collection history.

I. Minigames & Community Features (Fumo Cards, FumoWall & Achievements)

If you participate in community features, we record your digital card packs, card collection, card recycling state, and card trading records with other collectors (participation can be toggled in profile settings). We also store your customized FumoWall (Fumo Room) layout, background theme, placed plush coordinates, and received wall likes. Furthermore, we track earned community badges and 3D achievements.

J. On-Demand Comment Translation (Translation Cache)

Comments are shown in their original language. Registered users can request a display-only machine translation of a single comment written in a language different from their own; the original text and its moderation status are never modified. When a translation is requested, the comment text (up to 2,000 characters) is processed by our self-hosted translation engine and the result is stored in a translation cache keyed by a SHA-256 hash of the text together with the target language, so identical texts are not re-processed and are served instantly on subsequent requests.

4. Purposes and Legal Basis

We process your data exclusively for the following purposes under the GDPR.

Service Provision

Account authentication, publishing and browsing posts, stories, community feed, global sightings map, comments, likes, saved bookmarks, user profiles, wishlist, personal collection history, customized FumoWall rooms, collectible cards, and notifications.
Legal basis: performance of a contract (providing the service requested by the user).

Public Display, Translation and Republication of Your Content

Published posts, stories, comments, and profile content are shown publicly to the community and may be visible to visitors. Comments can be machine-translated on demand for display only (see Sections 3.J and 9), and approved public posts may be announced on our official community channels on Discord, Telegram, Bluesky, and X. You retain ownership of your photos and grant us the non-exclusive, royalty-free, worldwide license described in our Community Rules.
Legal basis: performance of a contract and consent.

Security and Abuse Prevention

Protecting the platform against unauthorized access, spam, and fraudulent activity. Includes IP rate-limiting, upload anti-abuse tokens, Cloudflare Turnstile (CAPTCHA), SHA-256 image hashing to detect duplicate blocked uploads, and automated/manual content moderation.
Legal basis: legitimate interest of the data controller.

Anonymous Statistical Analysis

Aggregated web traffic measurement using self-hosted Plausible Analytics and Cloudflare Web Analytics, both completely cookie-free and GDPR-compliant.
Legal basis: legitimate interest of the data controller.

Automated Content Classification (Machine Learning)

Verification of Fumo plush presence via OpenAI CLIP (ViT-B/32) and detection of inappropriate or sensitive (NSFW) content (including pornography, hentai, and sexually explicit imagery) via a dedicated, self-hosted nsfwjs model. All models run in isolated self-hosted Docker containers.
Legal basis: legitimate interest of the data controller (maintaining platform safety and content standards).

Automatic Translation (Articles & User Comments)

Editorial articles are machine-translated into the supported site languages through a self-hosted LibreTranslate engine, so readers can access our content in their own language; the original language is always preserved as the canonical version. In addition, registered users can request an on-demand, display-only translation of individual user comments written in a language other than their own. Translation is purely presentational: moderation and enforcement always apply to the original text, which is never altered. Cached translations are keyed by a non-reversible hash of the text (see Section 3.J).
Legal basis: legitimate interest of the data controller (multilingual accessibility).

Compliance with Legal Obligations and Law Enforcement

We may retain and disclose personal data where necessary to comply with legal obligations, or in response to valid requests from competent authorities (such as law enforcement agencies or judicial orders). Where legally permitted and feasible, we will inform the affected user before disclosing their data.
Legal basis: compliance with a legal obligation to which the data controller is subject.

5. Machine Learning & Automated Image Analysis

To maintain community safety and content quality, Fumoshare uses automated image analysis powered by dedicated, self-hosted Machine Learning models. No image data is ever transmitted to external cloud AI services or third-party APIs. Analysis runs exclusively on still images (JPG, PNG, WebP) uploaded for posts and stories.

Server-Side Local Execution (Isolated Docker Containers)

All image analysis is performed server-side by local Machine Learning models running in isolated, self-hosted Docker containers:

OpenAI CLIP (ViT-B/32): Multimodal AI model running in a dedicated container (fumoshare_ml). It performs zero-shot semantic matching between the image embedding and customizable verification prompts configured by staff administrators. The model is used exclusively for Fumo Detection: verifying the presence of a physical FumoFumo plush toy in the uploaded photo.

nsfwjs (TensorFlow.js): Specialized neural network classifier running in a dedicated microservice container (fumoshare_nsfw). It categorizes images across five standard visual classes (Porn, Hentai, Sexy, Drawing, Neutral) to compute a weighted sensitivity score:
- NSFW & Sensitive Content Detection: accurately identifying photographic and illustrated sexual content, hentai, and explicit imagery before publication.

Both models run in isolated local Docker containers on our own server. Images are transmitted exclusively over an internal Docker network bridge and are NEVER sent to OpenAI, third-party cloud APIs, or external processors.

Strict Data Isolation

Our machine learning system does not send user photos to any third-party cloud service. All inference takes place 100% within our self-hosted server infrastructure. Both models (OpenAI CLIP and nsfwjs) use static, pre-trained open weights hosted entirely on our own Docker containers. No data leaves our European Union servers during classification.

Automated Moderation Logic

Analysis scores determine whether a post is automatically published, queued for manual staff review in the admin panel, or blocked. Stories are evaluated via automated screening. Decision thresholds are fully configurable by staff administrators through the admin panel to ensure fair moderation. In borderline cases, posts are flagged for human review.

6. Automated Decision-Making (GDPR Article 22)

Some content is published, queued, or blocked through automated image and text analysis (see Section 5). These automated checks concern content, not your account, and borderline cases are always routed to a human moderator for review.

Human Review and Your Rights

Automated moderation does not produce legal effects or similarly significant effects on your account without human involvement. Under Article 22 of the GDPR you have the right not to be subject to a decision based solely on automated processing that produces legal or similarly significant effects. You may request human review of any automated moderation decision affecting your content by contacting our staff on the official Discord server, and you can express your point of view and contest the decision.

7. Cookies and Local Storage

Fumoshare relies exclusively on technical cookies and local storage required for site operation. We do not use advertising, marketing, or tracking cookies. Consequently, no cookie banner popups are needed under GDPR and the ePrivacy Directive.

Technical Session Cookie

A cryptographically signed session cookie maintains your logged-in state after authentication (Discord, Google, or LINE). Managed by Better Auth, it is named __Secure-better-auth.session_token over HTTPS (or better-auth.session_token), configured with httpOnly (inaccessible to client scripts), sameSite: 'lax', and strictly enforced over secure connections. Maximum duration: 30 days (automatically extended once daily during active use). Invalidated instantly upon logout.

Language Preference Cookie

The PARAGLIDE_LOCALE cookie remembers your selected language (English, Italian, Japanese, French, Spanish, German, etc.). Duration: 1 year (up to 400 days). Used solely to serve localized content.

Visual Style Preference Cookie

The fumo_style cookie remembers your visual preference for rendering Fumo plushies (transparent photography vs. pixel art). Duration: 1 year. Stored as a purely technical cookie for both visitors and registered members.

Theme Preference Cookie

The theme cookie remembers your selected color theme (light, neon or amoled). Duration: 1 year. Stored as a purely technical cookie for both visitors and registered members.

Event Audio Preference Cookie

The fumo_friday_music cookie preserves your audio preferences (volume level and pause/mute state) for the weekly Fumo Friday community event. For guests and anonymous visitors, this cookie avoids audio restarting unexpectedly when opening multiple tabs. Duration: 1 year.

Transient Operational Cookies

Short-lived, technical cookies used strictly during specific user flows: join_discord (transient cookie recording your request to join the community Discord server during OAuth login, immediately deleted after use), new_user (lasts 60 seconds after registration to direct you to onboarding and profile setup), and onboarding_last_attempt (temporary rate-limit protection for username selection).

Browser Local Storage (localStorage & sessionStorage)

Non-personal user UI preferences are saved locally in your browser: FumoSnap settings, FumoDex version grouping, active theme, and temporary navigation state. This data remains confined to your device and is never uploaded.

8. Site Analytics (Plausible & Cloudflare)

We use privacy-first analytics tools. Neither tool uses cookies or tracks users across external websites.

Plausible Analytics (Self-Hosted)

Self-hosted Plausible instance running on our infrastructure. Captures anonymous aggregated metrics (page views, browser, OS, general country) using a daily rotating hash of IP + User-Agent. No persistent user tracking or cross-site profiling.
Plausible Data Policy.

Cloudflare Web Analytics

Privacy-focused web traffic statistics at the DNS/CDN level without cookies or browser fingerprinting.
Cloudflare Privacy Policy.

9. Infrastructure & External Services

Your data is hosted on infrastructure located within the European Union. Below is the list of third-party service providers used for hosting and delivery:

Hosting & PostgreSQL Database (Hetzner)

Application servers and PostgreSQL database run on Hetzner Online GmbH infrastructure in Nuremberg, Germany (Network zone eu-central, European Union). All relational user data and databases reside securely in Germany in full compliance with GDPR.
Hetzner Website | Hetzner Privacy Policy.

Cloudflare R2 Object Storage

Uploaded post images, stories, and Fumo catalog assets are stored on Cloudflare R2 (S3-compatible storage) with explicit European Union (EU) data jurisdiction.
Cloudflare Privacy Policy.

Cloudflare Turnstile (CAPTCHA)

Non-intrusive, cookie-free CAPTCHA system used for anti-bot verification when upload tokens expire.
Cloudflare Privacy Policy.

Imgproxy (Self-Hosted Image Optimization)

Self-hosted Docker container performing real-time image resizing and WebP conversion. Image URLs are cryptographically signed with HMAC-SHA256 keys to prevent unauthorized image manipulation.

Self-Hosted Fonts (Outfit)

Site typography uses the Outfit variable font, self-hosted and served directly from our own infrastructure (/fonts/). No requests are made to external font services such as Google Fonts, and no data is shared with third parties for typography.

LibreTranslate (Self-Hosted Translation)

Editorial articles are automatically translated into the supported site languages by a self-hosted LibreTranslate engine (Argos Translate models) running in an isolated Docker container on our European Union infrastructure. Translation runs entirely on our own servers and no article or comment text is ever sent to external translation APIs (Google Translate, DeepL, etc.). Articles are staff-authored editorial content; individual user comments are additionally translated on demand for display purposes only, when a user requests it (see Sections 3.J and 4).

OpenStreetMap

Sightings map tiles loaded from OpenStreetMap (tile.openstreetmap.org).
OpenStreetMap Privacy Policy.

Country Flags (flagcdn.com)

Country flag images shown in the profile country selector are loaded from flagcdn.com, a public CDN for country flags. Only a standard image request is made and no personal data is transmitted.
flagcdn.com.

Community Social Bridges & Bot Channels

The official Fumoshare bot connects community interactions with Discord: it synchronizes the server roles linked to your account (language, badges, and staff roles), keeps your display name and username aligned, sends optional direct-message notifications you can disable, and mirrors comments between the community Discord forum threads and the site. In particular, messages you post in a linked forum thread are stored as comments on the corresponding Fumoshare post (and vice versa), so they become visible to the Fumoshare community. In addition, approved public posts may be announced across official community channels on Telegram, Bluesky, and X to highlight collector photography.

10. Data Security

We adopt appropriate technical and organizational measures to protect your personal data against unauthorized access, alteration, disclosure, or destruction.

Encryption

All traffic between your browser and Fumoshare is encrypted in transit using TLS/HTTPS. Data stored in our PostgreSQL database and in Cloudflare R2 object storage is encrypted at rest by our infrastructure providers. Uploaded images are served through cryptographically signed URLs. Session cookies are cryptographically signed and set with httpOnly and sameSite protections.

Access Control and Secret Management

Access to non-public personal data is limited to staff members with a legitimate operational need, through authenticated admin accounts governed by a fine-grained permission system (panel and sub-section access). Administrative actions are recorded in an audit log. Secrets and API keys are kept in environment files that are never committed to the source repository. We do not store passwords, because authentication is delegated entirely to Discord, Google, and LINE.

11. International Data Transfers

We keep your personal data within the European Union.

Processing Within the EU

Fumoshare hosts and processes personal data on servers located in the European Union (application servers and PostgreSQL database on Hetzner in Nuremberg, Germany; Cloudflare R2 object storage configured with EU data jurisdiction). We do not transfer your personal data to countries outside the EU/EEA.

Third-Party Identity Providers

When you authenticate through Discord, Google, or LINE, those providers process your data under their own terms and international transfer mechanisms, as they act as independent controllers for that processing. Any transfer to them is governed by their respective policies (see Section 2).

12. Data Retention

Data retention schedules on EU servers:

Session Data

Session cookies and technical session logs (IP, User-Agent) are kept for the active session duration or up to a maximum of 30 days.

Fumo Stories

Fumo Stories are temporary and automatically expire and cease public display after 7 days (168 hours).

User Content and Social Data

Published posts, photos, comments, likes, follows, saved bookmarks, card collections, FumoWall rooms, and wishlist items are retained while the user account remains active or until account deletion.

Abuse Prevention & SHA-256 Hashes

Rate-limit windows reset automatically. Image SHA-256 hashes for blocked content are retained to prevent re-uploading policy-violating images.

Analytics Data

Plausible Analytics retains anonymized aggregate data (IP salt rotated every 24 hours).

Comment Translation Cache

Cached machine translations of user comments are retained to speed up repeat requests and are keyed by a non-reversible SHA-256 hash of the source text together with the target language. They contain no direct user identifier and may be evicted at any time.

Suspended and Banned Accounts

When an account is suspended or permanently banned, we retain the account and its moderation records, and we may retain limited identifiers such as the username to prevent the person from evading the ban. This information is kept for as long as necessary to enforce our rules and protect the community, and in any case for a minimum of 12 months. Content that was hidden solely because of a suspension or ban is restored if the account is reinstated.

13. Data Recipients

Personal data is never sold or shared for marketing purposes. Essential processing involves the following recipients:

Infrastructure Providers

Hetzner Online GmbH (VPS & Database, Nuremberg, Germany, EU) and Cloudflare Inc. (R2 Storage & Turnstile).

Authentication Providers

Discord Inc., Google LLC, and LINE Corporation (OAuth2 identity providers).

Analytics & Functionality Services

Plausible Insights OÜ (self-hosted), OpenStreetMap Foundation, and flagcdn.com (country flag images).

Business Transfers

In the event of a merger, acquisition, reorganization, or transfer of assets, personal data may be transferred to the successor entity, which would remain bound by this Privacy Policy. We would notify users of any such change as described in Section 16.

14. Children, Minors and Eligibility

Fumoshare is not intended for, and may not be used by, children under 13 years of age. In line with the age requirements of our authentication providers (Discord, Google, and LINE), we do not knowingly collect personal data from children under 13.

Minimum Age

By creating an account you confirm that you are at least 13 years old. Accounts that we become aware belong to a child under 13 will be deleted together with the associated data. If you are a parent or guardian and believe that a child under 13 has created an account, please contact our staff on the official Discord server so we can remove it promptly.

Account Eligibility

Beyond the minimum age, you may not use Fumoshare if you have been permanently banned for a serious violation of our rules, or if you are barred from using the service under applicable law.

Appeals and Reinstatement

If you believe that a moderation action such as a suspension or an account restriction was applied in error, you may appeal it by contacting the staff on our official Discord server. Appeals are reviewed by a human moderator, who may reinstate your account and restore content that was hidden solely because of the action. Repeated or bad-faith appeals may be disregarded.

15. User Rights and Self-Service Account Deletion

Under the GDPR, you have the right to access, rectify, restrict, or request the complete deletion of your personal data.

Self-Service Instant Account Deletion

You can permanently delete your account at any time via the button on the Privacy page. Account deletion is instant and irreversible: it permanently deletes your profile, posts, stories, uploaded images from Cloudflare R2, comments, likes, saved bookmarks, follows, card records, FumoWall rooms, and wishlist entries. The username is permanently reserved to prevent third-party impersonation.

Contact and Support

For privacy requests or technical support, you can reach out to the staff on the official Fumoshare Discord server or send a email to Emailmoc.liamg@erahsomuf.

16. Changes to this Privacy Policy

We may update this Privacy Policy from time to time to reflect changes to our services, our data practices, or legal requirements.

How We Notify You

The date of the latest revision is always shown at the top of this page. For significant changes we will provide a prominent notice, such as an in-app notification or an announcement on our official Discord server. Your continued use of Fumoshare after an update takes effect constitutes acceptance of the revised policy.

Need Help?

Join our official Discord server for support, privacy inquiries, or account assistance.

Join Discord Server