<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Sealas - Secure Easy And Lovely Accounting Software]]></title><description><![CDATA[Sealas - Secure Easy And Lovely Accounting Software]]></description><link>https://sealas.at</link><generator>metalsmith-feed</generator><lastBuildDate>Mon, 12 Nov 2018 16:26:33 GMT</lastBuildDate><atom:link href="https://sealas.at/rss_blog.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[Offline first, client-side encryption and the quest for a proper datastore]]></title><description><![CDATA[Permanent storage is something <em>most</em> applications want to have in one way or another. Selecting the right storage wouldn't be a choice at all if there weren't so many options out there, and a lot of these come with their respective advantages and disadvantages.]]></description><link>https://sealas.at/blog/2018-05/offline-first-client-side-encryption-and-the-quest-for-a-proper-datastore/</link><guid isPermaLink="true">https://sealas.at/blog/2018-05/offline-first-client-side-encryption-and-the-quest-for-a-proper-datastore/</guid><pubDate>Mon, 07 May 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Designing a user system for an encrypted application (Auth Part 0)]]></title><description><![CDATA[When writing a user system for a client-side encrypted application, you first have to start with the universe. Well, that might be too much, so let's start a bit further ahead.]]></description><link>https://sealas.at/blog/2018-04/designing-a-user-system-for-an-encrypted-application-auth-part-0/</link><guid isPermaLink="true">https://sealas.at/blog/2018-04/designing-a-user-system-for-an-encrypted-application-auth-part-0/</guid><pubDate>Fri, 06 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Translated E-Mails and Account Verification with Phoenix and Swoosh (Auth Part 4)]]></title><description><![CDATA[We're really starting to get to know each other, hm? Having gone through writing an auth token library in parts <a href="/blog/2017-12/tokens-cookies-and-sessions-an-auth-story-part-1/">1</a> and <a href="/blog/2018-01/encrypted-auth-tokens-for-phoenix-auth-part-2/">2</a>, and the first steps towards protecting our API with an auth process in part <a href="/blog/2018-01/designing-and-writing-a-basic-authentication-api-with-phoenix-and-elixir-auth-part-3/">3</a>.]]></description><link>https://sealas.at/blog/2018-03/translated-e-mails-and-account-verification-with-phoenix-and-swoosh-auth-part-4/</link><guid isPermaLink="true">https://sealas.at/blog/2018-03/translated-e-mails-and-account-verification-with-phoenix-and-swoosh-auth-part-4/</guid><pubDate>Tue, 13 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fortifying APIs: timing attacks]]></title><description><![CDATA[One of the most important features of an API, besides usability, is resilience.
A big aspect of a more resilient API is a restricted amount of information communicated.
This is important to keep in mind, since every <em>bit</em> of information you give away, aids in an attack against your API.]]></description><link>https://sealas.at/blog/2018-02/fortifying-apis-timing-attacks/</link><guid isPermaLink="true">https://sealas.at/blog/2018-02/fortifying-apis-timing-attacks/</guid><pubDate>Tue, 13 Feb 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Designing and writing a basic authentication API with Phoenix and Elixir (Auth Part 3)]]></title><description><![CDATA[Continuing this series on writing and developing an authentication process with Phoenix and Elixir, so far we've covered developing our authentication library <a href="https://github.com/Brainsware/authtoken">authtoken</a> in part <a href="https://sealas.at/blog/2017-12/tokens-cookies-and-sessions-an-auth-story-part-1/">1</a> and <a href="https://sealas.at/blog/2018-01/encrypted-auth-tokens-for-phoenix-auth-part-2/">2</a>.]]></description><link>https://sealas.at/blog/2018-01/designing-and-writing-a-basic-authentication-api-with-phoenix-and-elixir-auth-part-3/</link><guid isPermaLink="true">https://sealas.at/blog/2018-01/designing-and-writing-a-basic-authentication-api-with-phoenix-and-elixir-auth-part-3/</guid><pubDate>Fri, 26 Jan 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Encrypted auth tokens for Phoenix (Auth part 2)]]></title><description><![CDATA[Last time, in <a href="https://sealas.at/blog/2017-12/tokens-cookies-and-sessions-an-auth-story-part-1/">Tokens, cookies and sessions: an auth story (Part 1)</a>, we talked about the decision-making process behind our authentication mechanism.]]></description><link>https://sealas.at/blog/2018-01/encrypted-auth-tokens-for-phoenix-auth-part-2/</link><guid isPermaLink="true">https://sealas.at/blog/2018-01/encrypted-auth-tokens-for-phoenix-auth-part-2/</guid><pubDate>Mon, 08 Jan 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tokens, cookies and sessions: an auth story (Part 1)]]></title><description><![CDATA[When deciding which way to go with communicating and storing authentication information, one can easily drift into a bad trip and start wondering how anything ever works.]]></description><link>https://sealas.at/blog/2017-12/tokens-cookies-and-sessions-an-auth-story-part-1/</link><guid isPermaLink="true">https://sealas.at/blog/2017-12/tokens-cookies-and-sessions-an-auth-story-part-1/</guid><pubDate>Wed, 20 Dec 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Custom ecto types]]></title><description><![CDATA[Custom types in Ecto are a really nice way of abstracting away some functionality you need in a lot of places concerning your schemas.
That sounds really nice, but let's break that down to something more digestible.]]></description><link>https://sealas.at/blog/2017-11/custom-ecto-types/</link><guid isPermaLink="true">https://sealas.at/blog/2017-11/custom-ecto-types/</guid><pubDate>Sat, 18 Nov 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[PGP signed git commits: Encrypt & Verify made easy… possible]]></title><description><![CDATA[Last time we went over creating a <a href="https://sealas.at/blog/2017-07/creating-a-secure-cloud-infrastructure/">secured infrastructure and network for our SaaS operation</a>.]]></description><link>https://sealas.at/blog/2017-10/pgp-signed-git-commits-encrypt-verify-made-easy-possible/</link><guid isPermaLink="true">https://sealas.at/blog/2017-10/pgp-signed-git-commits-encrypt-verify-made-easy-possible/</guid><pubDate>Fri, 20 Oct 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Multi tenant vs multi instance]]></title><description><![CDATA[The decision behind every SaaS DB: MT or MI?
Do you host everything in one large database or do you split apart your users and give each their own database?]]></description><link>https://sealas.at/blog/2017-09/multi-tenant-vs-multi-instance/</link><guid isPermaLink="true">https://sealas.at/blog/2017-09/multi-tenant-vs-multi-instance/</guid><pubDate>Sat, 23 Sep 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Setting up a Phoenix Umbrella App]]></title><description><![CDATA[Our decision to run the rewrite of <a href="https://github.com/Brainsware/sealas">Sealas</a> with <a href="https://elixir-lang.org">Elixir</a> came out of our interest in the language and the architecture behind it.]]></description><link>https://sealas.at/blog/2017-08/setting-up-a-phoenix-umbrella-app/</link><guid isPermaLink="true">https://sealas.at/blog/2017-08/setting-up-a-phoenix-umbrella-app/</guid><pubDate>Thu, 24 Aug 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[secure deployment]]></title><description><![CDATA[A secure infrastructure is pretty useless if the application being transported is not reliably secure. So this week we will talk about securing our deployment and continuous integration process.]]></description><link>https://sealas.at/blog/2017-08/secure-deployment/</link><guid isPermaLink="true">https://sealas.at/blog/2017-08/secure-deployment/</guid><pubDate>Fri, 04 Aug 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Creating a Secure Cloud Infrastructure]]></title><description><![CDATA[Last week we talked about the <a href="/blog/2017-07/sealas-threat-model/">application's threat model</a>.
Now let's talk about securing our infrastructure.]]></description><link>https://sealas.at/blog/2017-07/creating-a-secure-cloud-infrastructure/</link><guid isPermaLink="true">https://sealas.at/blog/2017-07/creating-a-secure-cloud-infrastructure/</guid><pubDate>Fri, 21 Jul 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sealas Threat Model]]></title><description><![CDATA[Before we can properly develop our application, it helps to have a clearly formulated idea about what you want to do, and why.
When it comes to an application whose goal is to provide a secure environment for its users, it is important to have a concrete threat model.
This way we know what to protect against - and also why.]]></description><link>https://sealas.at/blog/2017-07/sealas-threat-model/</link><guid isPermaLink="true">https://sealas.at/blog/2017-07/sealas-threat-model/</guid><pubDate>Mon, 10 Jul 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Relaunching Sealas or: How I learned to stop worrying and kill our product]]></title><description><![CDATA[<p><img src="/images/site/blog/2017-07/ta-daaa.jpeg" alt="graceful failure"></p>
<p>Sealas was our our first attempt to create a SaaS.</p>
<p>It started out as a simple idealistic idea: frustrated with the available options, we wanted to create an easy to use accounting application, that encrypts all user data before storing.</p>
<p>But we failed horribly.</p>]]></description><link>https://sealas.at/blog/2017-07/relaunching-sealas-or-how-i-learned-to-stop-worrying-and-kill-our-product/</link><guid isPermaLink="true">https://sealas.at/blog/2017-07/relaunching-sealas-or-how-i-learned-to-stop-worrying-and-kill-our-product/</guid><pubDate>Fri, 07 Jul 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Why we develop Zero Knowledge Software]]></title><description><![CDATA[<p><a href="https://www.freshbooks.com">Every</a> <a href="https://debitoor.de">cloud</a> <a href="https://www.xero.com">service</a> you may use implicitly requires you to trust them with <strong>all</strong> your data you work with.</p>
<p>This means that your service provider will always know everything you do when using their product, whether you agree to that or not.</p>]]></description><link>https://sealas.at/blog/2017-02/why-we-develop-zero-knowledge-software/</link><guid isPermaLink="true">https://sealas.at/blog/2017-02/why-we-develop-zero-knowledge-software/</guid><pubDate>Sun, 26 Feb 2017 00:00:00 GMT</pubDate></item></channel></rss>