All Projects β†’ shibacomputer β†’ Txt

shibacomputer / Txt

Licence: gpl-3.0
A simple, private writing app.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Txt

Quick Picture Viewer
πŸ–ΌοΈ Lightweight, versatile desktop image viewer for Windows. The best replacement for the default Windows photo viewer.
Stars: ✭ 237 (+169.32%)
Mutual labels:  application, desktop
Org Wiki
Wiki for Emacs org-mode built on top of Emacs org-mode.
Stars: ✭ 319 (+262.5%)
Mutual labels:  notebook, desktop
MyJournal.Notebook
My Journal Add-In for Microsoft OneNote
Stars: ✭ 41 (-53.41%)
Mutual labels:  journal, notebook
Nanoleaf Desktop
A modern desktop application for the Nanoleaf Aurora and Canvas
Stars: ✭ 90 (+2.27%)
Mutual labels:  application, desktop
Laravel Kit
A desktop Laravel admin panel app
Stars: ✭ 440 (+400%)
Mutual labels:  application, desktop
Desktop
Go/HTML/CSS/JS Desktop application scaffold.
Stars: ✭ 109 (+23.86%)
Mutual labels:  application, desktop
desktop
Extendable calculator for the 21st Century ⚑
Stars: ✭ 85 (-3.41%)
Mutual labels:  application, desktop
Wallop
Extensible, living/animated wallpaper engine built in C# using Silk.NET's OpenGL wrapper at its core.
Stars: ✭ 27 (-69.32%)
Mutual labels:  application, desktop
Appify
Create a macOS Application from an executable (like a Go binary)
Stars: ✭ 372 (+322.73%)
Mutual labels:  application, desktop
Gojot
A command-line journal that is distributed and encrypted, making it easy to jot notes πŸ““
Stars: ✭ 340 (+286.36%)
Mutual labels:  journal, encryption
Laravel Electron
Making Laravel desktop application using Electron Js
Stars: ✭ 89 (+1.14%)
Mutual labels:  application, desktop
Vscodenotebook
πŸ“ Use VS Code as a reliable note-taking/journal application
Stars: ✭ 584 (+563.64%)
Mutual labels:  journal, notebook
Sublimenotebook
πŸ“ Make Sublime Text your favorite note taking/journal application
Stars: ✭ 203 (+130.68%)
Mutual labels:  journal, notebook
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+3818.18%)
Mutual labels:  application, desktop
Rednotebook
RedNotebook is a cross-platform journal
Stars: ✭ 336 (+281.82%)
Mutual labels:  journal, desktop
Swifty
πŸ”‘ Free Offline Password Manager
Stars: ✭ 496 (+463.64%)
Mutual labels:  encryption, desktop
Quick Screen Recorder
Lightweight desktop screen recorder for Windows.
Stars: ✭ 80 (-9.09%)
Mutual labels:  application, desktop
Photok
Encrypted Photo Safe for Android
Stars: ✭ 83 (-5.68%)
Mutual labels:  encryption
Vuash
⚠️ Moved to GitLab.
Stars: ✭ 86 (-2.27%)
Mutual labels:  encryption
Desktop Legacy
VPN.ht Desktop Application for Windows and Mac OS X built on top of Electron
Stars: ✭ 83 (-5.68%)
Mutual labels:  desktop

Txt Logo

Txt.app

Txt is a little word processor that keeps your work safe with well-documented encryption.
It is very nearly in Alpha!
🚨🚨🚨 UPDATE! THIS ALPHA WORKS, BUT WORK IS AFOOT ON A NEWER, MORE INTERESTING REVISION 🚨🚨🚨

https://newdesigncongress.org

Txt Screenshot

Getting Started

git clone [email protected]:shibacomputer/txt.git txt
cd txt
πŸ“¦ npm install
πŸ”¨ npm run rebuild
πŸ‘‰ npm start
✨ πŸ“ πŸš€!

This will install everything you need to build Txt successfully! πŸŽ‰

Disclaimer

🚫 THIS IS A HUGE WORK IN PROGRESS AND IS UNTESTED AND UNAUDITED 🚫
I can't stress this enough. This needs a lot of work, the code needs a huge cleanup, I need to write tests and it needs other eyes on it.

Why make this?

One day, I got sick of using Day One as a journal. For me, intertwining my text output with an external subscription service didn't feel right. Instead, I wanted something with a small set of features, that ran locally and that I could trust. I started drawing up some designs, and a year or so later, here we are.

And as it turns out, many people think the idea of working with small, encrypted text files very compelling.

Txt is an opinionated statement on the relationship between personal work, data management and interaction. At time of writing, Txt is the only word processor that offers simple collaboration, document versioning and contact management implemented as such that it can run off of 1 or more USB sticks, or on public infrastructure, whilst offering the same UX on any system - including a live Tails install. In my considerations designing and building this, I'm trying to make sure it's really useful on a day to day basis without any sort of platform lock in. So long as you have access to the key, all Txt documents can be retreived without the app.

