Privacy policy
Last updated: September 2026
Contents13 sectionsHide
- 1. Introduction
- 2. Information we collect
- 3. How we use your information
- 4. Legal basis for processing (GDPR)
- 5. Data storage and security
- 6. Data retention
- 7. Cookies and local storage
- 8. Third-party services
- 9. International data transfers
- 10. Children’s privacy
- 11. Your rights
- 12. Changes to this policy
- 13. Contact
1. Introduction
ko.io provides regulatory and market data through its website, REST API and MCP server.
This Privacy Policy explains how we collect, use, store, and protect your personal information when you use our website at ko.io, our API at api.ko.io, and any related services. By using our services, you acknowledge that you have read and understood this policy.
We are committed to protecting your privacy and handling your data transparently. We collect only the minimum data necessary to operate our service, and we never sell your personal information.
2. Information we collect
Account data
When you create an account, we collect your email address, display name, and password. Passwords are never stored in plain text — they are hashed using PBKDF2-SHA-512 with 100,000 iterations. If you sign in with Google OAuth, we store your name, email address and Google account identifier. Google also sends a profile picture URL, which we do not store. We do not access your Google contacts, calendar, or any other Google services.
API usage data
When you make API or MCP requests, or sign in, we log the endpoint and the request parameters (query parameters and the body of non-GET requests; API keys and tokens passed in the URL are removed), the request time, your IP address, your account email and user ID, the API key used (identified by its prefix), your plan, your browser or client user agent, the country the request came from, the response time and the HTTP status code. This data is used for rate limiting, abuse prevention, usage billing and service reliability monitoring, and is kept for 90 days.
Payment data
All payment processing is handled by Stripe. We never receive, process, or store your credit card number, CVV, or full card details. Stripe provides us with a customer ID, subscription status, and billing email for account management purposes.
Technical data
We collect basic technical information from HTTP request headers, including browser type (User-Agent), device type, and operating system. This information helps us ensure compatibility and diagnose technical issues.
Feedback
When you send feedback, we process the message, selected category, related page URL and any screenshot you attach so we can review the issue and track its status.
Email subscriptions
When you subscribe to the Ownership Brief or turn on Disclosure Watch email, we process your email address, language, schedule and watch list, the version of the consent wording you agreed to with its time and a one-way hash of your IP address, and the delivery status of each email. The legal basis is your consent, which you can withdraw with one click in every email. Unconfirmed sign-ups are deleted 30 days after the last confirmation email, or 90 days after sign-up if no confirmation email was sent. For the Ownership Brief, after you unsubscribe your address is deleted after 30 days and the consent record (consent wording version, times and a one-way hash of the address) is deleted after 2 years. For Disclosure Watch email, after you turn it off your address is removed from the email settings after 30 days; the settings themselves stay with your account until you delete it. Each sent email's content is cleared after 30 days and its delivery record is deleted after 400 days. If an address bounces or reports spam, we keep a one-way hash of it so we never email it again.
What we do not collect
- Precise geolocation or GPS data
- Social media profiles or activity
- Browsing history outside of ko.io
- Contacts or address books
- Biometric data
3. How we use your information
Each page of a downloaded PDF report is watermarked with a pseudonymous identifier for the downloading account (not an email address), the download time and a report ID for copyright protection and traceability.
- Provide and maintain the service — authenticate your identity, deliver API responses, and manage your subscription tier.
- Process payments — communicate with Stripe to handle subscription billing, upgrades, downgrades, and refunds.
- Enforce rate limits and prevent abuse — monitor API request volumes to enforce plan limits, detect automated scraping, and protect service availability for all users.
- Service communications — send account-related emails including security alerts, billing confirmations, API key notifications, and service disruption notices. These are transactional, not marketing.
- Improve our service — analyze usage patterns to identify popular endpoints, optimize performance, and prioritize new features. For this we keep weekly call counts per account (total, API and MCP calls; no endpoint, IP address or email), rolled up from the request logs before they expire.
We do not:
- Sell your personal data to third parties.
- Use your personal data for advertising or ad targeting.
- Share your data with data brokers or marketing companies.
- Profile you for purposes unrelated to our service.
4. Legal basis for processing (GDPR)
As a service operated within the European Union, we process personal data in accordance with the General Data Protection Regulation (GDPR). Our legal bases for processing are:
- Contract performance (Article 6(1)(b)) — processing necessary to create your account, provide API access, manage your subscription, and handle billing.
- Legitimate interest (Article 6(1)(f)) — security monitoring, abuse prevention, fraud detection, and service improvement. We balance these interests against your rights and only process data that is proportionate to the purpose.
- Consent (Article 6(1)(a)) — optional marketing emails and product announcements. These are strictly opt-in. To withdraw consent to marketing emails, use the unsubscribe link in the email or contact admin@ko.io.
- Legal obligation (Article 6(1)(c)) — retention of payment records for tax compliance, and cooperation with law enforcement when legally required.
5. Data storage and security
How and where we store your data:
- Account data is stored with our cloud database provider (Cloudflare), encrypted at rest, with automatic backups.
- API usage logs are kept for 90 days with our cloud database provider (Cloudflare) and then deleted.
- Passwords are hashed using PBKDF2-SHA-512 with 100,000 iterations and a unique salt per account. We never store or log plain-text passwords.
- Data in transit is encrypted with TLS 1.2 or later (HTTPS only) for all connections to our website and API.
- Infrastructureis hosted on Oracle Cloud in Europe (primary) and Asia-Pacific (secondary), with Cloudflare's global edge network providing CDN, DDoS protection, and Web Application Firewall (WAF) capabilities.
- Server-side storage — production data is never stored on developer machines or local systems. All data resides in secured cloud infrastructure.
6. Data retention
| Data type | Retention period |
|---|---|
| Account data | Retained while your account is active |
| API usage logs | 90 days |
| Email subscriptions | Unconfirmed: 30 days after the last confirmation email (90 days after sign-up if none was sent). Ownership Brief after unsubscribing: address 30 days, consent record 2 years. Disclosure Watch after turning off: address 30 days, settings until account deletion. Sent-email content 30 days, delivery records 400 days |
| Payment records | 7 years (legal requirement for tax compliance) |
| Account deletion | Personal data removed within 30 days of a deletion request, except records retained where required by law |
| Weekly call counts per account | Kept after the 90-day log window. Currently not removed on account deletion; after deletion they are no longer linked to any email address or name |
| Anonymized/aggregated data | May be retained indefinitely (not personally identifiable) |
8. Third-party services
We use the following third-party service providers to operate ko.io. They process personal data on our behalf as sub-processors; the same list, with transfer safeguards, is on our GDPR page:
- Stripe — handles all payment processing. Stripe is PCI DSS Level 1 compliant, the highest level of certification in the payments industry. See Stripe's Privacy Policy.
- Cloudflare — provides CDN, edge compute, database (accounts, API keys, request logs and email subscriptions), object storage (feedback screenshots), static site hosting, DNS, DDoS protection, and cookieless, aggregate website analytics (Cloudflare Web Analytics). Cloudflare processes request metadata at the edge. See Cloudflare's Privacy Policy.
- Google — provides OAuth authentication for users who choose to sign in with Google. Google sends us your name, email address, Google account identifier and profile picture URL; we store only the name, email address and account identifier. See Google's Privacy Policy.
- Oracle — cloud infrastructure hosting our API servers and our regulatory and market dataset (European Union primary, Asia-Pacific replica). See Oracle's Privacy Policy.
- Resend — delivers account and subscription emails. It receives the recipient address and the email content. See Resend's Privacy Policy.
We share personal data only with the service providers listed above, and only as needed to run ko.io, or where required by law. We do not share it with advertising networks, data brokers or social media platforms.
9. International data transfers
ko.io is operated from the European Union and processes personal data under EU data protection law. Some of our service providers process data outside the European Economic Area; where they do, the safeguards below apply.
- API servers — European Union (primary) and Asia-Pacific (secondary, for API availability in that region). The API servers process requests and hold the regulatory and market dataset; account records are not stored on them.
- Cloudflare — global network. Requests are processed at the nearest Cloudflare data center, and account data, request logs and email subscriptions are stored with Cloudflare as our database provider.
- Transfer safeguards— for each service provider that processes personal data outside the European Economic Area (Cloudflare, Stripe, Oracle, Resend, Google): appropriate safeguards under Art. 46 GDPR, such as Standard Contractual Clauses in the provider's data processing terms. Where a U.S. provider participates in the EU-US Data Privacy Framework, that adequacy decision can also apply. The same list is on our GDPR page.
10. Children’s privacy
ko.io is a professional financial data service and is not intended for use by individuals under the age of 18. We do not knowingly collect personal information from minors. If we become aware that a user is under 18, we will promptly delete their account and all associated personal data. If you believe a minor has provided us with personal information, please contact us at admin@ko.io.
11. Your rights
Under the GDPR and applicable data protection laws, you have the following rights regarding your personal data:
- Right of access — request a complete copy of the personal data we hold about you.
- Right to rectification — correct any inaccurate or incomplete personal data.
- Right to erasure— request deletion of your personal data (“right to be forgotten”). We will remove all personal data within 30 days, except where retention is required by law.
- Right to data portability — request a copy of your personal data in a machine-readable format by emailing admin@ko.io.
- Right to restriction — request that we limit processing of your data while a dispute is resolved.
- Right to object — object to processing of your data based on legitimate interest. We will cease processing unless we demonstrate compelling legitimate grounds.
How to exercise your rights: You can update your display name and delete your account in Settings. For access, portability or other data-rights requests, email admin@ko.io. We will respond to all data rights requests within 30 days. You also have the right to lodge a complaint with the Swedish Authority for Privacy Protection (IMY) at imy.se. For EU-specific details, see our GDPR page.
12. Changes to this policy
We may update this Privacy Policy from time to time to reflect changes in our practices, technology, or legal requirements. When we make material changes:
- We will provide at least 30 days' notice before the changes take effect.
- Registered users will be notified via email.
- The updated policy will be posted on this page with a revised “Last updated” date.
- Previous versions of this policy are available upon request by emailing admin@ko.io.
Continued use of ko.io after the effective date of a revised policy constitutes acceptance of the updated terms.
13. Contact
If you have questions about this Privacy Policy, your personal data, or our privacy practices, please contact us:
- Email: admin@ko.io
- Location: European Union
- Data protection inquiries: admin@ko.io
We aim to respond to all privacy-related inquiries within 5 business days.