2021-05-02 03:08:30 +02:00
|
|
|
<script context="module">
|
|
|
|
import { browser, dev } from '$app/env'
|
2021-12-22 15:20:30 +01:00
|
|
|
import { status } from '$lib/stores/status'
|
|
|
|
import AboutParagraph from '$lib/ui/AboutParagraph.svelte'
|
|
|
|
|
2021-05-02 03:08:30 +02:00
|
|
|
export const hydrate = dev
|
|
|
|
export const router = browser
|
|
|
|
export const prerender = true
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<svelte:head>
|
|
|
|
<title>About</title>
|
|
|
|
</svelte:head>
|
|
|
|
|
|
|
|
<section class="content">
|
|
|
|
<h1>About</h1>
|
|
|
|
|
|
|
|
<p>
|
2021-12-22 15:20:30 +01:00
|
|
|
<i>cryptgeon</i> is a secure, open source sharing note / file service inspired by
|
2021-05-02 03:08:30 +02:00
|
|
|
<a href="https://privnote.com"><i>PrivNote</i></a>.
|
|
|
|
</p>
|
|
|
|
|
2021-12-22 15:20:30 +01:00
|
|
|
<AboutParagraph title="how does it work?">
|
|
|
|
<span>
|
2021-12-30 22:36:28 +01:00
|
|
|
each note has a generated <code>id (256bit)</code> and <code>key 256(bit)</code>. The
|
|
|
|
<code>id</code>
|
|
|
|
is used to save & retrieve the note. the note is then encrypted with aes in gcm mode on the client
|
|
|
|
side with the <code>key</code> and then sent to the server. data is stored in memory and never
|
|
|
|
persisted to disk. the server never sees the encryption key and cannot decrypt the contents of
|
|
|
|
the notes even if it tried to.
|
2021-12-22 15:20:30 +01:00
|
|
|
</span>
|
|
|
|
</AboutParagraph>
|
2021-05-02 03:08:30 +02:00
|
|
|
|
2021-12-22 15:20:30 +01:00
|
|
|
<AboutParagraph title="features">
|
|
|
|
<ul>
|
|
|
|
<li>server cannot decrypt contents due to client side encryption</li>
|
|
|
|
<li>view and time constraints</li>
|
|
|
|
<li>in memory, no persistence</li>
|
|
|
|
</ul>
|
|
|
|
</AboutParagraph>
|
2021-05-02 03:08:30 +02:00
|
|
|
|
2021-12-22 15:20:30 +01:00
|
|
|
<AboutParagraph title="tech stack">
|
|
|
|
<span>
|
|
|
|
the backend is written in rust and the frontend is svelte and typescript.
|
|
|
|
<br />
|
|
|
|
you are welcomed to check & audit the
|
|
|
|
<a href="https://github.com/cupcakearmy/cryptgeon" target="_blank" rel="noopener">
|
|
|
|
source code
|
|
|
|
</a>.
|
|
|
|
</span>
|
|
|
|
</AboutParagraph>
|
2021-05-02 12:31:32 +02:00
|
|
|
|
2021-12-22 15:20:30 +01:00
|
|
|
<AboutParagraph title="attribution">
|
|
|
|
<span>
|
2021-05-02 12:31:32 +02:00
|
|
|
icons made by <a href="https://www.freepik.com" title="Freepik">freepik</a> from
|
|
|
|
<a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>
|
2021-12-22 15:20:30 +01:00
|
|
|
</span>
|
|
|
|
</AboutParagraph>
|
|
|
|
|
|
|
|
<AboutParagraph title="version">
|
|
|
|
<span>
|
|
|
|
{#if $status}
|
|
|
|
<code>v{$status.version}</code>
|
|
|
|
{/if}
|
|
|
|
</span>
|
|
|
|
</AboutParagraph>
|
2021-05-02 03:08:30 +02:00
|
|
|
</section>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
section {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
padding-left: 1rem;
|
|
|
|
list-style: square;
|
|
|
|
}
|
|
|
|
</style>
|