Table of Contents
Responsible for the contents of
calendarpasteapp.com in accordance with §5 Telemediengesetz and in accordance with §55 Abs. 2 RStV:
+49 177 6467763
My VAT identification number, in accordance with section 27 a of the German VAT act:
Accountability for content
The contents of our pages have been created with the utmost care. However, we cannot guarantee the contents’ accuracy, completeness or topicality. According to statutory provisions, we are furthermore responsible for our own content on these web pages. In this context, please note that I am accordingly not obliged to monitor merely the transmitted or saved information of third parties, or investigate circumstances pointing to illegal activity. Our obligations to remove or block the use of information under generally applicable laws remain unaffected by this as per §§ 8 to 10 of the Telemedia Act (TMG).
Accountability for links
Responsibility for the content of external links (to web pages of third parties) lies solely with the operators of the linked pages. No violations were evident to me at the time of linking. Should any legal infringement become known to me, I will remove the respective link immediately.
My App’s Privacy Policies
App Crash Log Privacy
If you opt in to sending crash logs, I will have a copy of your crash logs.
When one of my apps sends a crash log, it sends only the text of the crash log. You can opt-in to send your email address with the crash log, but you don’t have to. But then I cannot get back with follow-up questions.
The server will, as described below, store some information of the data upload, including the time of day and your IP address.
Crash logs are stored privately and are kept confidential.
However, I may make significant parts of a crash log available publicly when there’s no personal identification in that part of the crash log. For example, I might share something like this:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.CoreFoundation 0x00007fff42df0668 _CFRetain + 65 1 com.apple.CoreFoundation 0x00007fff42cf8b46 -[__NSCFString retain] + 14 2 libswiftCore.dylib 0x00007fff6e756ffe swift_bridgeObjectRetain + 62 3 de.zettelkasten.TheArchive 0x000000010a2c1099 0x10a2ad000 + 82073 4 de.zettelkasten.TheArchive 0x000000010a2f0519 0x10a2ad000 + 275737
This indicates the point of failure in the app and is entirely for the purpose of fixing crashing bugs. It does not tell anyone anything about you or your machine.
Here’s my best attempt to tell you in all honesty what the app is doing. For all that you can know, I might be lying. There’s no remedy for this situation but trust. So here’s a breakdown of the WordCounter’s data processing that may give you some confidence.
The WordCounter (https://wordcounterapp.com) stores two kind of data locally and never transmits any of these over to me or a 3rd party for you:
- Log files for debugging, and
- Your actual word counts.
The app keeps a daily log of events that are of interest for debugging, like “the app went to sleep” or “do auto-save the results so far”. You can inspect that stuff in Console.app > User Reports > WordCounter to see for yourself how boring the information is. You have to send me these files deliberately; I cannot inspect them at whim, and they are deleted once they get a couple of days old.
The statistics from your typing, the real data that is saved permanently, is your word counts. (And nobody is going to inspect these, either, until you send them over manually.) The data is stored in an open, inspectable format:
The WordCounter tracks your keyboard input and increases a tally when a word is finished. To do that, it keeps a couple of key presses from the past in memory, until a word delimiter is registered; it then flushes the cache of recorded and increases the count by 1. A delimiter may be a space or punctuation after a couple of non-space characters. The actual algorithm is implemented by Apple’s Natural Language Toolkit that knows a lot more than I’ll ever do about Chinese grammar rules. Using this in an app like I do will not transmit any information to Apple or a third party, either. It’s just a set of rules similar to the rules that determine how times and dates are formatted differently across the globe.
In other words, it does not translate your key presses into text, stores this in memory or on disk, and then computes a word count based on that. The app is oblivious to what you wrote. If you had a virus that peeked at the contents of the WordCounter in your computer’s memory, it would only find a couple of numbers.
The app does from time to time contact my server at
update.christiantietze.de – that’s where updates are stored, and the WordCounter checks for newer versions regularly by default. It will not transmit any of your data, I will not be able to identify you and your update habits; all that is transmitted is your computer’s IP address. You can inspect all this with tools like Little Snitch that intercept outgoing traffic. I don’t even collect your macOS version. You can disable this in the settings if you’d rather download updates manually than having the app communicate with a web server.
I know that the backbone of my app is virtually indistinguishable from the input mechanism of a key logger, which is one of the worst kinds of malware. It is a risk for you to adopt this app. I don’t see a good way out of this situation, sadly: As long as you don’t compile the app’s code yourself, you cannot absolutely know what happens inside. Even if the app was open source, any downloadable
.app bundle could do something other than what the source code says. Looking at source code but then not compiling it yourself will actually instill a false sense of confidence, because in reality, you’re none the wiser with regard to the executable file.
With all that in mind, I promise I do not track your keystrokes so that anyone could find out what you write, and the app won’t ever do this. Over my dead body will this app ever inflict such harm. And once you find out I have passed away, you may want to not install updates any longer.
Tracking, Cookies, and 3rd Parties
The comments are powered by Disqus, and your visit to my pages is transmitted to them, too, when the contact forms load. You have to accept Disqus’ terms and policies first, though. You login information are handled by Disqus, not me.
You can disable cookies in your browser.
Tracking of website hits
christiantietze.de, I do use session-cookies of VG Wort in Munich, Germany, to let them measure how many people read my articles. I get compensated when I hit a certain threshold of visits per post. The money comes from a “tax” e.g. printer manufacturers have to pay (see the German Wikipedia for info). The usage of this cookie is in accordance with Art. 6 Paragraph 1 DSGVO (aka GDPR).
The data handling is actually done by INFOnline GmbH, Bonn, Germany. You can opt-out completely by having them set an opt-out cookie, ironically, affecting all (German) websites that participate.
My web server automatically collects data for every page you visit as you visit it. Your browser transmits this data, and you can control this from your browser or via plugins, if you want.
The log files on my server include
- browser name and version
- your computer’s operating system
- the referrer URL
- the host name
- the time of access
- your IP address
This data is not combined with anything else. This is in accordance with Art. 6 Paragraph 1 DSGVO (aka GDPR).
Links to Amazon.com are often affiliate links. When you click on these, the shop will give me a share of a few % for any product you buy. This does cost you nothing. Using these links does not set any cookies or transfer your IP. Only when you click on them and visit their shop will Amazon know about you. On their pages, the privacy policies of Amazon apply.
External fonts are served by Google Fonts. According to them, (2018-05-26) they do not set cookies during the process. Also, when the fonts are loaded from their server, the result will be cached by your browser for a year without your computer reaching out to their server again.