Giter Club home page Giter Club logo

Skrifa

A note taking app focused on simplicity and privacy using PGP to encrypt all your notes.

From school to your office, Skrifa is the word processor for everyone.

With a minimal, distraction free, simple and yet powerful interface, it's focused on what you really care, your content. It is so versatile that you'll have no problem using it for any scenario, as a power user or just as a simple quick note taking app.

From text styling to videos and images, and there are also features for more specific things like writing code, math and data tables

Writing Math

Having a suitable notebook for any ocation is something we all need, Skrifa has Mathjax capabilities so that you can write math formulas and some LaTeX code, ideal for students and people who work with math! Doing it is as simple as just typing your formula like this: $x + y = z$

Writing Code

Thanks to Prism.js Skrifa also has code highlightning for you!

How Skrifa Protects Your Privacy

With a Skrifa account

If you don't want all the work of creating, mantaining and storing a PGP key, you can let Skrifa do it for you! When registering for a Skrifa account you'll be asked for an email address and password. Once you've downloaded the app you'll create a new PGP key which will be used to encrypt all your notes, this key will be created using a new passphrase you'll set up, using that passphrase your key will be encrypted and saved locally, an encrypted version of your key is also uploaded to the server so that you won't have to manage it manually. This behavior is fairly similar to the one used by ProtonMail.

With a PGP key

If you don't want to use an Skrifa acccount and rely your key to a server, you can also use a PGP key you already own or create a new one, while this may be more secure, it also comes with great responsibility since you'll have to backup your key, remember that key is the only way to access your notes! This means that Skrifa is now a lot more compatible with other PGP software since you can import a key created by an external application as well as use your Skrifa generated local key in them.

On a daily basis

No matter what PGP key method you've chosen, every time you start skrifa you'll be asked to enter your key's passphrase in order to decrypt it and decrypt your notes, every note and notebook you create is encrypted using that key and only you will be able to read it after decrypting them. They will never be stored unencrypted unless you export them in such a manner. The passphrase is never uploaded anywhere so you can be sure you are the only one who can decrypt your key and notes.

No Ads, No Track

Skrifa will never used Ads and will never track you in any way, the only data that will ever be uploaded is the following and only if you choose to have a Skrifa account:

  • Username
  • Password (Properly hashed and stored)
  • Public Key
  • Private Key (Properly encrypted with your passphrase)

If you've chosen to use a local key then absolutely no information is uploaded! The only network connections Skrifa will ever have are under the following situations:

  • Log In
  • Create a new Key for your Skrifa account
  • Get an image from an URL
  • Load an embedded video
  • Check for updates
  • Download another user's public key for note sharing

Sharing Notes

Sharing notes is incredibly easy, if you are sharing the note with a registered Skrifa user, all you'll need is his/her username and a Skfira Note will be created for you to share it. If you are sharing the note with a Skrifa user who uses an offline key, then you'll need his public key, a dialog will appear asking you to select the public key you want to share the note with. You can also share your note in a plaintext PGP Message so someone who is not using Skrifa at all will be able to read it with any other PGP software!

Contributing

There are several ways you can contribute to the development of Skrifa

Creating a new Theme

Creating a new CSS theme is incredibly easy! All you have to do is copy the theme-template.css file into a file with your theme's name inside the themes directory. This file already has a lot of the common elements you'll need to style in order to create a functional theme, once you've copied the file, the next step is to rename the theme class to your theme's name, using a find and replace all utility is pretty useful!

To load your theme, you'll need to add the stylesheet link in the index.html file as well as adding the option in the select element inside the settings view, remember the value of the select must match the class name of your theme!

Adding functionality

Skrifa is very extensible and you can add all kinds of functionality, from utilities for the editor to new export formats or encryption features. You may know Skrifa is divided in views or screens, each view has a javascript file that contains all it's functionality.

If you want to add a new view, you'll need to create it inside the index.html file and add a javascript file for it's functionality.

Reporting a Bug

If you've found an error please report it so it can be fixed, describe the error and what you were doing while it happened.

Buying Skrifa

Skrifa is a pay-what-you-want software, every time someone pays for skrifa, the payment will be dividad 50/50 between the developers and donations for the projects Skrifa uses.

Supporting via Patreon

You can support me via Patreon, by supporting me via patreon you are not only contributing to this project but also all my other projects and contributions!

Fixing a Bug

If you've found a bug and you are willing to fix it, just clone this repository, fix the bug and make a Pull Request, your code will be evaluated and then merged to the main branch, it really is simple to contribute!

License

Skrifa is released under the GPLv3.0 License

Skrifa's Projects

editor icon editor

The Skrifa rich text editor as a self-contained web component

skrifa icon skrifa

A simple word processor built with web technologies.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.