Privacy Policy

Version 1.1

Last updated: October 2026

WIMM ("we", "our", or "us") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our personal finance management service.

1. Information We Collect

1.1 Information You Provide

  • Account Information: Email address, name, and password (stored as a hash) when you register. If you choose to sign in with Google, we receive your Google account email and name from Google.
  • Financial Data: Account names, balances, transactions, categories, and tags. You can type these in yourself, or they can come from:
    • files you upload, such as bank or credit-card statements, receipts, and CSV, XLS, XLSX, OFX, QFX, plain-text, PDF or image files. We read these files with automated tools, including AI-based document reading, to extract accounts, balances and transactions;
    • messages you send to our Telegram bot after you link your account (text, and voice messages up to 60 seconds);
    • a crypto exchange account you connect (currently Bybit) with a read-only API key: we read balances and transaction history. The key is stored encrypted and you can remove it at any time;
    • AI assistants or apps you authorize to use your account through our MCP server, API keys or personal access tokens.
  • Preferences: Display settings, currency preferences, and theme choices
  • Billing information: If you buy a paid plan, our payment providers collect your payment details; we receive your email, plan and payment status, not your card number.
  • Telegram details: If you link the bot, your Telegram user ID and chat ID (and username if you have one).

We do not connect to your bank and we never ask for your online-banking login.

1.2 Information Collected Automatically

  • Log Data: IP address, browser type, pages visited, and timestamps
  • Device Information: Device type, operating system, and screen resolution

2. How We Use Your Information

We use the information we collect for the following purposes:

  • To provide and maintain the WIMM service
  • To display your financial accounts and transactions
  • To read the files and messages you give us (statements, receipts, voice and text messages) and turn them into transactions
  • To convert currencies using real-time exchange rates
  • To send service-related notifications (password resets, etc.)
  • To improve and optimize our service
  • To detect and prevent fraud or abuse

3. Third-Party Services

We use the following third-party services. Those that process your personal data on our behalf are listed in section 12 (Sub-Processors).

  • Exchange Rate API: We use external exchange rate providers to convert currencies. Only your selected currency codes are sent (no personal data).
  • AI processing: To read statements, receipts and documents, and to understand your Telegram messages, we send the relevant file or text to Anthropic. Text-only tasks such as category suggestions and reading statement text go through OpenRouter, a service that routes AI requests to AI model providers; if that route is unavailable, the same tasks may be sent to Anthropic instead. The AI models we use may change over time.
  • Voice transcription: Voice messages you send to the Telegram bot are transcribed by OpenAI.
  • File storage: Files you upload are stored with Amazon Web Services (S3) in the United States.
  • Payments: Card payments are handled by Freemius (primary) or Creem (fallback), and crypto payments by NOWPayments. Card details are entered with the provider, not with us.
  • Email, messaging and sign-in: Resend (service emails), Telegram (the WIMM bot), Cloudflare (DNS, CDN, security and mail routing) and Google (only if you choose "Sign in with Google").
  • Hosting Provider: Our servers are hosted on secure infrastructure with industry-standard protections.
  • Plausible Analytics: We use Plausible, a privacy-focused, cookieless analytics service. It collects aggregate data only (page views, referrer, country, device type, screen size) — no personal data, no cookies, and no cross-site tracking. Learn more at plausible.io/data-policy.

We do not use advertising networks, social media trackers, or sell your data to any third parties.

4. Cookies

We use minimal cookies for essential functionality:

  • Authentication Token: Stored in localStorage to keep you logged in
  • Theme Preference: Stored locally to remember your dark/light mode choice

We use Plausible Analytics, a privacy-focused, cookieless analytics service that does not track you across websites or collect personal data. We do not use tracking cookies, advertising cookies, or any cookie-based analytics.

For detailed information about our cookie and local storage usage, see our Cookie Policy.

5. Data Security

We implement appropriate security measures to protect your data:

  • Encryption in Transit: All data is transmitted over HTTPS with TLS 1.2+
  • Password Security: Passwords are hashed using bcrypt with salt rounds
  • Database Security: PostgreSQL database with restricted access and regular backups
  • Backup Encryption: Database backups are encrypted at rest using age encryption

6. Data Retention

We retain your data as follows:

  • Account Data: Retained while your account is active
  • Financial Data: Retained until you delete it or your account
  • Uploaded Files: A daily cleanup job is scheduled to remove original import files in completed or failed processing states once their records are older than the configured retention period (7 days by default, counted from creation, not processing completion). Eligibility for scheduled cleanup is not a guarantee that a particular file has been deleted by that time. Extracted transactions stay in your account until you delete them or your account
  • Server Logs: Logs use varying rotation policies, including size and file-count limits for container logs, three daily rotated copies for some logs and four weekly rotated copies for system logs. There is no single retention period for all logs
  • Backups: Encrypted backup copies are rotated using configured limits on daily, weekly and monthly copies. Deleting live account data does not immediately remove it from existing backups. Copy-count rotation is not a guaranteed maximum retention period of three months

