Calendar Lock PEA - Free Encrypted iCalendar Application

Runs with Java runtime environment up to (at least) Java 17.

Calendar Lock PEA is an easy to use open source calendar tool that you can use for keeping track of your events. It includes a customizable month, week and day view where you can add and edit appointments. The calendars can be stored with various cloud providers.

Window for one month with seven columns for weekdays, five rows and colored event buttons Calendar Lock PEA: Month View


Main Features

Privacy Protection

Confidentiality through On-the-fly encryption: The content is decrypted only when requested and only in memory, never on disk.

iCalendar Compatibility

Compatible with iCalendar data (ics files), such as those used in Google Calendar, Apple Calendar, Microsoft Outlook and other areas.

Cloud Support

Save your calendars in the cloud and upload new versions using several cloud providers. All data remain encrypted during this process.

Authenticated Encryption

Protects the integrity of the data by an authenticated encryption. This guarantees that the data has not been manipulated.

Virtual keyboard against Keyloggers

Provides an internal on-screen keyboard to protect against hardware keyloggers as well against some software keyloggers.

Additional Features

The program is small and consists of a single archive file. Installation is not required.

Calendar Data

Calendar data should always be available and never be lost, which is one reason they are often stored in the cloud.

At the same time, calendars contain very sensitive and personal information and are a worthwhile target for snooping:

This application intends to protect calendar data.

Download Options for Calendar Lock PEA 1.3:

Key Derivation Function: Catena-Dragonfly,Argon2
Cipher (EAX-Mode): Threefish, AES-256
Hash Function: Blake2b, SHA-3

If the Calendar Lock PEA does not meet your expectations, take a look at the alternatives.


Window for one week with seven columns for weekdays, lines for hours and colored event buttons Calendar Lock PEA: Week View

Recurrence Rule: Like in most other iCalendar applications, only the most common recurrence rules can be defined. The full set of possible recurrence rules would make the setting extremly complicated and is unlikely to be used. Some properties may still be added, but on the whole the recurrence rule is complete - at least as complete as intended.

The main views (daily, weekly, monthly) are implemented. A yearly overview and an event list should be added.

It is not intended to implement all the features defined in RFC 5545.

Some featuresFeatures like multi-lingual support, ATTENDEE, CATEGORY
will probably be added later.

The accessibility support is to be improved.

The graphic user interface in the historical style of the 90s will remain.

The Long-time Goal of this Application

It's nice to have calendars protected on a PC. But as long as mobile devices automatically pass such data to companies like Google, Microsoft or Apple, that's not much.

In principle, it is possible to synchronize these data between different devices without ever storing them unencrypted on any device or any cloud server. Necessary for this is an application on each of these systems, which indeed displays this data, but always stores and synchronizes them in encrypted form. That's a lot of work. And you have to start from scratch. Synchronization standards such as the CalDAV protocol completely ignore user privacy and rule out the possibility of encryption in principle.

Dialog displaying a file name to open and a password field Password dialog to open encrypted calendars

The Calendar Lock PEA is also meant as a very first step towards this long term goal. Any help to achieve this goal is welcome: bug reports, reviews, programming, or even donation.


Thanks to all who have improved, tested or reviewed Calendar Lock PEA:

How to use

Start the Jar Archive

You need OpenJDK, Java Runtime Environment (JRE) or something similar (at least 1.8). On most systems there is at least one available.
These PEAs are single Java jar archives, a file with the extension "jar". If you are familiar with jar archives, you can skip the following part.

Linux, BSD systems and Mac OS and other UNIX like systems: unpack the compressed download file (tar or unzip). Store it for example in your home folder. Change in the directory in console and type: java -jar YOUR_ARCHIVE.jar or try to double click the file
Windows: Normally you can open the jar archive just by a double click. But sometimes other programs overwrites this possibility and instead unpack the jar archive. In this case you can change the default program to open a jar archive or use the terminal, change in the directory of your archive and type java -jar YOUR_ARCHIVE.jar or try to double click the file windows_start_helper.bat

Initialization: First Start

The first time you start the Calendar Lock PEA, the program will initialize. You are asked for a password, a calendar name and color.
You can reset the password later in the menu.

Like on  a  or share on...