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 (Discord & Google)

Fumoshare uses secure social authentication via Discord OAuth2 and Google OAuth2. 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, the chosen provider (Discord or Google) securely transmits only the basic profile data necessary to create and manage your account:
Discord: user ID, username, and email address.
Google: Google ID, name, and email address.

Usernames are automatically sanitized (retaining only a-z0-9_\-. characters) to ensure system compatibility. We do not request access to your private messages, contacts, Google Drive, Discord servers, or other sensitive account data.

Independent Third-Party Platforms

Authentication interactions taking place on external platforms (Discord or Google) are governed by their respective privacy policies:
Discord Privacy Policy
Google 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 Data

When you log in via Discord or Google, 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 database, keeping your social media avatar private unless updated by you.

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 7 days or upon explicit logout.

C. Published Content (Posts, Comments, Likes)

The photos you upload (FumoFumo plushies, captions, tags, physical plush sizes) and social interactions (comments, likes, follows) are stored in our database to provide community features. Uploaded images are processed and optimized via self-hosted tools (see Section 8).

D. Geolocation Data

When publishing a post, you may optionally attach geographic coordinates. To protect your privacy, latitude and longitude coordinates are automatically blurred using random coordinate offset logic before being saved. Meter-precise location is never stored or displayed. Location submission is entirely optional.

E. 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.

F. Reports and Moderation Records

If you report a post or comment, we store the report ID and selected reason. This data is non-public and accessible only to staff for moderation purposes.

G. Wishlist and FumoDex Collection

Your saved wishlist and owned Fumo plush models are stored to render your personal FumoDex collection page.

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, community feed, global sightings map, comments, likes, user profiles, wishlist, and notifications.
Legal basis: performance of a contract (providing the service requested by the user).

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).

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).

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. 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. 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.

Technical Session Cookie

A cryptographically signed session cookie maintains your logged-in state after Discord or Google authentication. Managed by Better Auth, it is set as httpOnly (inaccessible to client scripts) and strictly enforced over HTTPS. Maximum duration: 7 days. Invalidated instantly upon logout.

Language Preference Cookie

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

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.

7. 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.

8. 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 (IONOS)

Application servers and PostgreSQL database run on an IONOS VPS in European Union data centers. All relational user data resides in Europe.
IONOS Privacy Policy.

Cloudflare R2 Object Storage

Uploaded post images 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.

Google Fonts

Typography files loaded from Google Fonts (fonts.googleapis.com, fonts.gstatic.com).
Google Privacy Policy.

OpenStreetMap

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

jsDelivr CDN

Content Delivery Network for fast serving of open-source static frontend libraries.

9. Data Retention

Data retention schedules on EU servers:

Session Data

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

User Content and Social Data

Published posts, photos, comments, likes, follows, 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).

10. Data Recipients

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

Infrastructure Providers

IONOS SE (VPS & Database, EU) and Cloudflare Inc. (R2 Storage & Turnstile).

Authentication Providers

Discord Inc. and Google LLC (OAuth2 identity providers).

Analytics & Functionality Services

11. 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, uploaded images from Cloudflare R2, comments, likes, follows, and wishlist records.

Contact and Support

For privacy requests or technical support, you can reach out directly to the staff on the official Fumoshare Discord server.

Need Help?

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

Join Discord Server