The beta focuses on text entry, but 1.0 will include image embeds, management, document histories and a few other features. We'll see where this goes from there.

Choosing GPG encryption and the filesystem as the app's foundation is deliberate. Rather than build a database, Txt relies solely on the filesystem. Anything you make with Txt can be read and reviewed somewhere else. On computers that are already set up with GPG, your work is accessible at a system level if you add the key to your GPG keychain. There is no import/export library tool, because adding one would be redundant. Everything used is off the shelf.

Contributing

I am very grateful for both design and development contributions, as well as bug reports and feature requests! If you'd like to contribute to Txt's development specifically, please take a look at the issues list for issues tagged with "Help Wanted".

License

Txt is licensed undder the GPLv3.

Development

Txt uses events to create simple patterns for interacting between Electron's main and render processes. Once I've cleaned up the beta, I'll write a little more about how this works and what the benefits are.

Threat model

I'll write more on this later, but basically Txt is designed to allow you to store data in untrusted locations, such as a cloud service or on a USB stick.

The app assumes your currently running host system isn't compromised. In the beta, your passphrase is managed by your OS's keychain. The beta won't stop you from creating a terrible passphrase and using that. This will change and as I develop this further I will likely add alternate forms of authentication, eg physical keys or webauth or something else. For now, the goal is that, provided you take some basic steps to protect yourself (eg, taking care of your metadata and choosing a strong passphrase), it should be possible to store your work on untrusted infrastructure as long as a readable "Last Accessed" property is not something you need protected.

Finally, Txt does not protect anything that isn't stored by your filesystem. Your metadata - including the filenames of your work – is available to anyone who has access to the disk.

Connectivity and Consent

Much like the app's stances on encryption and data portability, Txt will also treat all connection requests, like HTTPS, as a privilege. Txt uses a small auto-updater, served from Txt's website and for beta this is enabled by default. Before 1.0, Txt will allow its operator to completely block all connections. In this case, Txt's interface will explicitly ask for consent from its operator to connect to the internet to look for updates.

Txt contains no analytics and no logging. Outside of planned export and collaboration functionality, denying all connectivity should result in minimal feature degradation.

Decentralisation

There are a number of projects in the works that seek to demonstrate collaborative document editing in a decentralised ecosystem. This is a major feature under consideration for Txt.

In a typical ecosystem, the legal or operational risk is centralised and the responsibility of an organisation through security and governance practices. In almost all p2p collaboration cases, these projects shift this risk onto their users by failing to devise solutions for individual privacy when participating as a node. The assumption that user privacy is an optional extra (and the related dismissal of criticism as paranoia) results in two outcomes: unsafe protocols being used in unintended situations (eg as political tools), or apps and protocols running afoul of legislation simply through their design (eg the GDPR).

In much the same way as Txt respects connectivity as a privilege, communication and identification should be an empowering component to an author's interaction and self identity within a network. Txt will not ship with decentralised collaboration, but work will continue on this problem.

Features

Planned for beta

βœ… Simple GPG-managed filesystem-based notekeeping
βœ… Text editor
βœ… Keychain support
βœ… Dark UI theme
βœ… Auto-updating
βœ… Linux support
βœ… GPG Private key encryption
βœ… Export to plain text file
βœ… i18n Support
βœ… Export to passphrase encrypted GPG text file
⬜ Light UI theme
⬜ Switch or replace keys
⬜ Import existing text files or directories
⬜ Export to Are.na
⬜ Export to PDF
⬜ Markdown support
⬜ Simple Track changes via CriticMarkup support

Planned for v1.0

⬜ Contact management
⬜ Document sharing
⬜ Windows support
⬜ Decentralised software updates
⬜ Localisation (First languages: French/Spanish/German/Japanese)
⬜ Automatic image management
⬜ In-app CLI

Language Support

βœ… πŸ‡¬πŸ‡§ English (100%)
⬜ πŸ‡©πŸ‡ͺ Deutsch (0%)
⬜ πŸ‡«πŸ‡· FranΓ§ais (0%)
⬜ πŸ‡ͺπŸ‡Έ EspaΓ±ol (0%)
⬜ πŸ‡―πŸ‡΅ ζ—₯本θͺž (0%)

Big todos

⬜ Better data management
⬜ Better support for file permission edge cases
⬜ Hardware 2FA / GPG support
⬜ True collaboration
⬜ Novel identity and web of trust design
⬜ Filesystem privacy??
⬜ TOR support??
⬜ Secure syncing??

One day

⬜ Go native!

Contacts

The New Design Congress has a mailing list. Join it for very infrequent emails.
Have a feature request? Submit one!

Donate

Once there's something you can actually use, I'll add donation links here!

Credits

Grateful for the following people for their help so far:

~

Txt is an experiment by the New Design Congress, a research group developing a nuanced understanding of technology's role as a social, political and environmental accelerant. We are a fiscally sponsored project of Simply Secure, a US 501(c)3 nonprofit.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].