1. Controller and privacy contact
Controller / responsible party:
Mark O'Neill / O'Neill Media
Postfach 9301
97093 Wurzburg
Germany
Privacy contact: Mark O'Neill
This policy covers activity under Mark O'Neill, O'Neill Media, Glass Dagger Press, Samizdat Press, ZeroStrike Labs, markoneill.org, the ZeroStrike Android app, and the TextWasher macOS app.
No data protection officer has been appointed. If that legal position changes, this policy will be updated. Until then, send privacy requests to the contact above.
Competent supervisory authority: Bayerisches Landesamt fur Datenschutzaufsicht (BayLDA), Promenade 18, 91522 Ansbach, Germany, lda.bayern.de.
2. What this policy covers
This policy applies when you:
- visit markoneill.org or related pages;
- read articles, book pages, knowledge base content, or archived content;
- use contact forms, email links, newsletter forms, comments, quizzes, downloads, or support forms if available;
- click book retailer, affiliate, social media, video, app store, or smart links;
- buy books, digital products, services, plugins, app items, subscriptions, or other paid offerings where available;
- enquire about client work, consulting, publishing, editing, marketing, or business services;
- install, open, or use ZeroStrike on Android;
- install, open, or use TextWasher on macOS;
- communicate with me by email, social media, app stores, marketplace reviews, or any other channel.
This policy does not control third-party websites, retailers, marketplaces, payment processors, social networks, analytics providers, or app platforms. Their policies apply when you use them. Yes, that means the internet remains a giant stack of other people's terms.
3. Data map: what may be processed
The table below is deliberately broad. It covers the realistic scenarios for this site, publishing business, app, and related services, instead of pretending privacy only starts when someone fills out a form.
| Scenario | Data categories | Purpose |
|---|---|---|
| Website visits | IP address, browser, device, operating system, page URLs, referrer, timestamps, server logs, approximate location inferred from IP. | Site delivery, security, diagnostics, spam prevention, performance, abuse prevention. |
| Contact forms and email | Name, email, website, subject, message, attachments, metadata, and anything you choose to send. | Replying to enquiries, support, client screening, record keeping, dispute handling. |
| Newsletter or mailing list, if used | Email address, name if provided, signup source, consent timestamp, IP address, email opens/clicks if tracking is enabled. | Sending updates, managing subscriptions, proving consent, measuring whether emails are useful or ignored into oblivion. |
| Purchases and paid services | Name, email, billing details, order records, tax information, payment status, support history. Full card numbers are handled by payment processors, not stored here. | Order fulfilment, invoices, tax, fraud prevention, customer support, legal compliance. |
| Books, affiliate links, smart links, retailers | Click data, referrer data, retailer cookies, affiliate identifiers, marketplace account data handled by the third party. | Sending you to book pages, measuring referrals, affiliate attribution, retailer checkout. |
| Comments, reviews, public submissions | Display name, content, website, IP address, email, anti-spam metadata, public profile information if submitted through a third party. | Publishing comments or reviews, moderation, spam prevention, legal protection. |
| Client work and business enquiries | Contact details, business details, project information, contracts, invoices, payment records, correspondence, files you provide. | Pre-contract discussions, service delivery, billing, project management, legal and tax records. |
| ZeroStrike app | Local gameplay data, settings, progress, scores, device/app diagnostics, crash reports, Android version, app version, Google Play data where applicable. | App functionality, saved progress, debugging, stability, app store compliance. |
| TextWasher macOS app | Text you enter, cleaned text, custom presets, and preferences stay on your Mac. The app does not transmit this content to us. Apple separately processes App Store purchases, downloads, and any diagnostics you choose to share with Apple. | Local text cleanup, clipboard actions, saved presets, and app preferences. |
| Security and abuse prevention | IP addresses, log files, blocked requests, spam signals, suspicious activity, device/browser data. | Protecting the site, app, services, users, and business from spam, fraud, malware, attacks, and other garbage behaviour. |
Do not send sensitive personal information unless it is genuinely necessary. If you voluntarily send health, political, religious, sexual, biometric, criminal, or other special-category data, it will be handled only as needed for the reason you sent it, legal protection, or deletion. I am not asking for that stuff.
4. ZeroStrike Android app
This section exists because app privacy needs to be painfully explicit. Google Play requires a public, non-geofenced privacy policy that names the app or developer, discloses collection, use, sharing, security, retention, and deletion. Fair enough. Annoying, but fair.
Current baseline
ZeroStrike is designed to avoid collecting personal information directly from users unless a feature in the app clearly requires it.
- No O'Neill Media account is required unless a future account feature is explicitly added.
- O'Neill Media does not intentionally collect your contacts, SMS, call logs, precise location, health data, calendar, microphone audio, camera images, photos, videos, or files unless a future feature clearly asks for access and you grant it.
- O'Neill Media does not sell ZeroStrike user data.
- O'Neill Media does not use ZeroStrike user data for third-party advertising unless an advertising-supported version is clearly disclosed in the app and in Google Play.
Local app data
ZeroStrike may store gameplay progress, settings, preferences, achievements, scores, saved states, or similar data locally on your device. This is necessary for the app to work and for you not to lose progress every time Android sneezes.
Diagnostics and crash reports
ZeroStrike may generate technical diagnostics such as app version, Android version, device model, crash logs, performance data, error events, and timestamps. These are used for debugging, stability, security, and support.
Google Play and platform data
If ZeroStrike is installed through Google Play, Google may process data for app delivery, updates, Play Protect, security scanning, crash reporting, diagnostics, reviews, refunds, payment handling, and compliance. Google's own privacy policy and Google Play terms apply to Google's processing.
Permissions
If ZeroStrike requests Android permissions, the permission is used only for the feature presented in the app. If a permission is not needed, it should not be requested. That is not just privacy hygiene; it is basic sanity.
Feature-specific app scenarios
- In-app purchases: handled by Google Play Billing. O'Neill Media may receive order status or transaction identifiers but does not store full payment card numbers.
- Ads: if ads are added, advertising identifiers, device data, approximate location, impressions, clicks, and consent choices may be processed by ad networks. Ads must be disclosed in the app and Google Play Data safety form.
- Analytics: if analytics are added, usage events, device/app data, session data, and crash diagnostics may be processed to understand app performance and usage.
- Cloud saves or accounts: if added, account identifiers, saved progress, authentication data, and support data may be processed. Account deletion must be available from inside the app and from the web where legally or platform-required.
- Leaderboards or multiplayer: if added, display names, scores, rankings, gameplay events, moderation data, and abuse reports may be processed and may be visible to other users.
- Push notifications: if added, push tokens, device identifiers, and notification preferences may be processed to deliver notifications.
- User-generated content: if added, submitted content, moderation data, reports, and account identifiers may be processed and may be visible to other users.
If a feature is not present in the app, that feature-specific processing does not apply. If a feature is added later, this policy and the Google Play Data safety form must be updated before release or at release. Leaving disclosures mismatched is how you get slapped by review bots and then spend your afternoon swearing at a dashboard.
4A. TextWasher macOS app
TextWasher is a macOS text-cleanup app published under the Glass Dagger Labs name. The current version processes the text you enter locally on your Mac. It does not send pasted text, cleaned text, or custom presets to us or to a third-party service. It has no account, advertising, analytics SDK, or built-in cloud sync.
Recent cleaned text is held in app memory while TextWasher runs. You can wipe it in Settings, set an automatic expiry of 15 minutes, one hour, or one day, or leave expiry off. The recent list is not written to disk by TextWasher and disappears when the app quits. Custom presets are stored locally in the Mac's Application Support folder. Preferences are stored locally through macOS settings. You can remove these local files through macOS or by uninstalling and clearing the app's data.
Choosing Copy places the amended text on the macOS clipboard; choosing Wipe Clipboard clears that clipboard. Other apps and macOS features with clipboard access may read copied text under their own controls. TextWasher does not wipe the system clipboard when its recent-item timer expires.
Apple handles App Store payment, download, updates, and any Apple diagnostics separately under Apple's policies. If you open TextWasher's website link or contact us for support, you leave the app and the website or contact sections of this policy apply to that separate interaction. The current App Store privacy disclosure therefore says that TextWasher itself does not collect data from the app.
5. Legal bases under GDPR
Where GDPR, UK GDPR, or similar law applies, processing relies on one or more of these legal bases:
- Consent, Article 6(1)(a): optional cookies, newsletters, marketing emails, optional analytics, optional app permissions, or other consent-based features.
- Contract, Article 6(1)(b): purchases, downloads, client work, support, app functionality, and steps taken before entering into a contract.
- Legal obligation, Article 6(1)(c): tax, accounting, consumer law, regulatory duties, court orders, and legally required records.
- Legitimate interests, Article 6(1)(f): website security, spam prevention, fraud prevention, diagnostics, basic analytics, responding to enquiries, defending legal claims, improving services, and running a small publishing/software business without drowning in nonsense.
Where special-category data is processed because you voluntarily sent it or because it is required for a legal matter, the basis may include explicit consent, legal claims, or another lawful Article 9 GDPR condition.
No automated decision-making or profiling is used that produces legal or similarly significant effects on you.
8. International transfers
O'Neill Media is based in Germany. Some providers may process data in the EU/EEA, the United Kingdom, the United States, or other countries. When personal data is transferred outside the EU/EEA or another protected jurisdiction, safeguards may include adequacy decisions, Standard Contractual Clauses, transfer risk assessments, provider security commitments, encryption, minimisation, or another lawful transfer mechanism.
Here is the blunt bit: using global platforms such as Google, Amazon, payment processors, app stores, social networks, analytics tools, or email providers can involve international processing. If you click out to them, their own transfer arrangements apply too.
9. Retention and deletion
Personal data is kept only as long as necessary for the purpose collected, unless a longer period is required for legal, accounting, tax, security, dispute, or regulatory reasons.
| Data type | Typical retention |
|---|---|
| Contact messages and support emails | As long as needed to respond, manage the relationship, keep business records, or handle disputes. |
| Newsletter records | Until you unsubscribe or the list is shut down, plus limited records needed to prove consent or prevent re-importing unsubscribed addresses. |
| Invoices, contracts, and transaction records | For legally required tax, accounting, and commercial retention periods. |
| Server logs and security records | For a limited period needed for security, diagnostics, and abuse prevention, unless longer retention is needed for an incident. |
| ZeroStrike local app data | Stored on your device until you delete it, clear app data, uninstall the app, reset your device, or your platform removes it. |
| TextWasher local presets and preferences | Stored on your Mac until you remove the app's local data. Recent cleaned text is kept in memory only while the app runs and may expire sooner if you choose an interval. |
| Crash reports and diagnostics | As long as needed to debug, secure, and improve the app or comply with platform requirements. |
To request deletion, email Mark O'Neill. For ZeroStrike local data, delete it through Android settings, clear app storage, or uninstall the app. For TextWasher, wipe recent items in Settings, quit the app to clear in-memory history, and remove its local presets and preferences through macOS when needed. For Google Play, Google account, retailer, payment, or marketplace data, use that provider's own account controls because I cannot delete records I do not control. Annoying, but that's the architecture.
10. Your privacy rights
Depending on where you live, you may have the right to:
- access personal data held about you;
- receive a copy of your data;
- correct inaccurate or incomplete data;
- request deletion;
- restrict processing;
- object to processing based on legitimate interests;
- withdraw consent at any time where processing is based on consent;
- request portability of data you provided;
- object to direct marketing;
- complain to a data protection authority.
If you are in California, Colorado, Connecticut, Virginia, Utah, or another jurisdiction with consumer privacy rights, you may also have rights to know, access, correct, delete, obtain a portable copy, opt out of certain sale/share/targeted advertising uses, and avoid discrimination for exercising your rights. I do not sell personal information in the ordinary data-broker sense. If targeted advertising or cross-context behavioural advertising is ever used, the relevant opt-out mechanism must be provided.
Requests should be sent to Mark O'Neill. I may need to verify your identity before fulfilling a request. That is not me being difficult; handing account data to a random stranger would be idiotic.
11. Children and age limits
markoneill.org and ZeroStrike are not directed at children under 13. I do not knowingly collect personal information from children under 13. If a child has provided personal information, contact me and I will delete it where legally and technically possible.
If any future version of ZeroStrike or another service is offered to children or families, the relevant child privacy rules, app store family policies, age gates, parental consent requirements, and Data safety disclosures must be updated before launch. Shipping first and thinking later is how people get policy violations. Do not do that.
12. Security and breaches
Reasonable technical and organisational measures are used to protect personal data, including access controls, reputable service providers, backups, updates, spam protection, and security monitoring where appropriate.
No website, app, email system, host, payment processor, or cloud platform is perfectly secure. Anyone promising perfect security is lying, selling something, or both.
If a personal data breach occurs and notification is legally required, affected users and/or the relevant supervisory authority will be notified as required by law.
13. Third-party sites and platforms
The site and app may link to or rely on third parties such as Amazon, Goodreads, Fantastic Fiction, YouTube, Google, Google Play, Linktree, affiliate networks, book retailers, payment processors, hosting providers, analytics services, and social media platforms.
When you use a third-party service, that service is responsible for its own processing. Read their privacy policy if you want the full horror novel. I do not control their accounts, cookies, algorithms, ads, checkout systems, recommender engines, refunds, security logs, or data retention.
14. Changes to this policy
This policy may be updated when the website, apps, services, legal requirements, business structure, processors, or third-party tools change. The latest version will be posted on this page with a revised "Last updated" date. Material changes may be highlighted where appropriate.
15. Contact
Questions, deletion requests, access requests, complaints, or privacy concerns can be sent here:
Mark O'Neill / O'Neill Media
Glass Dagger Press, Samizdat Press, ZeroStrike Labs
Postfach 9301
97093 Wurzburg
Germany
Email: Mark O'Neill