When you delete your account, we delete the account and schedule asynchronous cleanup of its files. Billing invoice PDFs are kept separately and are not removed by the account file cleanup. This policy does not specify a retention period for those billing documents; this does not authorize indefinite retention. Contact [email protected] about these documents or to request erasure. Account deletion is distinct from file cleanup and backup rotation, so we do not promise that every copy of personal data is erased within a fixed deadline.

7. Your Rights (GDPR)

Under the General Data Protection Regulation (GDPR), you have the following rights:

  • Right to Access: Request a copy of your personal data
  • Right to Rectification: Update or correct inaccurate data
  • Right to Erasure: Request deletion of your account and all data
  • Right to Portability: Export your data in a machine-readable format
  • Right to Restrict Processing: Limit how we use your data
  • Right to Object: Object to certain types of data processing

To exercise any of these rights, contact us at [email protected].

8. Legal Basis for Processing

We process your personal data based on the following legal grounds:

  • Contract Performance: Processing necessary to provide our service to you
  • Consent: Where you have given explicit consent (e.g., privacy policy acceptance)
  • Legitimate Interests: For service improvement and security purposes

9. International Data Transfers

Your data may be processed on servers located outside your country of residence, including in the United States by some of the providers listed in section 12. These providers process data under their published data-processing terms, and we apply appropriate security measures to protect your data.

10. Children's Privacy

WIMM is intended for adults and is not available to anyone under 18 years of age. We do not knowingly collect personal information from anyone under 18. If you believe a person under 18 has given us personal data, please contact [email protected] and we will delete it.

11. Changes to This Policy

We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the new policy on this page and updating the "Last updated" date. Your continued use of the service after changes constitutes acceptance of the updated policy.

12. Sub-Processors

We use the following sub-processors to deliver our service. They process data under their published data-processing terms:

Hetzner

Purpose: Server infrastructure and hosting

Data shared: Application database and server data, with restricted database access and HTTPS for data in transit. Database backups are encrypted using age; this is not a claim that all application database and server data is encrypted at rest. Uploaded files are stored with Amazon Web Services, see below

Location: EU (Germany/Finland)

Plausible Analytics

Purpose: Privacy-focused website analytics

Data shared: Aggregate page views only — no personal data, no cookies

Exchange Rate API

Purpose: Currency conversion rates

Data shared: Currency codes only — no personal or financial data

Creem

Purpose: Payment processing for subscriptions (card checkout, fallback provider)

Data shared: Billing data (email, subscription tier, payment events)

Freemius

Purpose: Payment processing and subscription management (primary card checkout)

Data shared: Billing data (email, subscription tier, payment events); card details are entered with the provider

NOWPayments

Purpose: Crypto payment processing (USDC/USDT)

Data shared: Order reference (email or user ID), plan and payment events

Amazon Web Services (S3)

Purpose: Storage of files you upload (statements, receipts) and invoice PDFs

Data shared: The uploaded files

Location: United States (us-east-1, N. Virginia)

Anthropic

Purpose: AI reading of statements, receipts and documents; understanding your Telegram messages; backup for text-only AI tasks

Data shared: The content of the file or message being processed

Location: United States

OpenRouter

Purpose: AI processing service that routes text-only AI requests (such as category suggestions and reading statement text) to AI model providers

Data shared: Transaction descriptions, statement text and message text for the task

Location: United States

OpenAI

Purpose: Transcription of voice messages sent to the Telegram bot

Data shared: The voice recording

Location: United States

Telegram

Purpose: Delivering messages between you and the WIMM bot (only if you use the bot)

Data shared: The messages you and the bot exchange

Resend

Purpose: Sending service emails (sign-up confirmation, password reset, notifications)

Data shared: Your email address and the email content

Cloudflare

Purpose: DNS, CDN and security for wimm.my, mail routing for @wimm.my addresses, and bot protection (Turnstile) on the free Statement Reader tool

Data shared: Web traffic metadata such as IP address; mail sent to @wimm.my addresses

Google

Purpose: "Sign in with Google" (only if you choose it)

Data shared: Your Google account email and name, sent to us by Google

13. Contact Us

For any questions about this Privacy Policy or our data practices, contact us:

WIMM - Personal Finance Management

This policy is effective as of October 2026.