Privacy Policy
1. General information
Protecting your personal data is very important to me. I only process your data in accordance with applicable laws (GDPR, German DDG). This privacy policy explains the key aspects of how data is processed on this website.
2. Controller
Tommy Kammerer
Raiffeisenstr. 30
77743 Neuried
Germany
Phone:
Email:
3. Hosting
This website is hosted by Cloudflare, Inc. (USA). When you visit the site, Cloudflare may process your IP address for technical reasons. This is necessary to deliver the website and protect it from attacks. Legal basis: Art. 6(1)(f) GDPR (legitimate interest). Cloudflare is certified under the EU-US Data Privacy Framework (DPF), ensuring an adequate level of data protection for transfers to the USA.
4. Analytics, tracking, and cookies
This website uses Cloudflare Web Analytics, a cookie-free analytics tool provided by the hosting provider Cloudflare (see section 3). Only aggregated usage data is collected (page views, referrer, browser, operating system, country). There is no individual visitor tracking or cross-site tracking. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in analyzing website usage). For more information, see Cloudflare's privacy policy.
Beyond that, this website uses no additional tracking tools, analytics services, or advertising cookies. Browser storage is used for functional preferences (theme, language selection) and for your proof data: depending on what you create, this includes your original text, the salt, the hash and the transaction ID. Your original text and the salt stay in your browser, are not encrypted by this website, and are never transmitted to me or to third parties. The hash and the transaction ID are public on the blockchain anyway. For card payments and promo codes the hash is also sent to my server so it can create the transaction (see sections 8 and 10). A full list of the entries is on the local data page.
Because this data exists only in your browser, clearing your browser data or using a different device removes it. Your original text and salt cannot be recovered from the blockchain. Keep the downloaded proof file and, for file proofs, the original file.
5. Client-side data processing (hashing)
The core process of CommitProof, hashing your content, takes place entirely in your browser. Your original text or file never leaves your device at any point. Only the computed SHA-256 hash is written as metadata into a Cardano transaction. This holds for every payment method: the plaintext is never transmitted to my server, to Stripe, or to any other recipient.
6. Cardano wallet and blockchain data
When you connect a Cardano wallet to this website, the following data is processed:
- Wallet address: used in the browser to create transactions. To build a transaction and to list your proofs under "My Proofs", it is sent through my server to KOIOS (see section 7).
- Transaction hashes: stored for verification and display of your proofs.
- Network ID: checked to ensure your wallet is connected to the correct network.
The wallet connection uses the CIP-30 standard of your wallet provider. I have no access to your private keys. Transactions are only signed and submitted to the Cardano network after your explicit confirmation in the wallet.
Blockchain data (transactions, metadata, block times) is publicly visible. This is inherent to blockchain technology and is beyond my control.
7. Third-party API services
This website retrieves cryptocurrency price data from CoinGecko (Gecko Labs, Inc.). This API call is made server-side. Your IP address is not shared with CoinGecko. No personal data is transmitted. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in displaying current prices).
To retrieve blockchain data, this website queries the KOIOS REST API (koios.rest), an open-source Cardano blockchain data provider. Transaction hashes and wallet/stake addresses may be transmitted to KOIOS for verification and proof retrieval. These are pseudonymous blockchain identifiers, not personal data in the traditional sense. Legal basis: Art. 6(1)(b) GDPR (contract performance) and Art. 6(1)(f) GDPR (legitimate interest).
8. Payment by card (Stripe)
Card payments are processed by Stripe Payments Europe, Ltd., 1 Grand Canal Street Lower, Dublin 2, Ireland. When you choose card payment you are taken to a checkout page hosted by Stripe. Your card details are entered there and are processed by Stripe, not by me. I do not see or store card numbers.
Stripe collects your email address for the receipt, and processes the payment amount, currency and the technical data required for the transaction. I receive the email address in order to send you the proof confirmation described in section 9, and the payment status. To link the payment to your proof, Stripe also receives the proof hash and, once the transaction is created, the Cardano transaction ID. Stripe can therefore associate your payment with the public proof. Any further details Stripe asks for on its checkout page are collected by Stripe under its own privacy policy. For its own purposes, such as fraud prevention and anti-money-laundering checks, Stripe processes this data as an independent controller. Legal basis: Art. 6(1)(b) GDPR (performance of a contract). For details, see Stripe's privacy policy.
When you pay directly with ada from your own wallet, no payment provider is involved and no email address is collected.
9. Transactional email
After a successful card payment I send you one confirmation email containing your proof
hash and the Cardano transaction ID. It is sent via the Cloudflare Email
Service from the domain send.commitproof.com. The email contains
neither your original text nor the salt, so it is not a substitute for your own backup.
Legal basis: Art. 6(1)(b) GDPR (performance of a contract).
No newsletter is sent and your address is not used for advertising.
10. Server-side data storage
The following is stored on the server side. Unless stated otherwise below, entries in Cloudflare KV carry an expiry set at write time and are removed automatically when it elapses.
- Cardano transaction hashes (KV): which card payment or promo code a transaction created by my server belongs to. Expires after one year.
- Stripe event IDs (KV): to prevent duplicate payment processing. Expires after 30 days.
- Payment session records (KV): the status of a card payment, the proof hash and, once created, the transaction ID and the outcome of any refund, so the success page can show you the result. Expires after 7 days.
- Redeemed promo codes (KV): the code, the time of redemption and the transaction ID, so a code cannot be used twice. No automatic expiry.
- Rate-limit counters (KV): a counter per request origin, keyed by a hash of the IP address. The IP address itself is not stored. The hash is a pseudonym, not an anonymisation. Expires after 15 minutes. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in protecting the service against abuse).
- Processed payment events (database): the Stripe event ID and the time it was processed, so a repeated delivery cannot trigger a second blockchain transaction. Retained until deleted manually.
- Past promotion (database): during a free-proof promotion, email address, X handle, language, the issued code and the dates of issue and redemption were stored. The promotion is closed and no new personal data is collected. When a code from it is redeemed, the redemption date is added to its record. Records from it are retained until deleted manually.
Unless stated otherwise, the legal basis is Art. 6(1)(b) GDPR (performance of a contract). Where a record has no automatic expiry, it is kept no longer than needed for the purpose above and is deleted on request, see section 11.
11. Your rights
You have the right to access, rectification, erasure, restriction of processing, data portability, and objection. If you believe the processing of your data violates data protection law, you may lodge a complaint with the supervisory authority. In Baden-Württemberg, this is:
Landesbeauftragter für den Datenschutz und die Informationsfreiheit Baden-Württemberg
Heilbronner Straße 35
70191 Stuttgart, Germany
https://www.baden-wuerttemberg.datenschutz.de
12. Objection to unsolicited emails
The use of contact data published as part of the legal notice obligation for the purpose of sending unsolicited advertising and information materials is hereby objected to.