add a page to help users understand what Coquelicot does and its limits
authorLunar <lunar@anargeek.net>
Fri, 23 Mar 2012 16:01:22 +0000 (17:01 +0100)
committerLunar <lunar@anargeek.net>
Thu, 14 Mar 2013 09:12:09 +0000 (10:12 +0100)
lib/coquelicot/app.rb
spec/coquelicot/app_spec.rb
views/about_your_data.haml [new file with mode: 0644]
views/layout.haml

index 940dd96..9eeb577 100644 (file)
@@ -133,6 +133,10 @@ module Coquelicot
            File.read(File.join(settings.root, 'README')).gsub(/^/, '  '))
     end
 
+    get '/about-your-data' do
+      haml :about_your_data
+    end
+
     get '/random_pass' do
       "#{Coquelicot.gen_random_pass}"
     end
index 3308723..f4e3c86 100644 (file)
@@ -104,6 +104,25 @@ describe Coquelicot::Application do
     end
   end
 
+  describe 'get /about-your-data' do
+    it 'should display some info about data retention' do
+      visit '/about-your-data'
+      find('h1').should have_content('About your data…')
+    end
+    context 'when using SSL' do
+      it 'should notice the connection is encrypted' do
+        visit 'https://example.com/about-your-data'
+        page.should have_content('Exchanges between your computer and example.com are encrypted.')
+      end
+    end
+    context 'when not using SSL' do
+      it 'should notice the connection is encrypted' do
+        visit 'http://example.com/about-your-data'
+        page.should_not have_content('Exchanges between your computer and example.org are encrypted.')
+      end
+    end
+  end
+
   describe 'post /authenticate' do
     context 'when given a request with too much input' do
       before do
diff --git a/views/about_your_data.haml b/views/about_your_data.haml
new file mode 100644 (file)
index 0000000..0e1f593
--- /dev/null
@@ -0,0 +1,45 @@
+-# -*- coding: UTF-8 -*-
+-# Coquelicot: "one-click" file sharing with a focus on users' privacy.
+-# Copyright © 2010 potager.org <jardiniers@potager.org>
+-#
+-# This program is free software: you can redistribute it and/or modify
+-# it under the terms of the GNU Affero General Public License as
+-# published by the Free Software Foundation, either version 3 of the
+-# License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-# GNU Affero General Public License for more details.
+-#
+-# You should have received a copy of the GNU Affero General Public License
+-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%h1 About your data…
+#content
+  :markdown
+    Welcome to *Coquelicot*. A simple way to share files with people you know,
+    with a little bit of privacy.
+  %h2 What should I expect from “a little bit of privacy”?
+  - if request.secure?
+    %p Exchanges between your computer and #{request.host} are encrypted.
+    :markdown
+      An attacker in-between will be able to see how much data is exchanged,
+      but not its nature.
+  :markdown
+    Files are stored encrypted. In case someone gets access to the server
+    storage, they will know the size, arrival and expiration dates of the
+    files; but they will not be able to get their content without the
+    password.
+
+    In case no *download password* has been specified, the password might
+    be kept in the server request logs.
+
+    If a *download password* has been specified, the password will not be
+    stored anywhere on the server, except if it has been actively compromised
+    beforehand.
+  %h2 What if I don't trust the server admins?
+  :markdown
+    You are [free](http://www.gnu.org/licenses/agpl.txt) to install Coquelicot
+    on your own system. Please refer to the [README](README) if you wish to
+    know how.
index dacd7de..42cb60c 100644 (file)
@@ -48,6 +48,8 @@
     #container
       = yield
     #footer
+      %a{ :href => 'about-your-data' }= 'About your data…'
+      = '—'
       %a{ :href => 'README' }= 'Coquelicot'
       %span= '© 2010-2012 potager.org'
       %span