<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>About Guardian Project on Guardian Project</title>
    <link>https://guardianproject.info/</link>
    <description>Recent content in About Guardian Project on Guardian Project</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Mon, 08 Feb 2010 06:08:34 -0400</lastBuildDate>
    
        <atom:link href="https://guardianproject.info/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Ripple: respond when panicking</title>
      <link>https://guardianproject.info/apps/info.guardianproject.ripple/</link>
      <pubDate>Tue, 17 Dec 2024 06:26:42 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/info.guardianproject.ripple/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Seeking Ruby/Jekyll contractors to start ASAP</title>
      <link>https://guardianproject.info/2024/12/06/seeking-ruby/jekyll-contractors-to-start-asap/</link>
      <pubDate>Fri, 06 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2024/12/06/seeking-ruby/jekyll-contractors-to-start-asap/</guid>
      <description>

&lt;p&gt;&lt;strong&gt;Guardian Project is seeking Ruby/Jekyll contractors for mobile/free software and privacy work!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We’re looking for self-motivated, free software hackers to work with Guardian Project on privacy and internet freedom for mobile devices. Our work is 100% free software and we have a steady stream of projects that tie into F-Droid, Debian, Android, Fastlane, Mobifree and other exciting projects. We work to support people and communities around the world. This is a flexible, remote position but we also like to work in person when possible.&lt;/p&gt;

&lt;h2 id=&#34;about-you&#34;&gt;About you&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Have at least a few years of experience with Ruby/Jekyll.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Demonstrated the ability to work collaboratively.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Understand public, free software workflows&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Are proactive and self-directed.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Fluent in Git.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;bonus-points-for&#34;&gt;Bonus points for&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Debian (and derivatives)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Experience with GitLab CI&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Python and bash skills&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Understanding privacy implications of metadata&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Life experiences that are underrepresented in tech work&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Fluency in more than one language&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;User research and UX design&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Blogging and writing&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;about-us&#34;&gt;About us&lt;/h2&gt;

&lt;p&gt;This is for projects managed by Hans-Christoph Steiner. We are centered in Vienna, Austria so ideally you work in a similar time zone, but that is not a requirement. We work in English but our team members speak many languages. This work is tied to specific projects and will be contracted per project.&lt;/p&gt;

&lt;p&gt;Please reply to jobs@guardianproject.info or find us in any of the regular channels!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tor Browser for Android (Alpha)</title>
      <link>https://guardianproject.info/apps/org.torproject.torbrowser_alpha/</link>
      <pubDate>Thu, 28 Nov 2024 06:48:03 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.torbrowser_alpha/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Tor Browser for Android</title>
      <link>https://guardianproject.info/apps/org.torproject.torbrowser/</link>
      <pubDate>Wed, 27 Nov 2024 06:45:06 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.torbrowser/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Seeking part-time Grant Administrator</title>
      <link>https://guardianproject.info/2024/08/05/seeking-part-time-grant-administrator/</link>
      <pubDate>Mon, 05 Aug 2024 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2024/08/05/seeking-part-time-grant-administrator/</guid>
      <description>

&lt;p&gt;Location: Fully remote (African/European time zone) or Vienna, Austria.&lt;/p&gt;

&lt;p&gt;Type: Part-time contractor.&lt;/p&gt;

&lt;h2 id=&#34;about-us&#34;&gt;About us&lt;/h2&gt;

&lt;p&gt;Guardian Project is a small organization working to make a big impact in data privacy and secure communications. From the average person looking to use the internet and their mobile device more securely, to journalists needing to safely communicate with sources, to activists looking for secure communication channels, Guardian Project creates solutions that focus on privacy so you have true freedom.&lt;/p&gt;

&lt;p&gt;Since we started this work back in 2008, our team has grown significantly and our impact reach has as well. To help us scale our project even further, we are looking for a dynamic and skilled Grand Administrator to join our team. This role is crucial for the smooth operation of our contractor administration and the effective management of our grants and funding opportunities.&lt;/p&gt;

&lt;p&gt;This team is rooted in Vienna, Austria with a number of contractors around the world. We work mainly in English, our team members speak many languages. Work is contract-based but with the possibility to shift into full-time employment in the future.&lt;/p&gt;

&lt;h2 id=&#34;what-you-ll-do&#34;&gt;What you&amp;rsquo;ll do&lt;/h2&gt;

&lt;h3 id=&#34;support-our-contractors&#34;&gt;Support our Contractors&lt;/h3&gt;

&lt;p&gt;Our team consists primarily of independent contractors, passionate about creating meaningful change through technological solutions. Our freelancers need your support in the following areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drafting and executing working contracts for new and existing team members&lt;/li&gt;
&lt;li&gt;Onboarding new team members and making them feel welcome, introducing them to our internal communication platforms&lt;/li&gt;
&lt;li&gt;Setting up email accounts&lt;/li&gt;
&lt;li&gt;Conducting monthly check-ins with team members to confirm the contract status and update records as necessary&lt;/li&gt;
&lt;li&gt;Process contractor invoices and liaise with our tax accountant&lt;/li&gt;
&lt;li&gt;Event planning and organizing our annual team retreat&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;grant-management&#34;&gt;Grant Management&lt;/h3&gt;

&lt;p&gt;Since our organization&amp;rsquo;s funding is partially dependent on grants, we are looking for someone to support us in all things grant management, including the following areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Research and identify new upcoming grant and private funding opportunities relevant for our organization´s mission&lt;/li&gt;
&lt;li&gt;Inform and liaise with the team to assess suitability and requirements&lt;/li&gt;
&lt;li&gt;Prepare grant applications together with team support&lt;/li&gt;
&lt;li&gt;Build and sustain relationships with grant funders and partners&lt;/li&gt;
&lt;li&gt;Manage reporting requirements for various grants, ensuring all reporting is accurate and submitted on time&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;networking-and-relationship-management&#34;&gt;Networking and Relationship Management&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Stay up to date on industry events and networking opportunities to enhance visibility and outreach opportunities&lt;/li&gt;
&lt;li&gt;Attend industry conventions and gatherings to represent Guardian Project&lt;/li&gt;
&lt;li&gt;Manage leads for private funding opportunities and maintain relationships with existing and potential grant partners&lt;/li&gt;
&lt;li&gt;Liaise with other impactful technology and human rights organizations around the world and stakeholders at different levels&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;enhance-our-outreach-and-engagement&#34;&gt;Enhance our Outreach and Engagement&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Monitor our blog and social media accounts&lt;/li&gt;
&lt;li&gt;Curate relevant content on our online channels to engage our community and enhance our impact&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;who-you-are&#34;&gt;Who You Are&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Strong organizational skills with the ability to manage multiple tasks and deadlines effectively&lt;/li&gt;
&lt;li&gt;Results oriented and willing to expand your current skill set&lt;/li&gt;
&lt;li&gt;Excellent communication skills, both written and verbal, with a knack for relationship building and stakeholder management&lt;/li&gt;
&lt;li&gt;Comfortable working independently in a small team&lt;/li&gt;
&lt;li&gt;Proficient in using office and financial software, including MS Office and cloud-based document management.&lt;/li&gt;
&lt;li&gt;Detail-oriented with a high level of accuracy in handling administrative and financial duties.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;it-s-a-bonus-if-you&#34;&gt;It&amp;rsquo;s a bonus if you&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Have a Bachelor’s degree in Business Administration or Non-profit Management&lt;/li&gt;
&lt;li&gt;Have experience in grant writing and administration&lt;/li&gt;
&lt;li&gt;Have experience working in an international, multicultural team&lt;/li&gt;
&lt;li&gt;Are based in Vienna, Austria and can speak German&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;what-we-offer&#34;&gt;What We Offer&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A supportive and dynamic work environment where your work directly contributes to Guardian Project´s mission&lt;/li&gt;
&lt;li&gt;Flexible working hours and vacation time&lt;/li&gt;
&lt;li&gt;Fully or mostly remote work environment&lt;/li&gt;
&lt;li&gt;A great deal of autonomy and responsibility, with a huge impact on our organization&lt;/li&gt;
&lt;li&gt;A competitive hourly rate&lt;/li&gt;
&lt;li&gt;In-person team retreats and meet-ups&lt;/li&gt;
&lt;li&gt;Opportunities for professional development and growth within the organization&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;ready-to-apply&#34;&gt;Ready to Apply?&lt;/h2&gt;

&lt;p&gt;Please send your resume and a cover letter explaining why you are a good fit for this position to &lt;a href=&#34;mailto:jobs@guardianproject.info&#34;&gt;jobs@guardianproject.info&lt;/a&gt;.  We aim to fill this position in September 2024.
Join us in our mission to create a safer, more secure internet and mobile experience! We look forward to receiving your application!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>First Time Using CalyxOS Review</title>
      <link>https://guardianproject.info/2024/04/03/first-time-using-calyxos-review/</link>
      <pubDate>Wed, 03 Apr 2024 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2024/04/03/first-time-using-calyxos-review/</guid>
      <description>&lt;p&gt;“But how are you planning on using the phone?” he asked me. I paused, a bit confused. “As a replacement for my iPhone. I want to do everything with this phone that I can do with my iPhone, and use it as I normally would.” He took a beat to respond, “Wow, alright. Well let&amp;rsquo;s give it a shot.”&lt;/p&gt;

&lt;p&gt;I would describe myself as tech-curious, but the reality is I am not your typical CalyxOS user. In fact, I didn´t know CalyxOS existed until recently. I am not a software developer, I can´t write code and until recently, I never worked in tech. But none-the-less I found myself needing a replacement for my iPhone and asked HC if they could help me out.&lt;/p&gt;

&lt;p&gt;And in no time my refurbished Google Pixel 4a phone had arrived, loaded and ready to go with CalyxOS. So here is my very unprofessional review of how it went.&lt;/p&gt;

&lt;p&gt;I walked into the Calyx setup process with no expectations. Well, actually I take that back. I expected it to be similar to my 20-something years of iOS experience that I was used to. I expected there to be some sort of introduction and for some sort of apps to be pre-loaded into the phone. I of course knew that the apps and home screen from my old iPhone wouldn´t magically appear on my Google Pixel, and that I would need to manually download them if I wanted to keep using them on my new device. So I was prepared for that, but otherwise, I walked in blind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First impressions&lt;/strong&gt;
The introduction and set up process went incredibly smoothly. It was a very similar experience to when I started up a new iPhone for the first time. I needed to select a language and location and then I needed to connect to wifi. So far so good, except that my wifi password is incredibly long and annoying. But that is on me, not Calyx.&lt;/p&gt;

&lt;p&gt;Date and time set up no problem. It accurately identified my general location and the recommended time-zone was correct.&lt;/p&gt;

&lt;p&gt;On to location services there were two options, one was automatically enabled, the other I needed to make a choice. If my memory serves, I don´t think I had this choice when setting up my iPhones in the past. I choose to allow apps to use my location that have asked my permission and kept going. I set up my pin and two fingerprints. This was all very similar to my older iOS phones. Then I encountered the &lt;a href=&#34;https://microg.org/&#34;&gt;microG&lt;/a&gt; instructions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is MicroG?&lt;/strong&gt;
The microG explanation was helpful since I had no idea what microG does. For the uninitiated, it acts like an open source replacement for Google Play services and related software. But it only includes the “useful parts” and most interestingly, it does not have any advertising or location tracking, a bonus if you ask me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing the Apps Bundle&lt;/strong&gt;
Then it was time to install the apps bundle.  This was new, since usually the apps come pre-installed on my iPhone. But I thought it was nice that I had a choice here. In any case I left all apps selected and downloaded all of them. I will be doing write-ups on my experiences with those separately in case you want to follow along.&lt;/p&gt;

&lt;p&gt;As they were downloading, there was a useful description about each app, which was a very nice touch for the uninitiated. Because I will be honest, I did not recognize the majority of these apps.&lt;/p&gt;

&lt;p&gt;Next was a prompt asking if I wanted to restore a backup. Which I didn´t have, so I kept going to navigation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Navigation Options&lt;/strong&gt;
Here I had two options, gesture navigation and 3-button navigation. I was not sure what the term gesture navigation meant initially, so the little animation explaining the swiping actions made it very clear. I thought, “Let´s keep this simple” and I went with 3-buttons and off we went to my phone´s home screen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My new home with CalyxOS&lt;/strong&gt;
My first thought was, “I downloaded a whole bunch of apps, but where are they?” As an iOS user, I was used to seeing all the pre-installed apps just appear, so this threw me off but only for a second or two. I started swiping around on the screen and found them in no time by swiping upwards. But then I quickly realized I did not know what the majority of the apps do, so I would need to familiarize myself with them in order to use them.&lt;/p&gt;

&lt;p&gt;Some apps were more self explanatory than others. For example, the usual basic phone apps, camera, clock, contacts, music, phone, calculator were all very obvious. Then there were some new apps that I didn´t quite know what they did, but the title made it very obvious. For example, K-9 Mail, Riseup VPN, Firewall, Calyx VPN and the Aurora Store.&lt;/p&gt;

&lt;p&gt;A note about the Aurora Store. I saw the little Google Drive logo on the shopping bag, so I thought that might be a place where I can download my Google Play apps. But if I did not see that tiny logo, I might not have known to look there.&lt;/p&gt;

&lt;p&gt;F-Droid I knew as an app store from my previous work and I also recognized Tor Browser, Orbot and OnionShare. I kind of assumed those three were connected because all the logos were purple and there was an onion theme going on which I associated with Tor. So we can say in this case, the branding worked!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A wrinkle in the time-space continuum&lt;/strong&gt;
My only issue with the entire experience was that my location was around 600 kilometers off from my actual real-time location. No matter what app I used, Organic Maps, Google Maps, or SatStat, all said I was in some industrial area in a city 600 kilometers away from my house. In fact, they were so consistent that I thought, maybe it is a wrinkle in the time-space continuum and I really am in two places at once! All jokes aside, I reached out to the very helpful Calyx development team and they are helping me solve the &lt;a href=&#34;https://gitlab.com/CalyxOS/calyxos/-/issues/2257&#34;&gt;issue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Who knows, at the end of the day it might be the hardware, since no one else has reported this bizarre issue and my phone was refurbished to begin with.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;
All in all my experience unboxing and setting up a Calyx phone went very smoothly. And as a tech-curious user, with very little experience in software engineering, I can say it was a very easy switch from iOS to CalyxOS.&lt;/p&gt;

&lt;p&gt;CalyxOS gives you an alternative to big tech, without sacrificing usability. It gave me choices in terms of my data privacy that made me feel safe and more empowered. And it gave me a whole bundle of open source, privacy conscious apps to try out, so I can expand my horizons.&lt;/p&gt;

&lt;p&gt;Moving forward, I am curious to see more iOS and Android users migrate towards CalyxOS as a viable alternative.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF119 Conference Report: Monday March 18, 2024</title>
      <link>https://guardianproject.info/2024/03/18/ietf119-conference-report-monday-march-18-2024/</link>
      <pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2024/03/18/ietf119-conference-report-monday-march-18-2024/</guid>
      <description>

&lt;p&gt;&lt;em&gt;It&amp;rsquo;s Opening Day of the &lt;a href=&#34;https://www.ietf.org/how/meetings/119/&#34;&gt;119th IETF meeting&lt;/a&gt; in Brisbane Australia.  This post commences a daily rundown of privacy and Internet Freedom activities at this IETF meeting. For the rundown on IETF119 Hackathon, see my &lt;a href=&#34;https://guardianproject.info/2024/03/17/ietf119-hackathon-report/&#34;&gt;Hackathon report&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;dispatch&#34;&gt;Dispatch&lt;/h2&gt;

&lt;p&gt;IETF meetings don&amp;rsquo;t often kick off with the open dispatch but this time it happened. Dispatch sessions are meant to help specification authors find a home for their work if a home isn&amp;rsquo;t obvious. There are two classes of dispatch request:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smaller items that have been spun off from mature work.  A good example is when a specification has a component that needs a formal record-type declaration.&lt;/li&gt;
&lt;li&gt;New work, possibly not yet well-defined, where the authors themselves haven&amp;rsquo;t a clue where it belongs. This is somewhat rarer because IETF offers several mechanisms for new work to develop interest and work its way into the formal process.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We got some of both this time. Unfortunately, the one that needs the most work is in the latter category and brought to IETF by a privacy-focused team.  I need to write a separate post with a crisp definition of a better method for achieving success at the IETF because we can&amp;rsquo;t make headway until hyptothetical participants learn from past mistakes (including my own).&lt;/p&gt;

&lt;h2 id=&#34;cfrg&#34;&gt;CFRG&lt;/h2&gt;

&lt;p&gt;There has a frightening amount of new cryptography coming into the IETF over the last three to five years, driving by privacy-preserving measurement, quantum computing and the endless search for better performance.  Most of it entires IETF through the Cryptography Forum Research Group. It stikes me that this space is moving very quickly and I&amp;rsquo;m concerned we&amp;rsquo;re baking mistakes into Internet protocols in a way that will be hard to retrieve in the future.&lt;/p&gt;

&lt;h2 id=&#34;ohttp&#34;&gt;OHTTP&lt;/h2&gt;

&lt;p&gt;The Oblivious HTTP Application Intermediation (OHAI) Working Group has brought its key draft - &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ohai-ohttp/10/&#34;&gt;Oblivious HTTP&lt;/a&gt; to RFC status as of January 25, 2024 (&lt;a href=&#34;https://datatracker.ietf.org/doc/rfc9458/&#34;&gt;RFC9458&lt;/a&gt;). This was a focused effort, well-managed by the &lt;a href=&#34;https://datatracker.ietf.org/wg/ohai/about/&#34;&gt;Working Group&lt;/a&gt; chairs.&lt;/p&gt;

&lt;p&gt;The Working Group remains in place to tackle future items that arise from the early deployments. Better handling of large data transactions is the first such item, giving rise to a new specification for &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ohai-chunked-ohttp/&#34;&gt;Chunked Oblivious HTTP Messages&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;hackathon-demo&#34;&gt;Hackathon Demo&lt;/h2&gt;

&lt;p&gt;I presented the results from our interoperability testing on the &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-httpbis-unprompted-auth/&#34;&gt;The HTTP Signature Authentication Scheme&lt;/a&gt; to the wider IETF attendee audience at the Hackathon Demo event and felt lucky to have six people show interest (the competition being free food nearby).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF119 Conference Report: Hackathon March 17, 2024</title>
      <link>https://guardianproject.info/2024/03/17/ietf119-conference-report-hackathon-march-17-2024/</link>
      <pubDate>Sun, 17 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2024/03/17/ietf119-conference-report-hackathon-march-17-2024/</guid>
      <description>&lt;p&gt;&lt;em&gt;Hackathon Weekend at the &lt;a href=&#34;https://www.ietf.org/how/meetings/119/&#34;&gt;119th IETF meeting&lt;/a&gt; in Brisbane Australia.  This post commences a daily rundown of privacy and Internet Freedom activities at this IETF meeting.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;IETF&amp;rsquo;s Hackathon, held at each face-to-face IETF meeting, is designed to encourage interoperability testing of standards under development. See this meeting&amp;rsquo;s wiki page for a description of&lt;a href=&#34;https://wiki.ietf.org/en/meeting/119/hackathon&#34;&gt;this year&amp;rsquo;s twenty-four projects&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-httpbis-unprompted-auth/&#34;&gt;The HTTP Signature Authentication Scheme&lt;/a&gt; has been winding its way through the &lt;a href=&#34;https://datatracker.ietf.org/wg/httpbis/charter/&#34;&gt;HTTPbis Working Group&lt;/a&gt; since being adopted as a Working Group draft in July 2022. This work proposes a mechanism by which HTTP servers can offer authenticated resources without telegraphing they do so (thus resisting probing attacks).&lt;/p&gt;

&lt;p&gt;Until very recently, Guardian Project had the &lt;a href=&#34;https://gitlab.com/guardianproject/httpsignatureauthentation/-/tree/main/http-sigauth-java&#34;&gt;only extant implementation&lt;/a&gt; of this specification.  It was originally demonstrated at the IETF113 (March 2022) Hackathon.  That changed in the last month with new implementations by &lt;a href=&#34;https://github.com/google/quiche/&#34;&gt;Google&lt;/a&gt; and &lt;a href=&#34;https://github.com/francoismichel/http-signature-auth-go&#34;&gt;Université catholique de Louvain&lt;/a&gt;. We were able to pull together an interoperability test among these three for the Hackathon!&lt;/p&gt;

&lt;p&gt;Interoperability proved surprisingly easy, implying that each of the authors had the same understanding of the wording of the specification, at least for this baseline test.  While we were unable to conduct a full pairwise test across the three server implementations and the three client implementations, we did get sufficient coverage to call it an early win. The testing team agreed more exercise will be necessary on the handling of the three supported HTTP versions as well as a variety of key related issues that will arise with the specification &amp;ldquo;in practice&amp;rdquo;. Still this effort seems technically solid.&lt;/p&gt;

&lt;p&gt;Potentially the most significant issue going forward is defining an approach to integrating this work into the prominent protocol stacks. Since HTTP and TLS have been in the field for more than a quarter century, their programming libraries have ossified (and narrowed) around conventional practices which does not support layer interaction in the manner necessary to support this work.  In particular, this work uses the &lt;a href=&#34;https://www.openssl.org/docs/man1.1.1/man3/SSL_export_keying_material.html&#34;&gt;keying materials exporter&lt;/a&gt; available at the TLS layer but not currently available in most HTTP layers where this spec needs the keying materials to create the proper HTTP authentication header.  Time will tell.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The future of our fdroid-compatible app repository</title>
      <link>https://guardianproject.info/2024/02/24/the-future-of-our-fdroid-compatible-app-repository/</link>
      <pubDate>Sat, 24 Feb 2024 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2024/02/24/the-future-of-our-fdroid-compatible-app-repository/</guid>
      <description>&lt;p&gt;Guardian Project has been running its own &lt;a href=&#34;https://guardianproject.info/fdroid/&#34;&gt;fdroid-compatible app repository&lt;/a&gt; since &lt;a href=&#34;https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository-out-of-date/&#34;&gt;2012&lt;/a&gt;. Up until now, we worked to ensure that our repository had the same standards of free software as the official F-Droid repository.  Therefore, the Guardian Project repository was included in the official F-Droid client app by default.  A lot has changed since then, for the better.  F-Droid has long since stopped shipping pre-built binaries from any provider.  Back in the day, F-Droid shipped some binaries, like Mozilla&amp;rsquo;s Firefox APKs, and allowed some non-free libraries in apps.  The free software ecosystem on Android has since blossomed, so F-Droid no longer needs to make those kinds of compromises.  And F-Droid is completing a big update on how repositories are handled.&lt;/p&gt;

&lt;p&gt;Guardian Project remains committed to producing free software.  But for some of our key use cases, it is unfortunately not yet possible to address them without including some proprietary libraries in our free software apps.  This means that the Guardian Project repository is &lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/-/merge_requests/1302&#34;&gt;no longer included&lt;/a&gt; in F-Droid by default.  Now, F-Droid can enforce that apps only use free software libraries while Guardian Project cannot yet.  This ties in nicely to two other key development efforts with the official F-Droid client app.  First, the index signer keys for selected repositories are now &lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/-/merge_requests/1296/diffs?commit_id=54e3975660f97c60ffdd038b1965a30822e033db&#34;&gt;built-in&lt;/a&gt;, that means that the client will automatically verify that the user added the real repository.  Second, F-Droid &lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/-/merge_requests?milestone_title=1.20&#34;&gt;v1.20&lt;/a&gt; will ship a massive overhaul of the core plumbing and user experience for adding, removing, and managing repositories.  This makes it much easier and safer for users to use repositories that are not built-in.&lt;/p&gt;

&lt;p&gt;What kinds of exceptions does Guardian Project make?  We still work to avoid as many kinds of tracking as possible.  And the code that we create is free software.  The exceptions are all related to proprietary libraries getting built into some of our apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ProofMode uses a number of Google Play Services libraries, such as Play Integrity (SafetyNet), FusionLocationProvider, and others, to provide extra assurances about the provenance of media files generated on an Android device.&lt;/li&gt;
&lt;li&gt;Circulo and Haven use proprietary Google libraries to assist with accurately finding location and to display maps.&lt;/li&gt;
&lt;li&gt;Save (aka OpenArchive) needs to integrate with widespread proprietary services like Dropbox or Google Drive. When it is useful, we produce free software versions of our apps and get them included on &lt;a href=&#34;https://f-droid.org/packages/net.opendasharchive.openarchive.release/&#34;&gt;f-droid.org&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There is work underway to get Tor Browser &lt;a href=&#34;https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/27539#note_2989340&#34;&gt;included&lt;/a&gt; in f-droid.org.  One key blocker has been a proprietary binary library that the build system is &lt;a href=&#34;https://gitlab.com/guardianproject/fdroid-metadata/-/issues/3&#34;&gt;including&lt;/a&gt; anyway, even though it should be disabled in the build.&lt;/li&gt;
&lt;li&gt;Getting Orbot into f-droid.org is on our roadmap, it is already free software and otherwise compliant.  We welcome help maintaining the &lt;a href=&#34;https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/org.torproject.android.yml&#34;&gt;build metadata&lt;/a&gt; in &lt;em&gt;fdroiddata&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We will continue to &lt;a href=&#34;https://gitlab.com/guardianproject/fdroid-metadata/-/issues/4&#34;&gt;mark&lt;/a&gt; the apps in our repository with Anti-Features according to the &lt;a href=&#34;https://f-droid.org/docs/Anti-Features/&#34;&gt;F-Droid standard&lt;/a&gt;.  If you have found something we have overlooked, please &lt;a href=&#34;https://gitlab.com/guardianproject/fdroid-metadata/-/issues&#34;&gt;open an issue&lt;/a&gt; so we can fix it.  One side benefit of this change is that we can now also include some other important apps for privacy, until there are free software alternatives without any proprietary libraries. Firefox and Signal are two likely candidates, since both apps can be built as free software, but the official builds include proprietary libraries.  In any case, any third party apps we might include here will have to meet the same standards as our own apps.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TorServices (alpha)</title>
      <link>https://guardianproject.info/apps/org.torproject.torservices/</link>
      <pubDate>Fri, 23 Feb 2024 16:15:59 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.torservices/</guid>
      <description></description>
    </item>
    
    <item>
      <title>ProofMode: Verified Witnessing</title>
      <link>https://guardianproject.info/apps/org.witness.proofmode/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:25 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.witness.proofmode/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Orbot: Proxy with Tor</title>
      <link>https://guardianproject.info/apps/org.torproject.android.ay/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:21 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.android.ay/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Orbot: Proxy with Tor</title>
      <link>https://guardianproject.info/apps/org.torproject.android.guc/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:21 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.android.guc/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Orbot: Proxy with Tor</title>
      <link>https://guardianproject.info/apps/org.torproject.android.gum/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:21 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.android.gum/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Orbot: Proxy with Tor</title>
      <link>https://guardianproject.info/apps/org.torproject.android/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:21 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.android/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Orbot: Proxy with Tor</title>
      <link>https://guardianproject.info/apps/org.torproject.android.pbb/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:21 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.android.pbb/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Orbot: Proxy with Tor</title>
      <link>https://guardianproject.info/apps/org.torproject.android.tk/</link>
      <pubDate>Tue, 13 Feb 2024 21:16:21 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.torproject.android.tk/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Quick set up guide for Encrypted Client Hello (ECH)</title>
      <link>https://guardianproject.info/2023/11/10/quick-set-up-guide-for-encrypted-client-hello-ech/</link>
      <pubDate>Fri, 10 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/11/10/quick-set-up-guide-for-encrypted-client-hello-ech/</guid>
      <description>

&lt;p&gt;The Encrypted Client Hello (ECH) mechanism &lt;a href=&#34;https://tools.ietf.org/html/draft-ietf-tls-esni&#34;&gt;draft-spec&lt;/a&gt; is a way to plug a few privacy-holes that remain in the Transport Layer Security (TLS) protocol that&amp;rsquo;s used as the security layer for the web. OpenSSL is a widely used library that provides an implementation of the TLS protocol. The &lt;a href=&#34;https://defo.ie/&#34;&gt;DEfO project&lt;/a&gt; has developed an implementation of ECH for OpenSSL, and proof-of-concept implementations of various clients and servers that use OpenSSL, and other TLS libraries, as a demonstration and for interoperability testing. DEfO is funded by the Open Technology Fund (OTF).&lt;/p&gt;

&lt;p&gt;This guide is aimed at those who would like to try out ECH with our experimental Debian &lt;em&gt;unstable&lt;/em&gt; packages for OpenSSL, &lt;em&gt;curl&lt;/em&gt; and &lt;em&gt;nginx&lt;/em&gt;. The DEfO project is making packages temporarily available so people can carry out such experiments before upstream maintainers include ECH in standard releases.&lt;/p&gt;

&lt;p&gt;This guide describes two set ups: one assumes that you want to setup everything (i.e. a web server and associated DNS authoritative server) on one virtual machine and a second describes a way to set up an ECH-enabled web server if you have an existing DNS configuration elsewhere. Many other configurations are of course possible. Comments/questions are welcome via &lt;a href=&#34;mailto:info@defo.ie&#34;&gt;email&lt;/a&gt; or as GitLab issues/merge requests.&lt;/p&gt;

&lt;p&gt;In summary this guide shows how to:
- find and install our Debian &lt;em&gt;unstable&lt;/em&gt; packages
- configure a minimal DNS setup (using dnsmasq or bind) that enables use of ECH from browsers
- configure a minimal &lt;em&gt;nginx&lt;/em&gt; setup for an ECH enabled web sites
- test your DNS set up and that ECH is working&lt;/p&gt;

&lt;p&gt;We assume the reader is comfortable with simple DNS management and system administration tasks.
When commands shown below should be run as &lt;code&gt;root&lt;/code&gt; they are prepended with a &amp;lsquo;#&amp;rsquo;, if not they are prepended with a &amp;lsquo;$&amp;rsquo;.&lt;/p&gt;

&lt;h2 id=&#34;install-packages&#34;&gt;Install packages&lt;/h2&gt;

&lt;p&gt;You need to first have access to a virtual machine running Debian &lt;em&gt;unstable&lt;/em&gt;. Many online resources describe many ways to do this.&lt;/p&gt;

&lt;p&gt;We start with an empty (minimal) Debian &lt;em&gt;unstable&lt;/em&gt; system and install OpenSSL from the DEfO apt repository.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# apt install ca-certificates
# echo &amp;quot;deb [trusted=yes] https://defo.ie/debian/ ./&amp;quot; &amp;gt; /etc/apt/sources.list.d/defo.list
# apt update
# apt install openssl
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;pick-some-dns-names-to-use&#34;&gt;Pick some DNS names to use&lt;/h2&gt;

&lt;p&gt;In the text below we assume that the web server for which we wish to benefit from ECH is called &lt;code&gt;hidden.example.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;ECH also involves a so-called &lt;code&gt;public_name&lt;/code&gt; - that&amp;rsquo;s present in the outer ClientHello when ECH is used and hence is visible to a network observer, unlike the server name we include inside the Encrypted Client Hello. The &lt;code&gt;public_name&lt;/code&gt; we use below is &lt;code&gt;example.com&lt;/code&gt;`&lt;/p&gt;

&lt;p&gt;You should obviously substitute your chosen DNS names.&lt;/p&gt;

&lt;h2 id=&#34;generate-an-ech-key-pair&#34;&gt;Generate an ECH key pair&lt;/h2&gt;

&lt;p&gt;For ECH to work, we need a new asymmetric key pair. (Different from those used for TLS server authentication), so next we generate an ECH key pair:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# mkdir /etc/echkeydir/
# openssl ech -public_name example.com -pemout /etc/echkeydir/example.pem.ech
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note that we need this file later to set up DNS as well as &lt;em&gt;nginx&lt;/em&gt;. &lt;em&gt;Nginx&lt;/em&gt; will make use of the private key from the ECH key file, whilst the DNS will be used to publish the corresponding public key in an HTTPS resource record (that&amp;rsquo;s where ECH-enabled browsers will look for ECH public keys).&lt;/p&gt;

&lt;p&gt;The file name chosen should end with &lt;code&gt;.pem.ech&lt;/code&gt;&lt;/p&gt;

&lt;h2 id=&#34;set-up-dns&#34;&gt;Set up DNS&lt;/h2&gt;

&lt;p&gt;There are many ways in which one can set up the DNS records required to enable experimenting with ECH. We document two ways here, the first is where the main DNS name with which you&amp;rsquo;re experimenting is newly registered DNS name and has no existing DNS set up. The second describes a case where a DNS name exists but we need to add some new resource records to enable ECH.&lt;/p&gt;

&lt;p&gt;In both cases, &lt;code&gt;&amp;lt;IP&amp;gt;&lt;/code&gt; should be the IPv4 address for the host running the web server. (We leave IPv6 handling as an exercise for the reader, but there&amp;rsquo;s nothing ECH-specific required for IPv6.)&lt;/p&gt;

&lt;h3 id=&#34;standalone-new-setup-dnsmasq-as-a-authoritative-dns-server-to-serve-the-ech-key-on-the-same-vm&#34;&gt;Standalone/New setup : dnsmasq as a authoritative DNS server to serve the ECH key (on the same VM)&lt;/h3&gt;

&lt;p&gt;In this case we also need to pick some DNS nameserver names, we assume the authoritative primary nameserver for both web server DNS names is &lt;code&gt;ns.example.com&lt;/code&gt; with a secondary of &lt;code&gt;ns2.example.com&lt;/code&gt;`&lt;/p&gt;

&lt;p&gt;The DNS set up to use starting from a clean dnsmasq install:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# apt install dnsmasq
# cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/dnsmasq.d/example.conf
no-resolv
no-hosts
auth-server=ns.example.com,ns2.example.com
auth-zone=example.com
auth-sec-servers=ns2.example.com
auth-soa=42,admin.example.com
host-record=example.com,&amp;lt;IP&amp;gt;
host-record=hidden.example.com,&amp;lt;IP&amp;gt;
dns-rr=hidden.example.com,65,&amp;lt;ascii-hex encoded HTTPS rdata&amp;gt;
EOF
# systemctl restart dnsmasq
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note that you need to bump the SOA version (42 in the above) every time you change the config and make sure the zone distributes to ns2.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;&amp;lt;ascii-hex encoded HTTPS rdata&amp;gt;&lt;/code&gt; will be published as the HTTPS resource record (type == 65) for &lt;code&gt;hidden.example.com&lt;/code&gt; and can be produced from the file we generated earlier via a shell script you can download and use as follows:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ _curl_ https://raw.githubusercontent.com/sftcd/openssl/ECH-draft-13c/esnistuff/pem2rr.sh -o pem2rr.sh
$ chmod u+x pem2rr.sh
$ ./pem2rr.sh /etc/echkeydir/example.pem.ech
0001000005003b0039fe0d0035db0020002059907d619054c907a1f296ceb63dde1d57f72f15db172601a2f6b55e66e7cd0f00040001000100066261722e69650000
$
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;existing-dns-name-setup-using-bind-to-publish-new-ech-related-resource-records&#34;&gt;Existing DNS name setup: using bind to publish new ECH related resource records&lt;/h3&gt;

&lt;p&gt;Let&amp;rsquo;s assume you have an existing bind-based DNS setup for &lt;code&gt;example.com&lt;/code&gt;&lt;code&gt;, but are moving the IP address for that to a new VM that&#39;ll run the ECH-enabled web server for both&lt;/code&gt;example.com&lt;code&gt;and&lt;/code&gt;hidden.example.com`&lt;code&gt;. The change you might then make using the bind&lt;/code&gt;nsupdate` command on the authoritative DNS server would then look like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Change/add IP address records for our DNS names.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code class=&#34;language-bind&#34;&gt;$ sudo nsupdate -l
&amp;gt; update delete example.com a
&amp;gt; update delete example.com aaaa
&amp;gt; update add example.com 300 a &amp;lt;IP&amp;gt;
&amp;gt; update add hidden.example.com 300 a &amp;lt;IP&amp;gt;
&amp;gt; send
&amp;gt; quit
$
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Add new HTTPS resource record for &lt;code&gt;hidden.example.com&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First we need to get the base64 encoded public from our &lt;code&gt;/etc/echkeydir/example.pem.ech&lt;/code&gt; file:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ tail -2 /etc/echkeydir/example.pem.ech | head -1
ADr+DQA2mQAgACAF7cLT+KtK0oR2DrRCGXmzBWM1eHgJgDEGLqL644/OcAAEAAEAAQAHaG9iYS5pZQAA
$
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That base64 encoded value is what we need to publish in the DNS&amp;hellip;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ sudo nsupdate -l
&amp;gt; update delete hidden.example.com HTTPS
&amp;gt; update add hidden.example.com 300 HTTPS 1 . ech=&amp;lt;base64-encoded-value&amp;gt;
&amp;gt; send
&amp;gt; quit
$
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;checking-your-dns-set-up&#34;&gt;Checking your DNS set up&lt;/h2&gt;

&lt;p&gt;You can check that value is correctly published in the DNS e.g. using the &lt;code&gt;dig command&lt;/code&gt;`:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ dig +short https hidden.example.com
1 . ech=ADr+DQA2mQAgACAF7cLT+KtK0oR2DrRCGXmzBWM1eHgJgDEGLqL644/OcAAEAAEAAQAHaG9iYS5pZQAA
$
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If your version of &lt;code&gt;dig&lt;/code&gt; is older and doesn&amp;rsquo;t know about HTTPS resource records, then you may need to check via:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ dig +short +unknownformat -t TYPE65 hidden.example.com
\# 67 0001000005003C003AFE0D0036990020002005EDC2D3F8AB4AD28476 0EB4421979B30563357878098031062EA2FAE38FCE70000400010001 0007686F62612E69650000
$
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The 2nd-last invocation of &lt;code&gt;dig&lt;/code&gt; above shows the presentation format version of the HTTPS resource record. The last invocation above shows the equivalent in ascii-hex, which (minus the spaces) is what &lt;code&gt;dnsmasq&lt;/code&gt; needs in it&amp;rsquo;s configuration file.&lt;/p&gt;

&lt;p&gt;We assume &lt;code&gt;dnsmasq&lt;/code&gt; will likely accept presentation format for HTTPS resource records in future as &lt;code&gt;bind&lt;/code&gt; tooling already.&lt;/p&gt;

&lt;h2 id=&#34;set-up-nginx-to-serve-an-outer-and-an-inner-hidden-website&#34;&gt;Set up &lt;em&gt;nginx&lt;/em&gt; to serve an outer and an inner (hidden) website&lt;/h2&gt;

&lt;p&gt;Install &lt;em&gt;nginx&lt;/em&gt;-light from the DEfO repo, as above:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# apt install _nginx_-light certbot python3-certbot-_nginx_
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you don&amp;rsquo;t already have a web server config for &lt;code&gt;example.com&lt;/code&gt; then you can create a basic pair of &lt;code&gt;sites-enabled&lt;/code&gt; configuration files via the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# rm /etc/_nginx_/sites-enabled/default
# cp /etc/_nginx_/sites-available/default /etc/_nginx_/sites-enabled/example.conf
# sed -i &#39;s/server_name _;/server_name example.com;/&#39; /etc/_nginx_/sites-enabled/example.conf
# echo &amp;quot;ssl_echkeydir /etc/echkeydir/;&amp;quot; &amp;gt;&amp;gt; /etc/_nginx_/sites-enabled/example.conf
# cp /etc/_nginx_/sites-available/default /etc/_nginx_/sites-enabled/hidden.example.conf
# sed -i -e &#39;s/server_name _;/server_name hidden.example.com;/&#39; -e sed &#39;s/\(listen.*\)default_server;/\1;/&#39; /etc/_nginx_/sites-enabled/hidden.example.conf
# systemctl restart _nginx_
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It&amp;rsquo;s possible the &lt;code&gt;sed&lt;/code&gt; commands above may not work for you, e.g. if default files change, or perhaps you won&amp;rsquo;t use those if you have an existing web server config for &lt;code&gt;example.com&lt;/code&gt;&lt;code&gt;. In that case you can simply edit the config files to ensure the following, before running&lt;/code&gt;certbot``:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you have &lt;code&gt;example.com&lt;/code&gt; and &lt;code&gt;hidden.example.com&lt;/code&gt; servers set up with correct &lt;code&gt;server_name&lt;/code&gt;`&lt;/li&gt;
&lt;li&gt;optionally change the DocRoot (&lt;code&gt;root&lt;/code&gt;) in these configuration files to serve different content&lt;/li&gt;
&lt;li&gt;there&amp;rsquo;s a line within the &lt;code&gt;http&lt;/code&gt; stanza as follows:
  &lt;code&gt;ssl_echkeydir /etc/echkeydir/;&lt;/code&gt;`&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;ssl_echkeydir&lt;/code&gt; line can in &lt;code&gt;_nginx_.conf&lt;/code&gt; within the &lt;code&gt;http&lt;/code&gt; stanza or within either of the files in &lt;code&gt;sites-enabled&lt;/code&gt; when it must be outside the &lt;code&gt;server&lt;/code&gt; stanza&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;run-certbot-to-get-a-tls-server-certificate&#34;&gt;Run certbot to get a TLS server certificate&lt;/h2&gt;

&lt;p&gt;Next you need to rRun &lt;code&gt;certbot&lt;/code&gt; to get TLS server public keys certificates for both DNS names (&lt;code&gt;example.com` and `hidden.example.com&lt;/code&gt;). Those can be in the same certificate (or not) for the purposes of this experimental setup.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# certbot --nginx
...iteractions...
#
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;certbot&lt;/code&gt; may prompt you for e.g. an email address or approval and if you have an existing certificate for &lt;code&gt;example.com&lt;/code&gt; you may be prompted as to whether you want to add &lt;code&gt;hidden.example.com&lt;/code&gt; to that certificate.&lt;/p&gt;

&lt;h2 id=&#34;use-curl-to-test-the-set-up&#34;&gt;Use &lt;em&gt;curl&lt;/em&gt; to test the set up&lt;/h2&gt;

&lt;p&gt;Install our ECH-enabled &lt;em&gt;curl&lt;/em&gt; package from the DEfO repo and run:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$ curl -v --ech true --doh-url https://1.1.1.1/dns-query https://hidden.example.com/ |&amp;amp; grep Succeeded
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You should see this in the output:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ECH: result: status is Succeeded, inner is hidden.example.com, outer is example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;check-with-browsers&#34;&gt;Check with browsers&lt;/h2&gt;

&lt;p&gt;If you&amp;rsquo;re running a recent browser version (chromium-based since version 105, firefox since before then:-) you can enable ECH in the browser by &lt;a href=&#34;https://defo.ie/#clients&#34;&gt;following our client configuration instructions&lt;/a&gt;. Unfortunately, browsers don&amp;rsquo;t provide user interface to show if ECH has succeeded or not, but you can verify that your browser is able to use ECH if you visit &lt;a href=&#34;https://defo.ie/ech-check.php&#34;&gt;https://defo.ie/ech-check.php&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;feedback&#34;&gt;Feedback&lt;/h2&gt;

&lt;p&gt;All going well, you should now have an ECH-enabled web site and be able to extend/play with that as you like. We&amp;rsquo;d appreciate feedback on this guide if you have a chance. As before, comments/questions are welcome via &lt;a href=&#34;mailto:info@defo.ie&#34;&gt;email&lt;/a&gt; or as GitLab issues/merge requests.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>DEfO - Developing ECH for OpenSSL (round two)</title>
      <link>https://guardianproject.info/2023/11/09/defo-developing-ech-for-openssl-round-two/</link>
      <pubDate>Thu, 09 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/11/09/defo-developing-ech-for-openssl-round-two/</guid>
      <description>

&lt;p&gt;Encrypted ClientHello (ECH) plugs a privacy-hole in TLS, hiding previously visible details from network observers. The most important being the name of the web-site the client wishes to visit (the Server Name Indication or SNI).  This can be a major privacy leak, like when accessing a dissident news source hosted on a Content Delivery Network (&lt;a href=&#34;https://en.wikipedia.org/wiki/Content_delivery_network&#34;&gt;CDN&lt;/a&gt;). A visible domain name also provides a straightforward method for censors to block websites and internet services. &lt;a href=&#34;https://www.tolerantnetworks.com/about-us.html&#34;&gt;Tolerant Networks Limited&lt;/a&gt; and the Guardian Project successfully ran the &lt;a href=&#34;https://www.opentech.fund/&#34;&gt;OTF&lt;/a&gt;-funded &lt;a href=&#34;https://defo.ie/&#34;&gt;DEfO&lt;/a&gt; project that &lt;a href=&#34;https://guardianproject.info/2021/11/30/implementing-tls-encrypted-client-hello/&#34;&gt;developed interoperable implementations&lt;/a&gt; of ECH for OpenSSL, Conscrypt and, via those libraries, a range of ECH-enabled web servers and clients.  This second funded project, DEfO-2, is a timely continuation of that project from the same the team.  As needed for disambiguation, we use DEfO-1 to refer the completed project and DEfO-2 for this current project. When there’s no ambiguity, we use the DEfO acronym to cover both past and future work related to ECH for OpenSSL, related applications and other TLS stacks.&lt;/p&gt;

&lt;p&gt;As the IETF standard for ECH completes, our key objectives are to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upstream DEfO code&lt;/li&gt;
&lt;li&gt;Integrate ECH into more clients and servers&lt;/li&gt;
&lt;li&gt;Gain and document operational experience&lt;/li&gt;
&lt;li&gt;Submit key code for red team audits&lt;/li&gt;
&lt;li&gt;Publish open-source ECH provisioning tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key challenges we expect to face in meeting those objectives are: firstly, dealing with the OpenSSL and other upstream code bases (e.g. nginx, Apache HTTP Server) - satisfying upstream developers when dealing with complex code changes, as are involved here, has proven to be quite time and effort consuming. Secondly, it is a challenge to arrange the trials we have envisaged for DEfO-2 but doing so should help to demonstrate that web sites can easily and safely enable ECH without putting themselves at risk of interoperability failures or adverse attention from censors and without further centralising the web. Lastly, there are some remaining technical challenges not addressed in DEfO-1 (proprietary TLS ClientHello extension handling, interactions between TLS Hello Retry Request and ECH, and privacy analyses of split-mode ECH deployments) that we plan to address in DEfO-2.&lt;/p&gt;

&lt;p&gt;The key challenges we aim to mitigate for users is the ease with which user activity can be tracked and blocked based on clear text SNI. Secondarily, our focus on web-server integrations and provisioning mechanisms for ECH addresses Internet centralisation (which itself poses potential risks for censorship) by ensuring this technology can be easily deployed without having to depend on entities such as global-scale CDNs.&lt;/p&gt;

&lt;p&gt;The primary gaps addressed by DEfO are: the privacy-leak that is clear text SNI in TLS and secondly that nobody else has been developing an ECH implementation for OpenSSL, which is one of the most widely used TLS stacks, particularly for web servers. That situation has not changed since DEfO-1 started. Arguably filling that gap has become more pressing as some browsers now ship with ECH support.&lt;/p&gt;

&lt;p&gt;ECH is designed to contribute to the safety of users by removing one the the main remaining aspects of the web that allows network observers to easily monitor and censor web traffic based on either client DNS queries (browsers typically only use ECH when DoH has been used) and the Server Name Indication (SNI) in the TLS handshake, which is encrypted via ECH. The eventual goal is that use of ECH becomes near ubiquitous, and that goal is very achievable for web sites that make use of a CDN. DEfO however also has a focus on ECH support in various web servers and proxies (Apache, nginx, lighttpd, HAProxy) so that users of deployments that don’t use a commercial CDN can also benefit from ECH. The result of using ECH should be that neither the DNS query nor the TLS exchange leak the name of the web server with which the browser is establishing contact, thus taking away a still-easy opportunity for monitoring and censorship.&lt;/p&gt;

&lt;p&gt;Censors however, especially at the nation-state level, might choose to block all uses of ECH, which is something that is to be expected. The main mitigation for that envisaged is that browsers, even while not using ECH, will emit “fake” (or GREASEd) ECH values, thus increasing the costs if a censor decides to block all use of ECH. The extent to which GREASEing will be an effective mitigation for blocking all ECH will essentially
end up as a political/commercial decision for censors, browser makers, and web sites, but what we can say is that for now at least, browser makers and the larger CDNs do seem committed to making use of ECH. So we can have some hope that even the most capable censors might have to think hard before blocking all ECH. In DEfO-2 we are also planning some significant-scale trials that, if successful, should go a long way towards helping other significant web sites overcome fears related to enabling ECH. Overcoming a fear that one’s web site may be blocked if one deploys ECH will be a valuable result of DEfO-2 should our trials come to fruition as we hope.&lt;/p&gt;

&lt;p&gt;We do see a number of usability issues for those deploying web servers that need to be addressed, and that we plan to address in DEfO-2. Our approach is to aim for the same level of usability for web server administrators as has been achieved by &lt;a href=&#34;https://certbot.eff.org/&#34;&gt;&lt;em&gt;certbot&lt;/em&gt;&lt;/a&gt; as it interacts with Let&amp;rsquo;s Encrypt or other CAs. Making it easy to enable ECH, especially for &amp;ldquo;smaller&amp;rdquo; web properties is high priority for DEfO.&lt;/p&gt;

&lt;p&gt;The outcome for which we hope is the upstreaming of ECH into important code bases, and to have demonstrated that one can deploy ECH easily at either small or large scale. The impact we expect is that we continue to significantly contribute to the use of ECH becoming near ubiquitous.&lt;/p&gt;

&lt;h2 id=&#34;timeliness&#34;&gt;Timeliness&lt;/h2&gt;

&lt;p&gt;The time is now ripe for DEfO-2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://support.mozilla.org/en-US/kb/faq-encrypted-client-hello&#34;&gt;Firefox&lt;/a&gt; now supports ECH by default.&lt;/li&gt;
&lt;li&gt;Chrome supports ECH in &lt;a href=&#34;https://groups.google.com/a/chromium.org/g/blink-dev/c/KrPqrd-pO2M/m/_8Lfd5xcAwAJ&#34;&gt;10% of stable releases&lt;/a&gt; as of August 2023.&lt;/li&gt;
&lt;li&gt;Brave now also supports ECH, &lt;a href=&#34;https://github.com/brave/brave-browser/issues/1851#issuecomment-1763176335&#34;&gt;behind the same flags&lt;/a&gt; as Chromium&lt;/li&gt;
&lt;li&gt;These browser developments, plus the server code developed by DEfO-1, now enable us to plan real-world experiments&lt;/li&gt;
&lt;li&gt;Cloudflare has &lt;a href=&#34;https://developers.cloudflare.com/ssl/edge-certificates/ech/&#34;&gt;beta support&lt;/a&gt; for enabling ECH.&lt;/li&gt;
&lt;li&gt;During the run-time of DEfO-2 we expect to be in a position to run trials with significant players that could significantly assist with the goal of making use of ECH common for large web sites.&lt;/li&gt;
&lt;li&gt;The DEfO-2 project timeline should also cover the finalisation of the IETF specification for ECH, significant progress on ancillary specifications (e.g. for provisioning) and provide sufficient time for upstreaming of DEfO code&lt;/li&gt;
&lt;li&gt;DEfO-2 benefits from the same team as DEfO-1 – Tolerant Networks and the Guardian Project having co-operated successfully on DEfO-1 are looking forward to continuing that collaboration and to extending the team for DEfO-2&lt;/li&gt;
&lt;li&gt;HPKE, a core part of ECH, but with broader applicability, is now RFC9180 and the OpenSSL maintainers merged our DEfO code for HPKE in November 2022.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;our-development-projects&#34;&gt;Our development projects&lt;/h2&gt;

&lt;p&gt;The DEfO project implemented Encrypted ClientHello (ECH) support for OpenSSL and Conscrypt, carried out interoperability testing of those implementations, and also used those libraries to ECH-enable various web servers and clients. We deployed services using these web servers and the DNS infrastructure required to support automated key upated for the HTTPS RRs associated with those services. Here we provide a short overview of that work in order to help with larger scale experiments and with further development of the ECH specification.&lt;/p&gt;

&lt;h3 id=&#34;libraries&#34;&gt;Libraries&lt;/h3&gt;

&lt;p&gt;As part of the DEfO project, we ECH-enabled two important TLS libraries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.conscrypt.org/&#34;&gt;Conscrypt&lt;/a&gt; is a Java Security Provide (a library) that provides a Java &amp;ldquo;wrapper&amp;rdquo; for the C++ language boringssl library. Conscrypt is commonly used as the TLS provider for applications running on Android devices and is thus an attractive target to allow many clients to be ECH-enabled. (We do not target browser clients in DEfO as work on ECH-enabling those is being done by browser-makers.) The authors of boringssl (Google) have added ECH support to a version of their code, and we used that to enhance Conscrypt to call the new borinssl APIs required to use ECH and to provide mechanisms for applications to default to, or signal use of, ECH.&lt;/li&gt;
&lt;li&gt;OpenSSL is a long-lived library providing cryptographic and TLS services that is used by many applications, including many web servers and hence is an attractive target for ECH-enabling, especially for server-side functionality. Our ECH-enabled fork of OpenSSL is here.&lt;/li&gt;
&lt;li&gt;We have and will continue to work with the developers of other TLS libraries (e.g. wolfSSL) to assist in ECH-enabling their code, mostly via interoperability testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;clients&#34;&gt;Clients&lt;/h3&gt;

&lt;p&gt;We ECH-enabled implemented the following TLS client applications:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenSSL &lt;code&gt;s_client&lt;/code&gt; - this client application comes as part of the OpenSSL build but is commonly used for testing and as an extremely simple scriptable TLS client.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;curl&lt;/em&gt; is a widely-used command line web client that can use OpenSSL for TLS support, so we &lt;a href=&#34;https://github.com/sftcd/curl/blob/ECH-experimental/docs/ECH.md&#34;&gt;ECH-enabled that&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;F-Droid is an Android client application that provides an installable catalogue of FOSS applications and that uses Conscrypt. We made an ECH-enabled build called &lt;a href=&#34;https://f-droid.org/packages/ie.defo.ech_apps/&#34;&gt;DEfO ECH Apps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;servers&#34;&gt;Servers&lt;/h3&gt;

&lt;p&gt;We ECH-enabled implemented the following web servers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Apache HTTP Server is one of the two most commonly used web servers today, you can try our &lt;a href=&#34;https://github.com/sftcd/httpd&#34;&gt;ECH-enabled fork&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;nginx&lt;/em&gt; is the other web server in the &amp;ldquo;top two.&amp;rdquo;, you can try our &lt;a href=&#34;https://github.com/sftcd/nginx&#34;&gt;ECH-enabled fork&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;lighttpd is a web server that is commonly used on smaller devices such as home routers, you can try our &lt;a href=&#34;https://github.com/sftcd/lighttpd1.4&#34;&gt;ECH-enabled fork&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;HAProxy is widely used as an HTTP ingress proxy and so is a good target for exploring ECH split-mode, you can try our &lt;a href=&#34;https://github.com/sftcd/haproxy&#34;&gt;ECH-enabled fork&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;OpenSSL &lt;code&gt;s_server&lt;/code&gt; - this example server application is part of the OpenSSL build and is commonly used for testing and experimentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;test-tools&#34;&gt;Test tools&lt;/h3&gt;

&lt;p&gt;Amongst the test tooling we developed are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comprehensive OpenSSL make test targets for HPKE and ECH.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/defo-project/EchInteropTest&#34;&gt;ECHInteropTest&lt;/a&gt; is a Java client for interoperability testing on Android.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sftcd/echdnsfuzz&#34;&gt;&lt;em&gt;echdnsfuzz&lt;/em&gt;&lt;/a&gt; is a catalogue of &amp;ldquo;interesting&amp;rdquo; ECHConfigList values that could cause issues for clients combined with a service to randomly select one of those for publication in the public DNS every 30 minutes. This is a useful part of fuzz-testing an ECH-enabled client application.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;issues-arising&#34;&gt;Issues Arising&lt;/h2&gt;

&lt;p&gt;We saw the following issues that could benefit from further work to ease deployment of ECH:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For HAProxy, since DEfO-1 we have achieved support for HelloRetryRequest in ECH split-mode but have further work to do on ECH key rotation.&lt;/li&gt;
&lt;li&gt;There can sometimes be a lack of clarity as to which software component should be responsible for choosing to attempt real (i.e. non-GREASEd) ECH, and hence to be responsible for the additional DNS queries required to acquire an ECHConfig. For libraries like OpenSSL and boringssl it clearly only makes sense for that decision (and hence any new DNS handling code) to be outside the library. For a browser, it as clearly makes sense for that code to be in the browser application layer. With &amp;ldquo;middleware&amp;rdquo; though, such as OkHTTP or Conscrypt it can be hard to know which is the correct decision.&lt;/li&gt;
&lt;li&gt;The new DNS code required for handling HTTPS RRs is not too complex but the full generality of SVCB is extremely complex. Adding such complexity (and associated caching) is a major change for clients like curl that have to date only had to have a very simple model for DNS - essentially only querying A/AAAA and having almost trivial caching in the application itself.&lt;/li&gt;
&lt;li&gt;The client implementation of ECH is relatively complex in that it &amp;ldquo;touches&amp;rdquo; the TLS state machine in many ways, and hence requires changes in a lot of places. As well as increasing the cost of implementing this also increases the costs associated with testing and upstreaming.&lt;/li&gt;
&lt;li&gt;Achieving the same level of usability as &lt;code&gt;certbot&lt;/code&gt; for web server administrators may be challenging, but is an important goal to make it easy for web server administrators to be able to easily deploy ECH.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;conclusions&#34;&gt;Conclusions&lt;/h2&gt;

&lt;p&gt;ECH is demonstrably implementable and can be deployed. We don&amp;rsquo;t yet know if new issues will become apparent as larger-scale experiments are carried out, but we should find out during the run-time of DEfO-2.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>PixelKnot: Hidden Messages</title>
      <link>https://guardianproject.info/apps/info.guardianproject.pixelknot/</link>
      <pubDate>Wed, 08 Nov 2023 06:45:10 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/info.guardianproject.pixelknot/</guid>
      <description></description>
    </item>
    
    <item>
      <title>PixelKnot: Hidden Messages</title>
      <link>https://guardianproject.info/apps/info.guardianproject.pixelknot.sq/</link>
      <pubDate>Wed, 08 Nov 2023 06:45:10 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/info.guardianproject.pixelknot.sq/</guid>
      <description></description>
    </item>
    
    <item>
      <title>FIFA2023 Report</title>
      <link>https://guardianproject.info/2023/11/03/fifa2023-report/</link>
      <pubDate>Fri, 03 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/11/03/fifa2023-report/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://web.archive.org/web/20231102110707/https://internetfreedom.africa/&#34;&gt;Forum on Internet Freedom in Africa (FIFAfrica)&lt;/a&gt; organized by the &lt;a href=&#34;https://web.archive.org/web/20231102060008/https://cipesa.org/&#34;&gt;Collaboration on International ICT Policy for East and Southern Africa (CIPESA)&lt;/a&gt; took place in September 26-29, 2023 in Dar es Salaam, Tanzania at the Hyatt Regency Hotel.&lt;/p&gt;

&lt;p&gt;The first two days - the &lt;a href=&#34;https://web.archive.org/web/20231103185024/https://whova.com/embedded/event/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/generating/?refer=undefined&amp;amp;day=0&#34;&gt;26th&lt;/a&gt; and &lt;a href=&#34;https://web.archive.org/web/20231103185107/https://whova.com/embedded/event/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/generating/?refer=undefined&amp;amp;day=1&#34;&gt;27th&lt;/a&gt; of September - were invite only. The rest of the days - &lt;a href=&#34;https://web.archive.org/web/20231103185923/https://whova.com/embedded/event/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/generating/?refer=undefined&amp;amp;day=2&#34;&gt;28th&lt;/a&gt; and &lt;a href=&#34;https://web.archive.org/web/20231103190038/https://whova.com/embedded/event/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/generating/?refer=undefined&amp;amp;day=3&#34;&gt;29th&lt;/a&gt; of September - were meant for all the other participating attendees.&lt;/p&gt;

&lt;p&gt;The theme of the event was &amp;ldquo;The Internet Freedom we want for Africa&amp;rdquo; which was highlighted during the &lt;a href=&#34;https://web.archive.org/web/20231103190144/https://whova.com/embedded/session/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/3354886/?widget=primary&#34;&gt;opening ceremony&lt;/a&gt;. It was well organized with a dedicated media and photography team who did a great job in their coverage. Attendees and attending organizations were diverse coming from all over the world. They were not only limited to digital security folks but also there were attendees from academia, law, policy and government.&lt;/p&gt;

&lt;p&gt;Apart from the opening and closing ceremony, the event had multiple tracks (2 to 4) happening at a time. There were booths from where attending organizations would showcase what they were working on. The Guardian Project had one right in the middle of the &lt;a href=&#34;https://web.archive.org/web/20231103190633/https://wearehorizontal.org/index&#34;&gt;Horizontal&lt;/a&gt; and &lt;a href=&#34;https://web.archive.org/web/20210921162650/https://www.a11ylab.com/?lang=EN&#34;&gt;Accessibility Labs&lt;/a&gt; booths. Talk of being in good company :)&lt;/p&gt;

&lt;p&gt;The Guardian Project booth was a hub of activity for the two days. We were showcasing &lt;a href=&#34;https://encirculo.org/en/&#34;&gt;Circulo&lt;/a&gt;, &lt;a href=&#34;https://guardianproject.info/apps/org.witness.proofmode/&#34;&gt;Proofmode&lt;/a&gt;, &lt;a href=&#34;https://likebutter.app/&#34;&gt;Butterbox&lt;/a&gt; and &lt;a href=&#34;https://f-droid.org/en/&#34;&gt;F-Droid&lt;/a&gt;. The interest in what we do and the solutions we provide was so genuine that we ran out of business cards and stickers. Only a few people had heard of us and were super intrigued with our products that they had them installed on their devices to try them out. There was a &lt;a href=&#34;https://web.archive.org/web/20231103194105/https://whova.com/embedded/session/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/3374537/?widget=primary&#34;&gt;cocktail party&lt;/a&gt; at the end of the day which was a good event for further networking with the other attendees.&lt;/p&gt;

&lt;p&gt;Our session, &lt;a href=&#34;https://web.archive.org/web/20231103194507/https://whova.com/embedded/session/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/3354924/?widget=primary&#34;&gt;Resilient Communications ButterBox, Proofmode and Circulo&lt;/a&gt; was slotted on the last day at the very end of the day. We did not have a lot of attendees since most people were making the best of their time networking or were planning to leave. To thank the attendees of our session, Happy made a song about the products we were showcasing. Her performance was cut short as all participants were directed to the &lt;a href=&#34;https://web.archive.org/web/20231103195433/https://whova.com/embedded/session/rWwmoMGALzfjDBkAPdWzA1K4LxMjt38D6BmWiph4wK4%3D/3354927/?widget=primary&#34;&gt;closing ceremony&lt;/a&gt;. It was all festive as they thanked the participants and then launched the &lt;a href=&#34;https://web.archive.org/web/20231019180633/https://internetfreedom.africa/wp-content/uploads/2023/10/SIFA23-Report.pdf&#34;&gt;State of Internet Freedom in Africa Report&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In conclusion, FIFAfrica 2023 was an awesome event. Lots of connections were made that have turned into friendships. The attendees were friendly and festive. The planning was splendid. We are looking forward to the next one in 2024. Thanks CIPESA.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Achieve Onion Layers of Security with the Triad of Apple-tizing Apps!</title>
      <link>https://guardianproject.info/2023/07/25/achieve-onion-layers-of-security-with-the-triad-of-apple-tizing-apps/</link>
      <pubDate>Tue, 25 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/07/25/achieve-onion-layers-of-security-with-the-triad-of-apple-tizing-apps/</guid>
      <description>&lt;p&gt;&lt;em&gt;Our summer intern Alfred just graduated high-school and is preparing to attend a major university to focus on a technical degree. He has a personal interest in privacy and security, and is working with us on a variety of projects this summer as part of a broad, crash-course in all things Guardian Project!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Last week, I worked with three different apps for the iPhone that, when they work together, allow for a secure and private mobile internet experience. Since they all build on the Tor Network, they also offer an untraceable way to share and download media. My task was to test the user experience in these apps and see how they interact with each other and to make sure that they’re working in the intended ways following a test plan.&lt;/p&gt;

&lt;p&gt;The first app Orbot, which acts as a secure vpn is the core of the security. It makes it very difficult to track the user when browsing. The first thing you want to do before you start browsing is to open the Orbot app and complete the setup with the vpn configuration.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;image5.jpg&#34; alt=&#34;orbot ios&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Once set up you could press start to use the default vpn or if you’d need more security you would click the ‘Choose how to Connect’ option below that and it’ll take you to a page where you can connect to an even more secure network because Orbot provides you with a network proxy. Choosing other options provides you with even more proxies making your ip or your browsing harder to detect or track.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;image2.jpg&#34; alt=&#34;orbot ios&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Now that you’ve activated the Orbot vpn you can access the Onion Browser where you can freely browse as if you were using your regular browsing app like Chrome or Safari but now with even more security and privacy.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;onionbrowser.png&#34; alt=&#34;onion browser app&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Then, I continued my testing with the Onion Share mobile app. This app allows you to freely and securely share media using a secure “.onion” download link, that can be opened by anyone with Onion Browser or Tor Browser.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;image3.png&#34; alt=&#34;onionshare for ios&#34; /&gt;&lt;/p&gt;

&lt;p&gt;As you can see in the interface you can choose to send photos, files, or even whole folders to share media in. OnionShare then creates a link that can only be accessed through using any Tor-enabled web browser, such as Onion Browser or Tor Browser. You can then download the files and view them as normal.&lt;/p&gt;

&lt;p&gt;This is the screen you’re greeted with when launching Tor Browser on the desktop. As you can see the interface resembles that of a normal browser. When connected to the Tor now, you’re able to open up links from OnionShare which can’t be opened anywhere else.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;image1.png&#34; alt=&#34;tor browser on desktop&#34; /&gt;&lt;/p&gt;

&lt;p&gt;This is what the OnionShare screen on the desktop looks like using the Tor Browser. From here you can select to download the files and view them.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;image4.png&#34; alt=&#34;tor browser on desktop&#34; /&gt;&lt;/p&gt;

&lt;p&gt;I think it&amp;rsquo;s interesting and very helpful how the usage of the combination of these apps not only provides you a secure browsing experience but also allows you to share different forms of media while also making it incredibly difficult to trace and track.&lt;/p&gt;

&lt;p&gt;You can download the Orbot+Onion Browser+OnionShare for iOS QA Test Plan that was used to guide this work here: &lt;a href=&#34;https://github.com/guardianproject/orbot-apple/blob/main/testing/OrbotOnionBrowserOnionShareiOS-TestPlan-July2023.xlsx&#34;&gt;Download Test Plan&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Improving website resilience with LibResilient and IPFS</title>
      <link>https://guardianproject.info/2023/06/15/improving-website-resilience-with-libresilient-and-ipfs/</link>
      <pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/06/15/improving-website-resilience-with-libresilient-and-ipfs/</guid>
      <description>

&lt;p&gt;We&amp;rsquo;re always looking for techniques to make services more resilient to all
sorts of issues. That&amp;rsquo;s why we took special interest in
&lt;a href=&#34;https://resilient.is/&#34;&gt;LibResilient&lt;/a&gt; and mapped out it&amp;rsquo;s capabilities.  It&amp;rsquo;s a
JavaScript library for decentralized content delivery in web-browsers and
markets itself as easy to deploy to any website. We&amp;rsquo;ve looked at LibResilient
primarily in the context of static websites.  While it should work with dynamic
websites too, that was out of focus for us.&lt;/p&gt;

&lt;p&gt;Under the hood LibResilient uses &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API&#34;&gt;Web
Workers&lt;/a&gt;.
Technically it&amp;rsquo;s a piece of JavaScript that websites can install into the
browsers of their visitors.  I like to compare it to cookies, except that it&amp;rsquo;s
not just data but actually a program for manipulating your network request. The
main purpose of Web Workers is to enable web apps to optimize their network
connections. Web Workers are pretty low-level API.&lt;/p&gt;

&lt;p&gt;LibResilient delivers implementations for common use-cases on top of Web
Workers in the form of plug-ins.  We&amp;rsquo;ve looked at the 3 most basic of those
plug-ins.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;fetch plugin&lt;/em&gt; - routes network requests directly to the web-server as if
LibResilient wasn&amp;rsquo;t present.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;cache plugin&lt;/em&gt; - stores HTML, JavaScript, images and other files inside
the browsers local storage&lt;/li&gt;
&lt;li&gt;&lt;em&gt;alt-fetch plugin&lt;/em&gt; - allows to configure a list of website mirrors and tries
to fetch files from there&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These enable us to keep a website online and even update it if the main
web-server running that site has an outage.  It&amp;rsquo;s key that visitors must have
managed to load the website at least once before.  Only than can LibResilient
work it&amp;rsquo;s magic and install itself and the list of site mirrors into the users
browser.  This solution doesn&amp;rsquo;t work for first time visitors, during the period
of an outage.&lt;/p&gt;

&lt;p&gt;Of course this requires to run website mirrors. Static websites really shine in
this regard, because they are very easy to mirror and static web-space is quite
inexpensive these days.&lt;/p&gt;

&lt;p&gt;We also looked into using IPFS Gateways as mirrors.  To accomplish this we had
to first add and pin websites to IPFS.  Next we had to publish the pinned copy
of the site to IPNS.  Then we could use the IPNS-key-fingerprint to use every
public IPFS gateway as mirror.  However, public gateways tend to require quite
long to answer requests, which is bad for LibResilient because it uses
relatively short timeouts to fail-over between mirrors.  So to get some sense
of reliability, paid IPFS gateways guaranteed to pin your website are a more
stable choice.&lt;/p&gt;

&lt;h1 id=&#34;publishing-libresilient-to-ipfs&#34;&gt;Publishing LibResilient to IPFS&lt;/h1&gt;

&lt;p&gt;This is a for publishing a static LibResilient enabled website to IPFS.&lt;/p&gt;

&lt;h2 id=&#34;requirements&#34;&gt;requirements&lt;/h2&gt;

&lt;p&gt;You will need VPS, or some other kind of tiny but always online server to make
your data available on IPFS. This guide assumes that your server is running some
flavor of GNU/Linux. It also assumes that you are familiar with the concept of
static websites and that your site is already hosted on the internet.&lt;/p&gt;

&lt;p&gt;Mind that IPFS can be very slow, if you run into timeouts don&amp;rsquo;t give up. Just
wait a few minutes and give it a few more retries, it will work eventually.&lt;/p&gt;

&lt;h2 id=&#34;install-ipfs&#34;&gt;Install IPFS&lt;/h2&gt;

&lt;p&gt;This short snipped will install &lt;code&gt;kubo&lt;/code&gt; the official IPFS binary build on your
server:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;wget https://dist.ipfs.tech/kubo/v0.18.1/kubo_v0.18.1_linux-amd64.tar.gz
echo &amp;quot;15d42b47b8529edda3e8e2d6fe6c14958d939c4efd07dea02e204743e05216f3 kubo_v0.18.1_linux-amd64.tar.gz&amp;quot; \
    | sha256sum --check
tar -xzf kubo_v0.18.1_linux-amd64.tar.gz
mv kubo/ipfs /usr/local/bin/ipfs
rm -rf kubo kubo_v0.18.1_linux-amd64.tar.gz
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Setup kubo daemon to always run in background as systemd service. (Note: this
is tested for Debian and might require different steps on other GNU/Linux
distributions.)&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;adduser ipfs --gecos &#39;&#39; --disabled-password
su ipfs -c &#39;/usr/local/bin/ipfs init --profile server&#39;

cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/systemd/system/ipfs-daemon.service
[Unit]
Description=IPFS Daemon

[Service]
Restart=always
User=ipfs
group=ipfs
WorkingDirectory=/home/ipfs
ExecStart=/usr/local/bin/ipfs daemon

[Install]
WantedBy=default.target
EOF

systemctl enable ipfs-daemon.service
systemctl start ipfs-daemon.service
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Tip: If you&amp;rsquo;re behind a firewall or NAT make sure to open ports 4001/tcp and
4001/udp so IPFS can connect to the internet.&lt;/p&gt;

&lt;h3 id=&#34;publish-site-to-ipfs&#34;&gt;Publish site to IPFS&lt;/h3&gt;

&lt;p&gt;Next we&amp;rsquo;ll publish the website to IPFS. You&amp;rsquo;ll need to copy your static website
to the IPFS server. For this guide we&amp;rsquo;ll assume there&amp;rsquo;s a copy of your website
at &lt;code&gt;/home/ipfs/website&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs add -r /home/ipfs/website&amp;quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The last line of the output of this command should look something like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;added QmcoZGQZnaGGdcv3zWf1pdcpMQXuXz74tUy7veWdxCiPck website
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Copy the CID and pin it. Pinning means that your IPFS daemon will never
automatically delete these files to free up memeory.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs pin add QmcoZGQZnaGGdcv3zWf1pdcpMQXuXz74tUy7veWdxCiPck
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now it&amp;rsquo;s time to make make it available via IPNS. So we need to generate an
IPNS key. This key will serve as address for accessing the website using IPFS.
It also serves as key for publishing updates to your website.&lt;/p&gt;

&lt;p&gt;NOTE: all commands in this section are to be executed by &lt;code&gt;ipfs&lt;/code&gt; user.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs key gen --type=rsa --size=2048 example-site
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is how you can list your keys:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs key list -l
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;the relevant output should look something like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;k2k4r8ls72x686fmm2s0px4plejbHkhOm9uuzrxwedsaag1w72ene5rw     example-site
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The hash of the key, on the left side is going to be the IPNS name of your
website. It&amp;rsquo;s a fixed name that doesn&amp;rsquo;t change even when you update your site.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs name publish --key=example-site QmcoZGQZnaGGdcv3zWf1pdcpMQXuXz74tUy7veWdxCiPck 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When your IPFS node is working and could connect to some peers, your site
should now be accessible using IPNS. Although publishing may take several
minutes. There are so-called &lt;a href=&#34;https://ipfs.github.io/public-gateway-checker/&#34;&gt;public
gateways&lt;/a&gt; which allow users to
access IPFS and IPNS content using http. E.g.:
&lt;a href=&#34;https://cloudflare-ipfs.com/ipns/k51qzi5uqu5dlfqyi5ofzusx23myrrfzxlbzjho4nso0nq28lueo1994l0uwzw&#34;&gt;https://cloudflare-ipfs.com/ipns/k51qzi5uqu5dlfqyi5ofzusx23myrrfzxlbzjho4nso0nq28lueo1994l0uwzw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also use &lt;code&gt;ipfs&lt;/code&gt; to check if the files got ingested correctly. E.g.:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs ls /ipns/k51qzi5uqu5dlfqyi5ofzusx23myrrfzxlbzjho4nso0nq28lueo1994l0uwzw
ipfs cat /ipns/k51qzi5uqu5dlfqyi5ofzusx23myrrfzxlbzjho4nso0nq28lueo1994l0uwzw/index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;update-libresilient-config-to-include-ipns-link&#34;&gt;Update LibResilient config to include IPNS link&lt;/h3&gt;

&lt;p&gt;Now that your site is available on IPNS you can finally add it to your
LibResilient &lt;code&gt;config.json&lt;/code&gt;. You can actually add as many gateways as you&amp;rsquo;d
like with LibResilient&amp;rsquo;s &lt;code&gt;alt-fetch&lt;/code&gt; plugin. Here&amp;rsquo;s a simple example where we
added two gateways:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;quot;plugins&amp;quot;: [{
    &amp;quot;name&amp;quot;: &amp;quot;fetch&amp;quot;
  }, {
    &amp;quot;name&amp;quot;: &amp;quot;alt-fetch&amp;quot;,
    &amp;quot;endpoints&amp;quot;: [
      &amp;quot;https://cloudflare-ipfs.com/ipns/k51qzi5uqu5dlfqyi5ofzusx23myrrfzxlbzjho4nso0nq28lueo1994l0uwzw&amp;quot;,
      &amp;quot;https://ipfs.io/ipns/k51qzi5uqu5dlfqyi5ofzusx23myrrfzxlbzjho4nso0nq28lueo1994l0uwzw&amp;quot;,
    ]
  }],
  &amp;quot;loggedComponents&amp;quot;: [&amp;quot;service-worker&amp;quot;, &amp;quot;fetch&amp;quot;, &amp;quot;alt-fetch&amp;quot;]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;NOTE: We have to use IPNS, because as you can see we need write the IPFS
address to a file which itself is part of the website. With IPNS updating the
site also won&amp;rsquo;t require changing &lt;code&gt;config.json&lt;/code&gt; for every update.&lt;/p&gt;

&lt;p&gt;When you&amp;rsquo;ve made your pick of IPFS gateways and added them to your
&lt;code&gt;config.json&lt;/code&gt; you can publish it to your web-server.&lt;/p&gt;

&lt;h3 id=&#34;publish-updated-site-to-ipfs&#34;&gt;Publish updated site to IPFS&lt;/h3&gt;

&lt;p&gt;Now you also need to publish the change to IPFS. Again start by copying the
site to your IPFS server. We again assume the updated copy of your static
website is located at &lt;code&gt;/home/ipfs/website&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Next we can unpin the old version of the website. (Tip: you can list pinned
files and directories with: &lt;code&gt;ipfs pin ls&lt;/code&gt; pinned directories will be marked as
&lt;code&gt;recursive&lt;/code&gt;)&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs unpin QmcoZGQZnaGGdcv3zWf1pdcpMQXuXz74tUy7veWdxCiPck
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then we can add the updated site to IPFS and publish it to IPNS again.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ipfs add -r /home/ipfs/website&amp;quot;
ipfs name publish --key=example-site QmcoZrn004DGdRvuZWf1pdcpMQXuXghjCUy7ve5Og45dNU 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can repeat this step whenever you want to publish an updated version of
your static website.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>EU should not require sharing unpatched vulnerabilities</title>
      <link>https://guardianproject.info/2023/06/11/eu-should-not-require-sharing-unpatched-vulnerabilities/</link>
      <pubDate>Sun, 11 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/06/11/eu-should-not-require-sharing-unpatched-vulnerabilities/</guid>
      <description>&lt;p&gt;We, the undersigned organisations, write to express our concern with vulnerability disclosure requirements under the proposed Cyber Resilience Act (CRA). The CRA’s objective to encourage software publishers to patch vulnerabilities and report cyber incidents is salutary. However, the CRA’s mandatory disclosure of unmitigated vulnerabilities will undermine the security of digital products and the individuals who use them.&lt;/p&gt;

&lt;p&gt;The CRA would require organisations to disclose software vulnerabilities to government agencies within 24 hours of exploitation (&lt;em&gt;Cyber Resilience Act, Articles 11.1, 13.6, 14.4&lt;/em&gt;). However, such recently exploited vulnerabilities are unlikely to be mitigated within such a short time, leading to real-time databases of software with unmitigated vulnerabilities in the  possession of potentially dozens of government agencies. The more this kind of information is spread, the more likely it is to be misused for state intelligence or offensive purposes, or to be inadvertently exposed to adversaries before a mitigation is in place. In addition, laws that require disclosure of unmitigated vulnerabilities to government agencies create an international precedent that may be reflected by other countries.&lt;/p&gt;

&lt;p&gt;We call on you to help improve the CRA by including safeguards that help prevent misuse of vulnerability information:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Limit details. The regulation should not require disclosure of technical details of unmitigated vulnerabilities to government bodies that would enable another party to reconstruct the vulnerability or develop code to exploit it.&lt;/li&gt;
&lt;li&gt;Prohibit offensive uses. The regulation should include a clear restriction on the use of software vulnerabilities by public bodies, i.e. for intelligence, surveillance, or offensive purposes.&lt;/li&gt;
&lt;li&gt;Provide time to mitigate. In the absence of user harm or a substantial incident, organisations should have a reasonable time to remediate or address the vulnerability before requiring disclosure of its details to governments. A typical standard period for the mitigation of known vulnerabilities is 90 days.&lt;/li&gt;
&lt;li&gt;Secure vulnerability information. Agencies should be obligated to protect vulnerability information with robust security safeguards and shared only on a very strict need-to-know basis.&lt;/li&gt;
&lt;li&gt;Protect good faith security researchers. The regulation should distinguish between vulnerabilities discovered in good faith for defensive purposes and those that are exploited by malicious actors. Good faith security researchers who follow coordinated vulnerability disclosure standards should be protected from retaliation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We share the goal of strengthening the security of digital products and protecting individuals. The above safeguards will help the CRA achieve its goals of a more resilient and protective technology ecosystem. We appreciate your consideration of our recommendations.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://edri.org/wp-content/uploads/2023/06/CRA-Vulnerability-Handling-Open-Letter.pdf&#34;&gt;original PDF with all signers&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Improving Usability of Tor on Smartphones in Latin America</title>
      <link>https://guardianproject.info/2023/06/02/improving-usability-of-tor-on-smartphones-in-latin-america/</link>
      <pubDate>Fri, 02 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/06/02/improving-usability-of-tor-on-smartphones-in-latin-america/</guid>
      <description>&lt;p&gt;Between 2022 and 2023 Guardian Project, with support from &lt;a href=&#34;https://okthanks.com&#34;&gt;Okthanks&lt;/a&gt; and the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor Project&lt;/a&gt;, organized and participated in a total of 12 workshops in Ecuador, Mexico and Brazil with the participation of 161 people. The workshops focused both on the broad topic of “Tor for Smartphones”, while also taking deeper dives into specific topics like virtual private networks VPNs) and anonymous web browsing. Through a variety of methods, we gathered feedback from the participants in each of those sessions. We also ran detailed individual tests with volunteers to collect insights related to new features and usability improvements on specific apps.
Our top takeaways from this process were, as follows:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;gpchiapasworkshop.png&#34; alt=&#34;chiapas workshop photo&#34; /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changing Misconceptions of Performance&lt;/strong&gt; A positive outcome of each workshop was the opportunity to show participants how much has the Tor network speed improved and address misconceptions related to downloading files and watching videos, one of the main reasons why users stopped using Tor in the past.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ease of Onboarding Matters&lt;/strong&gt; When working with at-risk individuals, it’s important for the first experience to be easy and straightforward.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support Flexible Use&lt;/strong&gt; People’s behaviors around using VPNs tend to vary. Many will use it in certain situations. They are not running it all of the time for everything, but only when they need it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consider Physical Security&lt;/strong&gt; One of the high-level threats we identified during the workshops we ran was the existence of physical check-points run by drug cartels in the south of Mexico. People entering or leaving an area are asked either to provide access to their phones for review or leave them at the checkpoint until they leave the area. It is not clear what they are looking for when they get access to a device, but in many cases, people who left their devices at the checkpoint do not return to claim them out of fear. For this reason, we encourage the use of app icon camouflage features on privacy and security focused apps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Awareness and Education&lt;/strong&gt; The primary reason people in Latin America have been slow to adopt Tor tools is not that they do not work in their context, but due to awareness they exist. They have a hard time understanding what they do and how they work, and have many misconceptions about them. Continued outreach and education about which tools to use when is needed to increase adoption.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&#34;gpusabilitycuecards.png&#34; alt=&#34;usability cue cards&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We are proud to share this 20 page report on our usability focused work on Tor in Latin America&lt;/strong&gt;
Thank you to everyone who made this work possible, from our partners at Tor Project, our community partners, funders, designers, developers, and other supporters. Without all of you, we would not be able to do this important work to broaden the reach and effectiveness of privacy-enhancing tools in Latin America.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;GuardianProject-TorUsabilityOnSmartphonesLatinAmerica-May2023-v0.0.2.pdf&#34;&gt;Download the full report PDF here.&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF116 Conference Report: Friday March 31, 2023</title>
      <link>https://guardianproject.info/2023/04/04/ietf116-conference-report-friday-march-31-2023/</link>
      <pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/04/04/ietf116-conference-report-friday-march-31-2023/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Five of the &lt;a href=&#34;https://www.ietf.org/how/meetings/116/&#34;&gt;116th IETF meeting&lt;/a&gt; in Yokohama Japan.  For the rundown on Day Four, see my &lt;a href=&#34;https://guardianproject.info/2023/03/30/ietf116-conference-report-thursday-march-30-2023/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With a lot of focus on privacy with respect to Internet protocols, novel new cryptography schemes are an important requirement for new protocol designs.  For example, &lt;a href=&#34;https://datatracker.ietf.org/wg/ppm/about/&#34;&gt;Privacy Preserving Measurement&lt;/a&gt; is relying on new cryptography to support distributed aggregation of a wide range of measurements in the advertising domain as well as application telemetry.  &lt;a href=&#34;https://datatracker.ietf.org/wg/privacypass/about/&#34;&gt;Privacy Pass&lt;/a&gt; is relying on new cryptography to allow web browsing across the broad Internet after a single, lightweight authentication to an authority.  IETF Working Groups are encouraged to work with the &lt;a href=&#34;https://irtf.org/cfrg&#34;&gt;Crypto Forum Research Group&lt;/a&gt; of the Internet Research Task Force (&lt;a href=&#34;https://www.ietf.org/about/groups/irtf/&#34;&gt;IRTF&lt;/a&gt;) to develop, test and refine new cryptography techniques that meet defined security/privacy goals and can scale for Internet-wide use.&lt;/p&gt;

&lt;p&gt;One area receiving a lot of attention is &lt;em&gt;signature blinding&lt;/em&gt;. &lt;a href=&#34;https://en.wikipedia.org/wiki/Blind_signature&#34;&gt;Blinding&lt;/a&gt; is used when a message&amp;rsquo;s signing party is different from the message originator (digital cash, electronic voting are examples).  There are many types of blind signature, used for different purposes.  IETF&amp;rsquo;s interest is in how these algorithms work at Internet scale (Privacy Pass potentially being the most high-volume example).  No fewer than three results [&lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-cfrg-key-blinding-for-signature-schemes&#34;&gt;1&lt;/a&gt;] [&lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-cfrg-the-bbs-signature-scheme&#34;&gt;2&lt;/a&gt;] [&lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-cfrg-rsa-blind-signatures-with-public-metadata&#34;&gt;3&lt;/a&gt;] were presented on this topic.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://eprint.iacr.org/2023/130&#34;&gt;Verifiable Distributed Aggregation Functions&lt;/a&gt; are a key set of &lt;em&gt;multi-party computing&lt;/em&gt; techniques for improving the privacy of Internet measurement - split the counting across a group of non-colluding hosts and reassemble it in a manner only the requester (and not the individual aggregators) can see. While there is consensus around the approach, there is work to be done on the algorithm details, specifically around performance and elimination of attack vectors. &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-cfrg-plasma&#34;&gt;PLASMA&lt;/a&gt; - a new proposal for distributed aggregation - was presented along with a &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-cfrg-vdaf&#34;&gt;deeper analysis&lt;/a&gt; of two other proposals (PRIO and POPLAR).&lt;/p&gt;

&lt;p&gt;There is also worry about the forthcoming era of &lt;em&gt;quantum computing&lt;/em&gt; and its &lt;a href=&#34;https://scienceexchange.caltech.edu/topics/quantum-science-explained/quantum-cryptography&#34;&gt;impact on the cryptographic tools used today&lt;/a&gt;.  The search is on for cryptographic methods that are safe &lt;em&gt;post-quantum&lt;/em&gt; and, along with them, ways to migrate currently-encrypted data into the post-quantum era. Currently being discussed are &lt;em&gt;hybrid&lt;/em&gt; or &lt;em&gt;composite&lt;/em&gt; schemes that layer the old techniques and the new techniques.  For me, the math goes off into fairy land pretty quickly, but if &lt;em&gt;Composite Key Encapsulation Mechanisms&lt;/em&gt; turns you on, there&amp;rsquo;s plenty happening at IETF nowadays [&lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-ounsworth-pq-composite-kem-00&#34;&gt;1&lt;/a&gt;] [&lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-ietf-tls-hybrid-design&#34;&gt;2&lt;/a&gt;] [&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-wussler-openpgp-pqc/&#34;&gt;3&lt;/a&gt;] [&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-tjhai-ipsecme-hybrid-qske-ikev2/00/&#34;&gt;4&lt;/a&gt;].&lt;/p&gt;

&lt;p&gt;It turns out, it&amp;rsquo;s not just me whose eyes glaze over at the mathematics involved in much of this work.  IETF has found that IRTF&amp;rsquo;s research in this area should recognize that a presentation acceptable to other mathematicians might not be too useful for protocol implementers.  With this in mind, the Crypto Forum is pulling together &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-cfrg-guidelines-for-writing-cryptography-specifications&#34;&gt;a set of guidelines&lt;/a&gt; for writing cryptographic specifications within the IETF context.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF116 Conference Report: Thursday March 30, 2023</title>
      <link>https://guardianproject.info/2023/03/30/ietf116-conference-report-thursday-march-30-2023/</link>
      <pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/03/30/ietf116-conference-report-thursday-march-30-2023/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Four of the &lt;a href=&#34;https://www.ietf.org/how/meetings/116/&#34;&gt;116th IETF meeting&lt;/a&gt; in Yokohama Japan.  For the rundown on Day Three, see my &lt;a href=&#34;https://guardianproject.info/2023/03/30/ietf116-conference-report-wednesday-march-29-2023/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The IETF is getting serious about interoperability among messaging services (&lt;a href=&#34;https://www.eff.org/deeplinks/2022/04/eu-digital-markets-acts-interoperability-rule-addresses-important-need-raises&#34;&gt;this&lt;/a&gt; might have had something to do with it).  The charter for the Messaging Layer Security Working Group (MLS) specifically &lt;em&gt;excluded&lt;/em&gt; interoperability, though the group organized a draft that addressed the basic concepts that would allow MLS-compatible systems to federate. In early 2023, a new Working Group - More Instant Messaging Interoperability (&lt;a href=&#34;https://datatracker.ietf.org/group/mimi/about/&#34;&gt;MIMI&lt;/a&gt;) - was chartered to expand on the MLS federation work.  Given IETF&amp;rsquo;s relatively long and somewhat checkered history with messaging, the Working Group&amp;rsquo;s charter included this reminder to itself:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Numerous prior attempts have been made to address messaging interoperability, including the IETF&#39;s extensive prior work on XMPP, SIP/SIMPLE, and their related messaging formats. The MIMI working group will draw lessons from these prior attempts, seek to avoid re-hashing old debates, and will focus on the minimal standards suite necessary to facilitate interoperability given the feature set of modern messaging applications.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Thus, its remit had some strict limits:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;The More Instant Messaging Interoperability (MIMI) working group will specify the minimal set of mechanisms required to make modern Internet messaging services interoperable. 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&amp;hellip;&lt;em&gt;minimum&lt;/em&gt; being the operative word. So, what&amp;rsquo;s &lt;em&gt;in scope&lt;/em&gt;?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;messaging interoperability&lt;/li&gt;
&lt;li&gt;user discovery&lt;/li&gt;
&lt;li&gt;messaging content format&lt;/li&gt;
&lt;li&gt;(an appropriate) MLS profile&lt;/li&gt;
&lt;li&gt;message delivery service and transport mechanisms&lt;/li&gt;
&lt;li&gt;establishment of end-to-end cryptographic identity&lt;/li&gt;
&lt;li&gt;identifier naming conventions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Specifically &lt;em&gt;out of scope&lt;/em&gt; are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;metadata processing to manage spam and abuse&lt;/li&gt;
&lt;li&gt;interoperable mechanisms for group administration or moderation across systems&lt;/li&gt;
&lt;li&gt;extensions to the MLS protocol (if needed, requirements will be referred to the MLS working group or other relevant working groups in the security area)&lt;/li&gt;
&lt;li&gt;definition of completely new identity formats or protocols&lt;/li&gt;
&lt;li&gt;extensions to SIP, SDP, MSRP, or WebRTC&lt;/li&gt;
&lt;li&gt;development of anti-spam or anti-abuse algorithms&lt;/li&gt;
&lt;li&gt;&lt;em&gt;oracle&lt;/em&gt; or look-up services that reveal the list of messaging services associated with a given user identity without the user&amp;rsquo;s permission&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This being the first formal meeting after group charter, discussions are still at the stage where defining what &lt;em&gt;in scope&lt;/em&gt; means is still open, as are the most basic tenets of the technical mechanisms to implement the required features.  Grab your popcorn!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF116 Conference Report: Wednesday March 29, 2023</title>
      <link>https://guardianproject.info/2023/03/30/ietf116-conference-report-wednesday-march-29-2023/</link>
      <pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/03/30/ietf116-conference-report-wednesday-march-29-2023/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Three of the &lt;a href=&#34;https://www.ietf.org/how/meetings/116/&#34;&gt;116th IETF meeting&lt;/a&gt; in Yokohama Japan.  For the rundown on Day Two, see my &lt;a href=&#34;https://guardianproject.info/2023/03/29/ietf116-conference-report-tuesday-march-29-2023/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The long-running work on &lt;a href=&#34;https://datatracker.ietf.org/wg/masque/about/&#34;&gt;MASQUE&lt;/a&gt; - proxying all network-layer datatypes over QUIC (HTTP/3) - is nearing completion, with the specification for &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-masque-connect-ip/&#34;&gt;Proxying IP in HTTP&lt;/a&gt; in IESG review.  With these components in place, the &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-schinazi-masque-proxy/&#34;&gt;original MASQUE concept&lt;/a&gt; - a non-probable relay for client traffic providing privacy guarantees - has been revived, now defined within the new framework and leveraging &lt;a href=&#34;https://www.ietf.org/archive/id/draft-ietf-httpbis-unprompted-auth-02.html&#34;&gt;HTTP Unprompted Authentication&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Privacy-preserving measurement is much on the minds of IETF attendees as the &lt;a href=&#34;https://datatracker.ietf.org/wg/ppm/about/&#34;&gt;Privacy Preserving Measurement Working Group&lt;/a&gt; continues to make progress.  Two new concepts were debuted in the Privacy Enhancements and Assessments Research Group &lt;a href=&#34;https://datatracker.ietf.org/rg/pearg/about/&#34;&gt;PEARG&lt;/a&gt; meeting: &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-pearg-secure-partitioning-protocols&#34;&gt;Secure Partitioning Protocols&lt;/a&gt; and &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-pearg-ipa&#34;&gt;Interoperable Private Attribution&lt;/a&gt;. Partitioning is new work looking at how multi-party statistical aggregation can be efficiently accomplished with improved privacy guarantees and is applicable to the on-going work on the Distributed Aggregation Protocol &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/&#34;&gt;DAP&lt;/a&gt;.  &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-pearg-ipa&#34;&gt;Private attribution&lt;/a&gt; measures events that occur in different contexts to the same person (shown an ad, then bought the product, for example).  As a sort of counterpoint, PEARG attendees also heard about the design decisions made in the development of a &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-pearg-dp3t-deploying-decentralized-privacy-preserving-contact-tracing&#34;&gt;privacy-preserving contact tracing application&lt;/a&gt; rolled out during the recent COVID-19 pandemic. Perhaps the defining characteristic of the design of this app was &lt;em&gt;purpose limitation&lt;/em&gt; - building out features that specifically &lt;em&gt;can not&lt;/em&gt; be used for any other purpose (such is the wide-spread fear of these applications being used as the infrastructure of a much more broader system of social control).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF116 Conference Report: Tuesday March 28, 2023</title>
      <link>https://guardianproject.info/2023/03/29/ietf116-conference-report-tuesday-march-28-2023/</link>
      <pubDate>Wed, 29 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/03/29/ietf116-conference-report-tuesday-march-28-2023/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Two of the &lt;a href=&#34;https://www.ietf.org/how/meetings/116/&#34;&gt;116th IETF meeting&lt;/a&gt; in Yokohama Japan.  For the rundown on Day One, see my &lt;a href=&#34;https://guardianproject.info/2023/03/28/ietf116-conference-report-monday-march-28-2023/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://datatracker.ietf.org/wg/ohai/about/&#34;&gt;OHAI Working Group&lt;/a&gt; has submitted the core draft of &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ohai-ohttp/&#34;&gt;Oblivious HTTP Application Intermediation&lt;/a&gt; to the RFC Editor for editorial finalization and publication. OHAI is designed to support &lt;em&gt;transational&lt;/em&gt; uses of the HTTP protocol that seek IP address privacy (by means of a relay pair, one associated with the client and one associated with the target resource). The target resource is, thus, said to be &lt;em&gt;oblivious&lt;/em&gt; to the requester&amp;rsquo;s IP address.  While the initially-imagined use case for OHAI was access to the DNS service (with some in the IETF feeling DNS-over-HTTP did not go far enough to protect user privacy), the dominant  use case imagined today is &lt;em&gt;telemetry&lt;/em&gt; - monitoring vendor-, application- or operating system-defined usage parameters on centralized systems.&lt;/p&gt;

&lt;p&gt;It&amp;rsquo;s fair to ask how OHAI-capable services are to be discovered.  The OHAI Working Group is proposing to use DNS &lt;em&gt;Service Binding Records&lt;/em&gt; (SVCB, defined &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-dnsop-svcb-https/&#34;&gt;here&lt;/a&gt; and well-described &lt;a href=&#34;https://www.sobyte.net/post/2022-01/dns-svcb-https/&#34;&gt;here&lt;/a&gt;). TLS 1.3 Encrypted Client Hello is among the other IETF standards leveraging SVCB.  SVCB records, similar to the (also new) HTTPS records, allow a host of define multiple ways to make connection with parameterization using just the DNS lookup (as opposed to the multiple round-trip mechanism of HTTP&amp;rsquo;s Alt-Svc header).  The draft - &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ohai-svcb-config/&#34;&gt;Discovery of Oblivious Services via Service Binding Records&lt;/a&gt; has been under Working Group discussion since IETF113 and is close to submission for last call (technical completion).&lt;/p&gt;

&lt;p&gt;Speaking of &lt;a href=&#34;https://datatracker.ietf.org/doc/rfc8446/&#34;&gt;TLS 1.3&lt;/a&gt; and Service Binding Records, Encrypted Client Hello &lt;a href=&#34;https://www.ietf.org/archive/id/draft-ietf-tls-esni-14.html&#34;&gt;ECH&lt;/a&gt; was, in fact, the reason SVCB records were defined. DNS lookup is the only point at which certain cryptographic information can be made available before all the connection encryption starts to happen.  Unfortunately, the SVCB draft is stuck in the RFC Editor work queue behind ECH, even though there is language in ECH that references SVCB.  The Working Group is therefore required to remove all the SVCB language from the ECH draft so that it may proceed.  This procedural detail - and accompanying delay - has important consequences: the major open source software package that requires modification before ECH can expect wide adoption (OpenSSL) is waiting for ECH to become a full-fledged RFC before the submitted pull requests will be granted.  Meanwhile there is plenty of experimentation with ECH happening on the live Internet with Mozilla/Firefox and Cloudflare running experiments.&lt;/p&gt;

&lt;p&gt;It turns out there&amp;rsquo;s an alternative (or perhaps &lt;em&gt;parallel&lt;/em&gt;) proposal for TLS 1.3 - &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-tls-ctls/&#34;&gt;CompactTLS&lt;/a&gt; - an effort begun in 2019 and now in it&amp;rsquo;s eighth revision.  cTLS proposes to &lt;code&gt;save bandwidth by trimming obsolete material, tighter encoding, a template-based specialization technique, and alternative cryptographic techniques. cTLS is not directly interoperable with TLS 1.3 or DTLS 1.3 since the over-the-wire framing is different.&lt;/code&gt;  cTLS is undergoing formal analysis and implementation work proceeds, though no results are currently available.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://datatracker.ietf.org/wg/httpbis/charter/&#34;&gt;HTTPbis Working Group&lt;/a&gt; formally adopted the &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-httpbis-unprompted-auth/&#34;&gt;HTTP Unprompted Authentication&lt;/a&gt; specification in the month before IETF116.  As a reminder, Unprompted Authentication allows a server to offer authenticated services without advertising that it does so (meaning the authenticated resources can not be actively probed). A number of semantic elements are under discussion, mostly to understand how this new feature is unique among existing HTTP features (and can, or can not, be aligned with &lt;em&gt;adjacent&lt;/em&gt; capabilities). An action item for IETF117 is a formal analysis of the cryptography used, with several alternatives being proposed.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF116 Conference Report: Monday March 27, 2023</title>
      <link>https://guardianproject.info/2023/03/28/ietf116-conference-report-monday-march-27-2023/</link>
      <pubDate>Tue, 28 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/03/28/ietf116-conference-report-monday-march-27-2023/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post begins a daily blog, live from the 116th meeting of the &lt;a href=&#34;https://www.ietf.org/how/meetings/116/&#34;&gt;Internet Engineering Task Force&lt;/a&gt; in Yokohama, Japan, March 25-31, 2023.  We&amp;rsquo;re focusing on standards activities of importance to the Internet Freedom community.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Since IETF114 (&lt;a href=&#34;https://guardianproject.info/2022/07/28/ietf114-conference-report-thursday-july-28-2022/&#34;&gt;report&lt;/a&gt;), the &lt;a href=&#34;https://datatracker.ietf.org/wg/ppm/about/&#34;&gt;Privacy Preserving Measurement Working Group&lt;/a&gt; has been deliberating over two distinct proposals offering very different technical methodologies for undertaking measurement activities while respecting user privacy. &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-dss-star&#34;&gt;STAR&lt;/a&gt; offers an approach called &lt;em&gt;k-anonymity&lt;/em&gt; - reporting a measurement value only if &lt;em&gt;k&lt;/em&gt; or more parties are also reporting the same value. This approach theoretically prevents rare values being used to single-out individuals.  Distributed Aggregation Protocol, &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/&#34;&gt;DAP&lt;/a&gt;, uses an approach that distributes individual measures across a set of aggregators, none of which gets to see all the granular measurement data - the fully-aggregated total only seen by the third-party who requested it (who, in turn, gets to see none of the granular measurements).  At IETF116 we&amp;rsquo;re learning about the operational experience with these technologies, with multiple implementations of both running in different testbeds.  &lt;a href=&#34;https://datatracker.ietf.org/meeting/116/materials/slides-116-ppm-poplarstar-measurements&#34;&gt;Performance analysis&lt;/a&gt; has also been undertaken.&lt;/p&gt;

&lt;p&gt;Though it&amp;rsquo;s very early days, it&amp;rsquo;s becoming clear that both approaches have had to make operational modifications (based on privacy vulnerabilities or performance or security) that seem to &lt;em&gt;decrease&lt;/em&gt; their uniqueness and call into question the need to have two approaches.  Both approaches, for example, are considering adding &lt;em&gt;differential privacy&lt;/em&gt; features.  Operationally, STAR performs best when &lt;em&gt;k&lt;/em&gt; is within the range 10-100 and it is being argued that such a range is insufficient for Internet-scale use cases.  Operationally, DAP can benefit from a more distributed computation model (using &lt;em&gt;helpers&lt;/em&gt;) but this is offset by performance loss due to the volume of network traffic generated.  DAP is already at a performance deficit compared to STAR, partially because it handles the negative impact of malicious clients (those that purposely submit erroneous values).  Will we see a unified approach in the future?  I sense there&amp;rsquo;s a long way to go here.&lt;/p&gt;

&lt;p&gt;The concept of &lt;em&gt;web filtering&lt;/em&gt; - raised initially at IETF115 - was again discussed in a side meeting hosted by the &lt;a href=&#34;https://www.iwf.org.uk&#34;&gt;Internet Watch Foundation&lt;/a&gt; who are focused on combating child abuse, trafficking and exploitation, a problem they say is exacerbated by the distribution of specific types of content on the Internet. IWF is raising this problem within the IETF in hope of a technical solution to finding and removing the types of content that encourage, they say, these behaviors.  This problem area strikes at the heart of the design of the Internet which, at its core, is &lt;em&gt;content-neutral&lt;/em&gt;.  Perhaps more importantly, there is significant concern that tools developed to suit this particular use case could be easily adapted to induce censorship of less well-defined content and for less-altruistic purposes.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Arti, next-gen Tor on mobile</title>
      <link>https://guardianproject.info/2023/03/04/arti-next-gen-tor-on-mobile/</link>
      <pubDate>Sat, 04 Mar 2023 10:00:00 -0400</pubDate>
      
      <guid>https://guardianproject.info/2023/03/04/arti-next-gen-tor-on-mobile/</guid>
      <description>&lt;p&gt;For software projects with recurring bugs, efficiency or security issues
there&amp;rsquo;s a joke making the rounds in the software industry: &amp;ldquo;Let&amp;rsquo;s re-write it
in &lt;a href=&#34;https://en.wikipedia.org/wiki/Rust_(programming_language)&#34;&gt;Rust&lt;/a&gt;!&amp;rdquo;  It&amp;rsquo;s a
fairly new low-level programming language with the declared goal to help
developers avoid entire classes of bugs, security issues and other pitfalls.
Re-writing software is very time consuming, so it rarely happens, especially
when just one more fix will keep a project up and running.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;Tor-Project&lt;/a&gt; was started in 2001 using the &lt;a href=&#34;https://en.wikipedia.org/wiki/C_(programming_language)&#34;&gt;C
programming lanugage&lt;/a&gt;.
However a few years ago they set out to actually re-write their project in
Rust.  That projects codename is &lt;a href=&#34;https://arti.torproject.org/&#34;&gt;Arti&lt;/a&gt; and it
was &lt;a href=&#34;https://blog.torproject.org/arti_100_released/&#34;&gt;first released&lt;/a&gt; in 2022.
While Arti is working great, it doesn&amp;rsquo;t have all features of the original Tor
implementation yet.  However, they are steadily working on getting there.  For
example, rough &lt;a href=&#34;https://www.pluggabletransports.info/&#34;&gt;Pluggable Transports&lt;/a&gt;
support was added to Arti in the recent 1.1.0 release.&lt;/p&gt;

&lt;p&gt;We already have early &lt;a href=&#34;https://gitlab.com/guardianproject/arti-mobile-ex/&#34;&gt;test builds of
Arti&lt;/a&gt; running on both
Android and iOS.  The integration we came up with is pretty basic, but so far
it seems to work reliable for accessing the Tor network.  Maintaining code for
both iOS and Android in the same project will hopefully simplify shipping new
Arti releases for us, make integrating Tor capabilities into any app simpler.
To make it useful for the broader mobile developer community, we&amp;rsquo;re also
investigating whether we can provide easy to use API bindings.  We&amp;rsquo;ve created a &lt;a href=&#34;https://gitlab.com/guardianproject/arti-mobile-ex/-/tree/main/android/sample&#34;&gt;sample
app&lt;/a&gt;
on Android to test and illustrate what a minimalistic integration of Arti looks
like.  It&amp;rsquo;s as simple as adding a few lines of code.&lt;/p&gt;

&lt;p&gt;Support for features like advanced censorship circumvention or onion services is not
exactly straight forward on mobile operating systems, because they tend to be
way more locked down than traditional computers.  Currently, we can successfully test
pluggable transports in &amp;ldquo;managed&amp;rdquo; mode on old versions of Android.  However
this technique will likely not work on the latest version of Android and never
worked iOS to begin with.  We have shared our findings with the Arti developer
team and hope they&amp;rsquo;ll work on getting us to full Pluggable Transports support, integraing
with our existing &lt;a href=&#34;https://gitlab.com/guardianproject/IPtProxy&#34;&gt;IPtProxy Library&lt;/a&gt; soon.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Steps towards trusted VPNs</title>
      <link>https://guardianproject.info/2023/02/28/steps-towards-trusted-vpns/</link>
      <pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2023/02/28/steps-towards-trusted-vpns/</guid>
      <description>

&lt;p&gt;VPNs have become quite popular in recent years for a number of reasons, and more and more they are being touted as a privacy tool.  The question is whether using a VPN does improve privacy.  It is clear that VPNs are quite useful for getting access to things on the internet when direct connections are blocked.  VPN providers include a number of tactics in both their client apps and server infrastructure to ensure that their users are able to make a connection.  Then once users are connected, all of their traffic that goes over the VPN will see the internet from the point of view of the VPN&amp;rsquo;s server.  That is how VPNs &amp;ldquo;unblock&amp;rdquo; the internet.  In contrast, some are using VPNs to selectively block things, like making a system-wide &lt;a href=&#34;https://www.digitalocean.com/community/tutorials/how-to-block-advertisements-at-the-dns-level-using-pi-hole-and-openvpn-on-ubuntu-16-04&#34;&gt;adblocker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To answer the question about whether they are a useful privacy tool, let&amp;rsquo;s start with the history of where VPNs came from.  VPN stands for Virtual Private Network.  They were developed by large companies with multiple offices and travelling employees.  The goal was to link together all of these offices so that internal data could be freely shared between them without that data going over the internet as easily readable unencrypted plain text.  Then travelling employees could also safely access the internal data via any internet connection.  The key piece of this picture is that the users, employees in this case, already had to trust their VPN provider.  The VPN provider was the company they worked for, and the data they were handling belonged to the company.  So there was no attempt to hide user information from the VPN provider.  Indeed quite the opposite: companies linked the VPN access to each employee&amp;rsquo;s &amp;ldquo;single sign-on&amp;rdquo; account.  Built into the design of VPNs is full trust of the VPN provider, with the aim of keeping the data private from the internet. This setup was also by design, since many large companies wanted to ensure their employees work laptops were still going through the corporate firewall, where the company could block certain sites (e.g. malware, porn), then also &lt;a href=&#34;https://www.fortinet.com/resources/cyberglossary/data-exfiltration&#34;&gt;monitor employees&lt;/a&gt; internet activity to ensure they are not exposing files that the company does not want to be public.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/File:Virtual_Private_Network_overview.svg&#34;&gt;&lt;img src=&#34;Virtual_Private_Network_overview.svg.png&#34; alt=&#34;Virtual Private Network overview&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This does not paint a good picture for a tool to protect privacy.  But there is hope!  It is possible to use a VPN to improve your privacy if you pay attention to some key details.  For VPN services to provide privacy, you have to put a lot of trust in the people who are operating the service.  The VPN provider can see &lt;strong&gt;all&lt;/strong&gt; of your traffic that goes over the VPN, and they have a strong link to your user account with them.  The privacy advantage of a VPN is that the destination sites cannot see which IP address your device is coming from, they will see the VPN provider&amp;rsquo;s IP address.  And your ISP will see you are using a VPN, but not which sites you visit.  With HTTPS, TLS, and end-to-end encryption being widespread, any encrypted content will be protected from the VPN provider also.  But the VPN provider can still see where you are connecting from, which sites and services you are using, what time of day, and even potentially correlate traffic to link activities of their users.  In other words, the VPN operator sees lots of metadata about you, so much so that they could paint a quite detailed portrait of your personal life if they ever did let their data be analyzed.&lt;/p&gt;

&lt;h2 id=&#34;how-to-build-a-privacy-respecting-vpn-service&#34;&gt;How to build a privacy-respecting VPN service&lt;/h2&gt;

&lt;p&gt;There are good signals that VPN services can send to show that they are tackling the real issues.  For example, shipping free software clients, maintaining a &lt;a href=&#34;https://www.eff.org/deeplinks/2016/05/canary-watch-one-year-later&#34;&gt;warrant canary&lt;/a&gt;, posting a clear privacy policy describing the logging policy, and publishing the unredacted results of third party audits.  If the VPN operator is doing the right thing, then VPNs can provide a relatively private way to access the internet.  With a consistent track record of transparency, they can build up a trusted reputation for protecting privacy.  Unfortunately, we cannot rest there since a VPN provider can change their setup quite easily, whether willingly or under duress.  Maintaining consistent, regular, and transparent communications is therefore essential.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calyx Institute&amp;rsquo;s &lt;a href=&#34;https://calyxinstitute.org/legal/privacy-policy&#34;&gt;Privacy Policy&lt;/a&gt;
and &lt;a href=&#34;https://calyxinstitute.org/about/financials-and-annual-reports&#34;&gt;Financials and Annual Reports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mozilla&amp;rsquo;s &lt;a href=&#34;https://www.mozilla.org/en-US/privacy/principles/&#34;&gt;Data Privacy Principles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mullvad&amp;rsquo;s &lt;a href=&#34;https://mullvad.net/help/swedish-legislation/&#34;&gt;Swedish legislation relevant to us as a VPN provider&lt;/a&gt; and &lt;a href=&#34;https://mullvad.net/help/no-logging-data-policy/&#34;&gt;Privacy Policy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On top of that, the &lt;a href=&#34;https://vpnalyzer.org/&#34;&gt;VPNalyzer&lt;/a&gt; project is working to make monitoring VPN services a lot easier and possible to crowdsource.  This gives a third party perspective from some respected organizations.&lt;/p&gt;

&lt;h3 id=&#34;know-as-little-as-possible-about-your-users&#34;&gt;Know as little as possible about your users&lt;/h3&gt;

&lt;p&gt;Many VPN providers require an account and payment information.  This is usually personally identifiable information, like name, credit card information, email address, phone number, billing address, etc.  The most private services have &lt;a href=&#34;https://f-droid.org/2022/02/28/no-user-accounts-by-design.html&#34;&gt;no user accounts by design&lt;/a&gt;.  Calyx, Lavabit, and Riseup VPNs do not require any account or payment at all, so they do not have that information to give out or leak.  Providers that accept payment need a way to tie payment to service, that is usually done using accounts tied to email addresses or phone numbers.  Personal details are not required to make accounts and payments work.  Mullvad uses a randomly generated account number only, there is no link to other identifiers unless you provide them.  Additionally, Mullvad is one of the few VPN vendors that accepts cash payments.  Many technically minded implementers laugh at the idea of processing envelopes of cash, but it is an effective, real world solution to minimizing personal data that software methods struggle to match.&lt;/p&gt;

&lt;h3 id=&#34;keep-as-little-information-as-possible&#34;&gt;Keep as little information as possible&lt;/h3&gt;

&lt;p&gt;The VPN servers unavoidably see lots of information about what users are doing.  The default with most servers is to keep logs of that data. The longer this data is kept, the greater the risk it will be used to identify users and their activities. It does not help that standard practice for running servers is to keep logs for a long time.  Many service providers keep those logs for years.&lt;/p&gt;

&lt;p&gt;VPN providers must be clear about what logs they are keeping, and how long they are stored.  Even better, they will provide information about how they do store the data that they do keep.  For example, if the servers do not use full disk encryption, then it would be straightforward to recover the deleted logs.  That is much harder on systems using full disk encryption.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;a href=&#34;https://cure53.de/audit-report_ivpn.pdf&#34;&gt;2019 audit&lt;/a&gt; of &lt;a href=&#34;https://www.ivpn.net/blog/independent-security-audit-concluded&#34;&gt;IVPN&lt;/a&gt; showed that, at that time, the auditors confirmed that IVPN performed no &amp;ldquo;statistical logging of customer-traffic&amp;rdquo;, &amp;ldquo;logging of traffic, IP addresses or DNS requests&amp;rdquo; on the servers that the auditors were given access to.&lt;/li&gt;
&lt;li&gt;Mullvad says, &amp;ldquo;we never store any activity logs of any kind.&amp;rdquo; in their &lt;a href=&#34;https://mullvad.net/en/help/no-logging-data-policy/&#34;&gt;no logging data policy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;proven-track-record-of-resisting-unjust-legal-intrusion&#34;&gt;Proven track record of resisting unjust legal intrusion&lt;/h3&gt;

&lt;p&gt;There are many legal ways for authorities to get private data, this is an essential part of a functioning justice system.  But these powers are sadly abused in basically every country in the world, it is only a question of degrees.  A VPN provider needs to represent its users legal interests, and push back on legal orders when there is the possibility they are unjust.  Calyx Institute&amp;rsquo;s Nick Merrill provides the shining example in this regard.  With the ACLU, he fought a &lt;a href=&#34;https://en.wikipedia.org/wiki/Doe_v._Ashcroft&#34;&gt;legal case&lt;/a&gt; for over a decade to prevent unjust intrusion for his users.  Ladar Levison shut down his email company &lt;a href=&#34;https://en.wikipedia.org/wiki/Lavabit&#34;&gt;Lavabit&lt;/a&gt; rather than allow the US Government to monitor Edward Snowden&amp;rsquo;s email account.&lt;/p&gt;

&lt;p&gt;There are other ways to ensure that the legal processes are not abused.  These include warrant canaries and disclosure when data had to be turned over via legal procedures.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mozilla&amp;rsquo;s &lt;a href=&#34;https://www.mozilla.org/en-US/about/policy/transparency/&#34;&gt;Transparency&lt;/a&gt; policy&lt;/li&gt;
&lt;li&gt;ProtonVPN&amp;rsquo;s &lt;a href=&#34;https://protonvpn.com/blog/transparency-report/&#34;&gt;Transparency Report &amp;amp; Warrant Canary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Riseup&amp;rsquo;s &lt;a href=&#34;https://riseup.net/canary&#34;&gt;Canary Statement&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;publish-as-much-as-possible-as-free-open-source-software&#34;&gt;Publish as much as possible as free open source software&lt;/h3&gt;

&lt;p&gt;F-Droid works to build &lt;a href=&#34;https://f-droid.org/2022/05/24/buildserver-overhaul-sponsored-by-calyx-institute.html&#34;&gt;services&lt;/a&gt; where free software, &lt;a href=&#34;https://f-droid.org/2022/07/22/maven-central.html&#34;&gt;code&lt;/a&gt; &lt;a href=&#34;https://f-droid.org/2022/09/30/free-software-and-inspection-are-key-to-software-we-can-trust.html&#34;&gt;inspection&lt;/a&gt;, &lt;a href=&#34;https://f-droid.org/2023/01/15/towards-a-reproducible-fdroid.html&#34;&gt;reproducible builds&lt;/a&gt; provide a method to ensure that the software we deliver is trustworthy.  VPN vendors recognize how important trust is, so the good ones work to get their apps into f-droid.org.  The F-Droid community provides the best screening for ensuring Android apps are truly free software.  On top of that, F-Droid flags apps for &lt;a href=&#34;https://f-droid.org/docs/Anti-Features/&#34;&gt;Anti-Features&lt;/a&gt;, which are things that users may not like, but might accept.  Here are VPN clients that do maintain their free software clients in f-droid.org:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/se.leap.bitmaskclient/&#34;&gt;Bitmask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/org.calyxinstitute.vpn/&#34;&gt;Calyx VPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/nl.eduvpn.app/&#34;&gt;eduVPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/net.ivpn.client/&#34;&gt;IVPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/com.lavabit.pahoehoe/&#34;&gt;Lavabit Encrypted Proxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/net.mullvad.mullvadvpn/&#34;&gt;Mullvad VPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/org.outline.android.client/&#34;&gt;Outline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/ch.protonvpn.android/&#34;&gt;ProtonVPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/one.librem.tunnel/&#34;&gt;Purism Librem Tunnel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/se.leap.riseupvpn/&#34;&gt;Riseup VPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/com.tailscale.ipn/&#34;&gt;Tailscale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/com.wireguard.android/&#34;&gt;WireGuard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;use-external-auditors-to-confirm-source-code-and-operations&#34;&gt;Use external auditors to confirm source code and operations&lt;/h3&gt;

&lt;p&gt;External auditors are important because they can bring fresh eyes on the source code, and good auditors are experts at finding issues in source code and server setups.  And responsible organizations will publish the full, unredacted audit report once they have fixed the issues.  Even if a VPN app is included in F-Droid, there are key aspects of the service that cannot be independently verified.  For this, we must rely on the people who run the service to do the right thing.  Audits can demonstrate that they were doing the right thing at the point of time of the audit.  Here are some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IVPN&amp;rsquo;s &lt;a href=&#34;https://cure53.de/audit-report_ivpn.pdf&#34;&gt;2019 audit of IVPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mozilla VPN had their app source code &lt;a href=&#34;https://blog.mozilla.org/security/files/2021/08/FVP-02-report.final_.pdf&#34;&gt;audited&lt;/a&gt; in 2021 and fixed the issues that were found.&lt;/li&gt;
&lt;li&gt;Mullvad&amp;rsquo;s &lt;a href=&#34;https://cure53.de/pentest-report_mullvad_2020_v2.pdf&#34;&gt;Pentest-Report Mullvad Apps, Clients &amp;amp; API 05.2020&lt;/a&gt;, &lt;a href=&#34;https://cure53.de/pentest-report_mullvad_v2.pdf&#34;&gt;Pentest-Report Mullvad VPN Clients 09.2018&lt;/a&gt;, and &lt;a href=&#34;https://mullvad.net/en/blog/2021/1/20/no-pii-or-privacy-leaks-found-cure53s-infrastructure-audit/&#34;&gt;2020 Infrastructure Audit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Outline&amp;rsquo;s &lt;a href=&#34;https://s3.amazonaws.com/outline-vpn/static_downloads/ros-report.pdf&#34;&gt;2017 Pentratration Test Report&lt;/a&gt; and &lt;a href=&#34;https://s3.amazonaws.com/outline-vpn/static_downloads/cure53-report.pdf&#34;&gt;Pentest &amp;amp; Audit Report Jigsaw Outline 09.-12.2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Proton VPN open sourced their client apps and had them &lt;a href=&#34;https://www.zdnet.com/article/protonvpn-apps-handed-to-open-source-community-in-transparency-security-push/&#34;&gt;audited&lt;/a&gt; in 2019.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;publicly-verifiable-binaries-via-reproducible-builds&#34;&gt;Publicly verifiable binaries via reproducible builds&lt;/h3&gt;

&lt;p&gt;Source code is the easiest place to conduct an audit of software, but it is the binary files that actually run on your device.  Auditing binaries rarely happens since it is so much more time intensive.  And yet, there are ways to change how software works without changing the source code. This can be done by injecting changes into the process that converts the source code into the executable binary.  &lt;a href=&#34;https://reproducible-builds.org/&#34;&gt;Reproducible Builds&lt;/a&gt; is the indisputable method for proving that a given binary was generated by given source code.&lt;/p&gt;

&lt;p&gt;There are some generic VPN clients in Debian that are built reproducibly, but there are no Android or iOS VPN apps or  branded desktop client apps that meet this standard yet.  We recommend that VPN providers work with &lt;a href=&#34;https://wiki.debian.org/ReproducibleBuilds&#34;&gt;Debian&lt;/a&gt;, &lt;a href=&#34;f-droid.org/docs/Reproducible_Builds&#34;&gt;F-Droid&lt;/a&gt;, the &lt;a href=&#34;https://reproducible-builds.org/&#34;&gt;Reproducible Builds&lt;/a&gt; group, or any other relevant &lt;a href=&#34;https://reproducible-builds.org/who/projects/&#34;&gt;project&lt;/a&gt; to achieve this key step.&lt;/p&gt;

&lt;h3 id=&#34;apple-ios&#34;&gt;Apple iOS&lt;/h3&gt;

&lt;p&gt;This post focuses on Android because iOS has a number of issues that make using VPNs for privacy less effective.  For example, VPNs on iOS will &lt;a href=&#34;https://www.bleepingcomputer.com/news/security/unpatched-ios-bug-blocks-vpns-from-encrypting-all-traffic/&#34;&gt;leak IP addresses&lt;/a&gt;.  Apple knows about this issue, yet still has &lt;a href=&#34;https://www.theregister.com/2022/08/19/apple_ios_vpn/&#34;&gt;not fixed&lt;/a&gt; it after a couple years.  On top of that, it is not possible to have reproducible builds on iOS because the actual executable binaries are encrypted by Apple&amp;rsquo;s proprietary Digital Restrictions Management (DRM), so only Apple could ever reproducibly build something.  If you are running Apple iOS, you are stuck trusting Apple to do the right thing, since they operate a relatively opaque, proprietary, strictly walled garden.&lt;/p&gt;

&lt;h2 id=&#34;run-your-own-vpn&#34;&gt;Run your own VPN&lt;/h2&gt;

&lt;p&gt;The VPN security model means you have to put a ton of trust in the operator.  Questions of trust get much easier when you are talking about yourself or own organization.  There are many projects that aim to make it as easy as possible to run your own VPN service.  The good ones are all free software and have been audited, both the client source code and the server side setup.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://amnezia.org&#34;&gt;Amnezia&lt;/a&gt; is a free service to create a personal VPN on your server.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://leap.se/&#34;&gt;LEAP VPN&lt;/a&gt; is a &amp;ldquo;white label&amp;rdquo; VPN setup used to build Bitmask, CalyxVPN, RiseupVPN and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://getoutline.org/&#34;&gt;Outline&lt;/a&gt; &amp;ldquo;makes it easy to create a VPN server, giving anyone access to the free and open internet.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://we-pn.com/&#34;&gt;WEPN&lt;/a&gt; is a free software kit to become your own VPN provider, designed around a small hardware device.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are also generic VPN client apps based on standard protocols:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/nl.eduvpn.app/&#34;&gt;eduVPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/de.blinkt.openvpn/&#34;&gt;OpenVPN for Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/en/packages/com.github.shadowsocks/&#34;&gt;Shadowsocks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/org.strongswan.android/&#34;&gt;strongSwan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/com.WireGuard.android/&#34;&gt;WireGuard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;comparing-vpns-to-tor-and-masque&#34;&gt;Comparing VPNs to Tor and MASQUE&lt;/h2&gt;

&lt;p&gt;If it is privacy that you seek, then there are other tools to review.  Tor is a longstanding community project that aims to make privacy proxies without compromise. Tor works similarly to VPN in that it is tunneling traffic to shared servers, the big difference is that your traffic is tunneled through three relays (in comparison to single hop VPNs). Each individual Tor relay cannot see the enough to put together a picture of who is doing what. At most, a relay can see what is done, but not who.  Or that someone is accessing Tor, but not their destination.  &lt;a href=&#34;https://guardianproject.info/apps/org.torproject.android/&#34;&gt;Orbot&lt;/a&gt; provides a VPN mode, but this is still full Tor protection, since it is just using the device&amp;rsquo;s VPN user experience to provide access to the Tor network.  &lt;a href=&#34;https://www.torproject.org/&#34;&gt;Tor Browser&lt;/a&gt; then adds whole other layers of privacy protection that can only be implemented in the internet-enabled app.  This includes things like reducing metadata leaks in the HTTPS connection or web APIs, or isolating websites from each other within the browser, so they cannot read data about other sites the user has visited.&lt;/p&gt;

&lt;p&gt;A new approach that is somewhere in between a VPN and Tor are multi-hop &lt;a href=&#34;https://guardianproject.info/2020/02/25/masque-review/&#34;&gt;MASQUE&lt;/a&gt; relays.  MASQUE is a new protocol that is similar to VPN and proxy protocols.  MASQUE is built on HTTP/3 aka QUIC, so it does not stick out as much as VPN or WireGuard traffic.  It also allows for multi-hop configurations.  MASQUE is only newly deployed, so there is not the two decades of experience working to minimize metadata leaks in the processes for relaying traffic.&lt;/p&gt;

&lt;p&gt;Apple iCloud Private Relay is a &lt;a href=&#34;https://blog.cloudflare.com/icloud-private-relay/&#34;&gt;two hop deployment&lt;/a&gt; on MASQUE, which means that the Apple side can see that the user is sending traffic, and the Cloudflare side can see the destination, but not the user.  That does provide a real privacy improvement over a single hop system.  Unfortunately, Apple iCloud Private Relay fails most of the other tests laid out in this post.  Plus given the history of NSA programs like PRISM, and the willingness for US companies like Apple and Google to &lt;a href=&#34;https://www.theguardian.com/world/2013/jun/06/us-tech-giants-nsa-data&#34;&gt;take part&lt;/a&gt;, this setup is not clear protection from NSA and Five Eyes surveillance and targeting.  It would be relatively straightforward for those kinds of agencies to correlate the data from the Apple and Cloudflare side if they have access to the metadata from both sides.&lt;/p&gt;

&lt;p&gt;If privacy is your primary concern, then it is worth investing time into tools like Tor.  If you have limited time and are mostly concerned about mass surveillance, then a good VPN is worth considering for some added privacy protection.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Scanning apps, off the record</title>
      <link>https://guardianproject.info/2022/09/28/scanning-apps-off-the-record/</link>
      <pubDate>Wed, 28 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/09/28/scanning-apps-off-the-record/</guid>
      <description>

&lt;p&gt;Smart phones have brought us so many wonderful capabilities.  They let people around the world access vast realms of information.  They let app developers solve problems large and small in a way most relevent to their local context.  They are personal computers for the world.  They also have given surveillance capitalism an unprecedented reach into everyone&amp;rsquo;s lives. Repressive governments use them in ways that the East German Stasi secret police could only have dreamed of.  And as promising as artificial intelligence is, it is also threatening humanity.  People around the world are pushing back.  This public interest work requires technical inspection of apps.  There are organizations highlighting algorithmic transparency and calling out surveillance capitalism.  Journalists are linking apps into key stories about the misdeeds of powerful companies.  Activists are exposing the hidden machinations of their governments.  All of these people require technical skills to see what a given app is going.&lt;/p&gt;

&lt;p&gt;It turns out that a lot of the technical bits required to do these kinds of investigations can be automated.  When combined with good user experience design, many of the barriers to entry can be removed.  This allows more people to get involved, and for many of these problems to be crowdsourced even.  This is the central focus of our project Tracking the Trackers.  We have just completed the third round of work to bring the initial automation to a more accessible user experience.&lt;/p&gt;

&lt;p&gt;We have discussed these workflows with a number of organizations doing this kind of work to learn about their processes, and how they might be improved.  And we want to hear from more.  There is a lot of potential to pool limited resources to build up a shared, free software resource that is greater than the sum of its parts.  And there are many complementary projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EFF&amp;rsquo;s &lt;a href=&#34;https://github.com/EFForg/apkeep&#34;&gt;apktool&lt;/a&gt; - tool for downloading Android apps from various sources&lt;/li&gt;
&lt;li&gt;F-Droid &lt;a href=&#34;https://f-droid.org/2020/12/21/announcing-issuebot.html&#34;&gt;&lt;em&gt;issuebot&lt;/em&gt;&lt;/a&gt; - automatically review apps via GitLab issues and merge requests&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://about.gitlab.com/topics/ci-cd/&#34;&gt;GitLab CI&lt;/a&gt; - server-less processing tied to issue trackers and merge requests&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://git.app-check.org/app-check&#34;&gt;MobilSicher AppCheck&lt;/a&gt; - dynamic analysis for finding personal data leaks in apps&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pts-project.org/&#34;&gt;PiRouge&lt;/a&gt; - mobile forensic and network traffic analysis platform&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://beta.pithus.org/about/&#34;&gt;Pithus&lt;/a&gt; - mobile threat intelligence platform for activists, journalists, NGOs, researchers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;putting-it-all-together&#34;&gt;Putting it all together&lt;/h2&gt;

&lt;p&gt;We have developed a stack to integrate as many tools that are relevant into a single, productive user experience.  Detailed inspection of apps is a process that must be tracked, so the focus is on issue trackers and merge requests.  Each app is tracked as an issue.  A person opens up a new issue, adding what they know about the app, including links to it in an app store, the Application ID, links to any source code, etc.  Then &lt;em&gt;issuebot&lt;/em&gt; kicks in and downloads the app and any source code it can find.  Once successful, it will launch various analysis processed on what it downloaded.  Those results are then compiled into a report which is posted to the issue tracker for the human reviewers.  The bot leaves its mark using a GitLab label called &lt;code&gt;fdroid-bot&lt;/code&gt;.  If someone found more files to download and would like &lt;em&gt;issuebot&lt;/em&gt; to run again, they just remove the &lt;code&gt;fdroid-bot&lt;/code&gt; label and &lt;em&gt;issuebot&lt;/em&gt; will try the whole process again.&lt;/p&gt;

&lt;p&gt;It runs a number of different scans and processes to check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inspect apps from F-Droid, Google Play, APKPure, Huawei App Gallery, and GitHub Releases.&lt;/li&gt;
&lt;li&gt;Get the source code&lt;/li&gt;
&lt;li&gt;Build the app from source&lt;/li&gt;
&lt;li&gt;Find the license of the source code&lt;/li&gt;
&lt;li&gt;Extract info about libraries, classes, domain names, URLs, permissions, services, etc.&lt;/li&gt;
&lt;li&gt;Apply signature collections&lt;/li&gt;
&lt;li&gt;What kinds of &lt;a href=&#34;https://f-droid.org/docs/Anti-Features&#34;&gt;Anti-Features&lt;/a&gt; an app has, e.g. tracking, ads, non-free dependencies, known vulnerabilities, etc.&lt;/li&gt;
&lt;li&gt;Whether all the dependencies are also free software&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using this process, the F-Droid community reviews all apps for &lt;a href=&#34;https://f-droid.org/docs/Anti-Features/&#34;&gt;Anti-Features&lt;/a&gt; before accepting them into the &lt;f-droid.org&gt; collection.  For some years now, F-Droid have reviewed new apps and updates via merge requests with &lt;em&gt;issuebot&lt;/em&gt;.  It automatically checks issues on the &lt;a href=&#34;https://gitlab.com/fdroid/rfp/-/issues&#34;&gt;Requests for Packaging&lt;/a&gt; tracker, this is the starting point of the process of adding new apps to the collection.  The collection is then maintained via merge requests on the &lt;a href=&#34;https://gitlab.com/fdroid/fdroiddata/-/merge_requests&#34;&gt;&lt;em&gt;fdroiddata&lt;/em&gt;&lt;/a&gt; project.  There are hundreds of reviews there to browse through, an some &lt;a href=&#34;https://gitlab.com/fdroid/rfp/-/issues/2224#note_1118052837&#34;&gt;scans&lt;/a&gt; that are more interesting.&lt;/p&gt;

&lt;p&gt;We believe this same workflow fits well to many processes for inspecting apps.  GitLab provides the core workflow that fits how many researchers and organizations are already doing this work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detailed inspection happens over time, over multiple work sessions.&lt;/li&gt;
&lt;li&gt;Multiple people are involved in the process.&lt;/li&gt;
&lt;li&gt;Work can happen asynchronously across time zones and organizations.&lt;/li&gt;
&lt;li&gt;Public GitLab also opens up crowdsourcing opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We have setup a instance of this setup for public interest organizations and investigators to use.  This is called the &amp;ldquo;Off The Record&amp;rdquo; tracker.  Access is available on request, send an email to &lt;a href=&#34;mailto:support@guardianproject.info&#34;&gt;support@guardianproject.info&lt;/a&gt; to make the request.  Additionally, the whole stack is free software.  Organizations are free to run it as they need to, with any privacy requirements that might need.  That also makes it cheap to host this software, so that it can be affordably provided as a service to people working in the public interest.  It can be &lt;a href=&#34;https://gitlab.com/fdroid/issuebot#installing-into-a-gitlab-project&#34;&gt;self-hosted&lt;/a&gt; with any GitLab &amp;ldquo;Community Edition&amp;rdquo; instance with CI/CD Runners, and also runs on the gratis &lt;a href=&#34;https://gitlab.com/&#34;&gt;https://gitlab.com/&lt;/a&gt; hosting.    It does touch some proprietary services, but only via public APIs so that the functionality is included in the stack.&lt;/p&gt;

&lt;p&gt;One new development is the creation a standard pattern for managing profiles for collections of signatures to detect Anti-Features in Android apps.  F-Droid &lt;a href=&#34;https://gitlab.com/fdroid/suss&#34;&gt;SUSS&lt;/a&gt; (Suspicious or Unwanted Software Signatures) is the first live project, with F-Droid&amp;rsquo;s &lt;code&gt;scanner&lt;/code&gt; tool using it. Before this round of work began, there were multiple silos where related activities were happening.  F-Droid scans for non-free software, Mobil Sicher detects when apps transmit personal data, Exodus Privacy find for tracking software, and IzzySoft looks for Anti-Features of all kinds.  We hope that standardizing data formats and workflows will make contribution and shared maintenance easier, as well as making it easy for organizations to maintain their own collections of signatures they want to detect.  YARA serves as template for this effort. It began at one malware company, and is now used by a &lt;a href=&#34;https://virustotal.github.io/yara/#who-s-using-yara&#34;&gt;wide variety&lt;/a&gt; of organizations. YARA has become the standard tool for writing malware signatures for desktop platforms.  Unfortunately, it is &lt;a href=&#34;https://github.com/VirusTotal/yara/issues/1145&#34;&gt;not well structured&lt;/a&gt; to work for scanning Android apps or source code, but it can serve as a inspiration and model.&lt;/p&gt;

&lt;h2 id=&#34;appendix&#34;&gt;Appendix&lt;/h2&gt;

&lt;h3 id=&#34;a-know-the-local-laws-on-software-inspection&#34;&gt;A) Know the local laws on software inspection.&lt;/h3&gt;

&lt;p&gt;In many places, just the act of inspecting software can get you in trouble with local governments or companies.  This could be anything from &lt;a href=&#34;https://www.vidstromlabs.com/blog/the-legal-boundaries-of-reverse-engineering-in-the-eu/&#34;&gt;unclear laws&lt;/a&gt; &lt;a href=&#34;https://www.eff.org/issues/coders/reverse-engineering-faq&#34;&gt;regarding&lt;/a&gt; &lt;a href=&#34;https://www.twobirds.com/en/insights/2020/germany/vertraglicher-ausschluss-von-reverse-engineering&#34;&gt;reverse engineering&lt;/a&gt; to overreach from law enforcement.  Running the inspection in private means the app reviewers are much less exposed unwarranted or unjust interference.  Anyone doing software inspection should familiarize themselves with local laws and regulation that affect it.&lt;/p&gt;

&lt;p&gt;The biggest challenges that remain for making software inspection commonplace are around how organizations and governments apply this software.  Any organization that wants to start working on auditing software in the public interest will need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legal guidelines for getting any required permissions before downloading apps to review.&lt;/li&gt;
&lt;li&gt;A home organization for this repository that has a public mission aligned with these goals.&lt;/li&gt;
&lt;li&gt;Legal representation to handle any issues that arise, and to push back against illegitimate requests.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;b-what-no-ios&#34;&gt;B) What, no iOS?&lt;/h3&gt;

&lt;p&gt;We recognize that it is also important to inspect iOS apps.  Compared to Android, the Apple mobile ecosystem is smaller and much more closed and restrictive.  Therefore, it is much more more difficult to inspect.  The application executable binary in the &lt;code&gt;.ipa&lt;/code&gt; file is &lt;a href=&#34;https://stackoverflow.com/questions/5784169/does-apple-modify-ios-application-executables-on-apps-submitted-to-the-app-store/5784332#5784332&#34;&gt;encrypted&lt;/a&gt; which prevents examination of the binary.  The only way to get the actual &lt;code&gt;.app&lt;/code&gt; files is to have a jailbroken iOS device, then manually install them on the device.    Only then can they be extracted and inspected.&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;This work was funded by NLnet as &lt;a href=&#34;https://nlnet.nl/project/EthicalApps/&#34;&gt;The Search for Ethical Apps&lt;/a&gt; under the umbrella of &lt;a href=&#34;https://guardianproject.info/2022/09/01/the-search-for-ethical-apps-lets-start-with-governments/&#34;&gt;Guardian Project&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;https://guardianproject.info/tags/tracking-the-trackers/&#34;&gt;Tracking the Trackers&lt;/a&gt; effort.&lt;/em&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The Search for Ethical Apps: Let&#39;s start with governments</title>
      <link>https://guardianproject.info/2022/09/01/the-search-for-ethical-apps-lets-start-with-governments/</link>
      <pubDate>Thu, 01 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/09/01/the-search-for-ethical-apps-lets-start-with-governments/</guid>
      <description>

&lt;p&gt;Governments across the world are moving services to mobile apps.  The vast majority of these apps are only available in the Google Play store or in the Apple App store.  Installing apps from these services requires users to agree to their terms of service.  This means governments require their citizens to sign opaque and privacy invading contracts with foreign Big Tech in order to use digital services.  This feeds ever more into Big Tech data control, filtering, and information bubbles.  There are some exceptions here, like China has multiple app stores that are popular.  Chinese Big Tech also require restrictive terms of service agreements.  Additionally, many of apps are developed by the same firms that are tied into the surveillance capitalism ecosystem.  So they include features that track the end users. The governments are not demanding data transparency, and these firms have not been delivering it.&lt;/p&gt;

&lt;p&gt;In Austria, there is a clear example: the &lt;a href=&#34;https://www.a-trust.at/en/Handy-Signatur/&#34;&gt;&lt;em&gt;Handy Signatur&lt;/em&gt;&lt;/a&gt; app.  Public health insurance providers require this app for people to access their accounts online. Since COVID-19 countermeasures forced schools into online-mode, many public schools have been requiring education apps for students, parents and teachers to connect with and interact with the school. People with the that app can also sign petitions and download vaccination certificates those without have to do much more work.&lt;/p&gt;

&lt;p&gt;Mobile phone users want to know about what apps are doing with their personal data. Citizens around the world gaining consciousness about these issues.  In order to build public pressure, a critical mass must be aware of these problems. To learn, they must first discover how widespread and entrenched this problem is.  We received funding from &lt;a href=&#34;https://nlnet.nl/project/EthicalApps/&#34;&gt;NLnet&lt;/a&gt; to work on this key area.  This project integrates existing tools and builds a &amp;ldquo;software kit&amp;rdquo; to make it easy to generate data about the apps governments require.  This data will be simple to index so that it citizens and search it and discover the terms their governments are requiring them to take to access e-government services.&lt;/p&gt;

&lt;p&gt;Journalists are just starting to report on this large and growing problem.  One of the few stories in the European media came recently in the Dutch media: &amp;ldquo;&lt;a href=&#34;https://fd.nl/economie-politiek/1383007/overheid-dwingt-burger-in-de-richting-van-google-en-apple&#34;&gt;&lt;em&gt;Overheid dwingt burger in de richting van Google en Apple&lt;/em&gt;&lt;/a&gt;&amp;rdquo; (The authorities force citizens towards Google and Apple).  On top of transparency, governments should also ensure that the apps they make and use are available without privacy concerns or corporate control, and that they are not feeding data to companies that control search algorithms and limit user autonomy.&lt;/p&gt;

&lt;p&gt;This first step is to make a repository with the apps related to government services.  This then provides a template for others to do the same in other countries.  Next steps are include pushing organizations and companies to do the same, for example school and banking apps; getting more country repositories and perhaps an EU repository; an helping governments, organizations, and companies set up good distribution options.  Governments should also list F-Droid as an option for getting the apps whenever they mention Google Play and Apple App Store.  And when governments go &lt;a href=&#34;https://f-droid.org/packages/de.bwl.lfdi.app/&#34;&gt;all&lt;/a&gt; &lt;a href=&#34;https://www.baden-wuerttemberg.datenschutz.de/lfdi-bw-app-f-droid/&#34;&gt;the way&lt;/a&gt;, they should be lauded. 🎉&lt;/p&gt;

&lt;p&gt;We work partners to make this come to life:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;F-Droid provides all the tools for securely publishing and managing app repositories.  F-Droid&amp;rsquo;s community app &lt;a href=&#34;https://gitlab.com/fdroid/rfp/-/issues&#34;&gt;review&lt;/a&gt; &lt;a href=&#34;https://gitlab.com/fdroid/fdroiddata/-/merge_requests&#34;&gt;process&lt;/a&gt; gives us a template to build upon for reviewing all apps in an open way.  F-Droid provides another option that does not lock anyone into any service. There are no terms of service, or even &lt;a href=&#34;https://f-droid.org/2022/02/28/no-user-accounts-by-design.html&#34;&gt;user accounts&lt;/a&gt; to sign up for.  And F-Droid provides a decentralized app distribution ecosystem where anyone can publish their own apps via their own repositories.  If the app is free software, it can be included in the main &lt;a href=&#34;https://f-droid.org&#34;&gt;f-droid.org&lt;/a&gt; repository.  Millions of users have installed F-Droid themselves, and companies like Fairphone have shipped devices with F-Droid pre-installed.  Anyone can freely install F-Droid on any Android device.  So F-Droid provides app distribution without being locked into any service, unlike Google Play.&lt;/li&gt;
&lt;li&gt;ITUJ&amp;rsquo;s &lt;a href=&#34;https://mobilsicher.de/&#34;&gt;mobilsicher&lt;/a&gt; project will provide the user facing service for Germany. Their new repository will serve both as an app distribution provider, and as an example of how other organizations can do the same.  Their impressive &lt;a href=&#34;https://git.app-check.org/app-check&#34;&gt;app-check&lt;/a&gt; review &lt;a href=&#34;https://appcheck.mobilsicher.de/&#34;&gt;platform&lt;/a&gt; is a complete stack for human reviewers to do dynamic analysis, and the database they have built up will be integrated into the review process.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://exodus-privacy.eu.org/&#34;&gt;Exodus Privacy&lt;/a&gt; focuses on tracking embedded in Android apps.  It works based on users requesting apps be reviewed.  It is an important source for this project since it is narrowly focused on detecting and reporting tracking in any Android app.&lt;/li&gt;
&lt;li&gt;EFF created and maintains &lt;a href=&#34;https://github.com/EFForg/apkeep&#34;&gt;&lt;em&gt;apkeep&lt;/em&gt;&lt;/a&gt;, the essential tool for getting the actual app files to inspect when the source code is not available.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://beta.pithus.org/about/&#34;&gt;Pithus&lt;/a&gt; is a mobile threat intelligence platform for activists, journalists, NGOs, researchers that is a entirely open platform supported and maintained by the community.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/techlore/plexus&#34;&gt;Techlore Plexus&lt;/a&gt; is a catalog of Android apps that have been reviewed in terms of compatibility with Google-free devices.  For example, they list whether an app requires Google Play Services to run.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, this is not the complete solution for &lt;a href=&#34;https://www.ethicsinapps.eu/&#34;&gt;ethical apps&lt;/a&gt;.  This is a stepping stone towards the end goal of &amp;ldquo;&lt;a href=&#34;https://publiccode.eu/&#34;&gt;Public&lt;/a&gt; &lt;a href=&#34;https://www.eff.org/deeplinks/2017/10/public-money-public-code-show-your-support-free-software-europe&#34;&gt;Money&lt;/a&gt;, &lt;a href=&#34;https://publiccode.asia/&#34;&gt;Public&lt;/a&gt; &lt;a href=&#34;https://blog.okfn.org/2017/09/20/public-money-public-code/&#34;&gt;Code&lt;/a&gt;&amp;rdquo;.  This project will push governments down that road by outlining easier steps to take as they move towards free software: making apps available for public audit, allowing users to install apps without agreeing to any terms of service, etc.  It enables users of free platforms like CalyxOS, LineageOS, Murena, etc. to get access to public services via their mobile devices.  It gives users with Google Play devices the option to disable Google Play, because they can get the apps they need via F-Droid.&lt;/p&gt;

&lt;h2 id=&#34;the-shape-of-the-work&#34;&gt;The shape of the work&lt;/h2&gt;

&lt;p&gt;Here is the general idea of what this project will do, as outlined in the funding propsal:&lt;/p&gt;

&lt;h3 id=&#34;1-low-maintenance-repositories&#34;&gt;1. Low maintenance repositories&lt;/h3&gt;

&lt;p&gt;Launch an F-Droid app repository for a pre-curated set of apps that includes direct download links.  Ongoing software maintenance is covered since it will be integrated into F-Droid&amp;rsquo;s core offering.  App updates, verification, and hosting for the Austria repository are all covered indefinitely by existing Guardian Project/F-Droid efforts.   Once complete, other launches will require only a website and a launch campaign.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrate APK download tools like EFF&amp;rsquo;s &lt;em&gt;apkeep&lt;/em&gt;, &lt;em&gt;gplaycli&lt;/em&gt;, etc. into &lt;em&gt;issuebot&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Build existing automation scripts into user tools&lt;/li&gt;
&lt;li&gt;Link repo publishing with &lt;em&gt;issuebot&lt;/em&gt; posts in GitLab project&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;2-ongoing-review&#34;&gt;2. Ongoing Review&lt;/h4&gt;

&lt;p&gt;Build a public facing app review site based on existing F-Droid methods and software.  This would clearly show the technical factors that go into the review process.  Chosen contributors can submit and review apps there, the public can watch.  This needs some software development and a GitLab instance (could be free hosting on gitlab.com).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrate review tools from collaborators&lt;/li&gt;
&lt;li&gt;Sync tracking lib data with Exodus Privacy&amp;rsquo;s public database&lt;/li&gt;
&lt;li&gt;Create canonical F-Droid database of proprietary libraries&lt;/li&gt;
&lt;li&gt;Build out data publishing system, so all extracted data is navigable by scripts&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;3-community-review&#34;&gt;3. Community Review&lt;/h4&gt;

&lt;p&gt;Expand software tooling to allow submission and review to more contributors.  Stage 2 should be running smoothly before opening it up to the public. On top of software development, this needs staff or committed volunteer time spent on managing the community.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;user research on how people think about data extracted from apps&lt;/li&gt;
&lt;li&gt;UX design for &lt;em&gt;issuebot&lt;/em&gt; to represent extracted data in GitLab tracker posts&lt;/li&gt;
&lt;li&gt;document tools so community manager can effectively curate user interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;4-launch-for-new-organization&#34;&gt;4. Launch for new Organization&lt;/h4&gt;

&lt;p&gt;Launch a campaign for other countries and perhaps EU-wide in partnership with civil society organizations and governments.  This could happen after any of the previous stages, e.g. we could help one government setup a &amp;ldquo;pre-curated&amp;rdquo; website and another organization with a &amp;ldquo;community review&amp;rdquo; setup.&lt;/p&gt;

&lt;h3 id=&#34;total-budget-48-000&#34;&gt;Total Budget: 48,000€&lt;/h3&gt;

&lt;p&gt;(&lt;em&gt;We&amp;rsquo;re a little late in publishing this post, the project runs from April through September 2022&lt;/em&gt;).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Serving Websites Privately Over Tor Onion Services (From Your Laptop!)</title>
      <link>https://guardianproject.info/2022/08/29/serving-websites-privately-over-tor-onion-services-from-your-laptop/</link>
      <pubDate>Mon, 29 Aug 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/08/29/serving-websites-privately-over-tor-onion-services-from-your-laptop/</guid>
      <description>

&lt;p&gt;In this day and age when our data is consistently being tracked and profited off of, sharing information safely and securely is difficult. However, that does not necessarily mean that all network services are subject to such scrutiny. Users now have the ability to combine the security of HTTPS with the privacy benefits of Tor Browser and share information through Tor’s anonymous network services – &lt;a href=&#34;https://community.torproject.org/onion-services/&#34;&gt;Onion Services&lt;/a&gt;. By using an onion service, users can hide their location while active, connect to other Tor users, and retain their privacy throughout. But to do so, one needs to know how to set up an Onion Service.&lt;/p&gt;

&lt;p&gt;While the following instructions are specific to a Mac, with minor differences this can be applied to other devices and systems.&lt;/p&gt;

&lt;h2 id=&#34;step-1-download-and-set-up-the-tor-service&#34;&gt;Step 1 → Download and Set Up the Tor Service&lt;/h2&gt;

&lt;p&gt;While there are multiple ways to download and set up tor, the simplest is to follow the instructions at &lt;a href=&#34;https://torproject.org/download/&#34;&gt;https://torproject.org/download/&lt;/a&gt; that goes along with the operating system you are using.&lt;/p&gt;

&lt;p&gt;For further information, you can follow the Tor installation guide: &lt;a href=&#34;https://community.torproject.org/onion-services/setup/install/&#34;&gt;https://community.torproject.org/onion-services/setup/install/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you have successfully downloaded tor, to check if tor is running you can either open the browser and establish connection or use commands to check its success:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/opt/homebrew/bin/brew services start tor
/opt/homebrew/bin/brew services stop tor
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Please note, in this step you are running the tor service on your machine to host the onion server. In later steps, we will be using the Tor Browser app to view the site remotely.&lt;/p&gt;

&lt;h2 id=&#34;step-2-download-and-set-up-a-web-server-optional-during-development-but-required-for-production&#34;&gt;Step 2 → Download and Set Up a Web Server (Optional during Development, but required for Production)&lt;/h2&gt;

&lt;p&gt;In order to set up a website or some content for a client to access, we need to set up a local web server. A web server is the computer software and underlying hardware that communicates with a web browser using HTTP to distribute web pages to the client who requested it, with local web server examples including Apache and Nginx. The reason for this is that when it comes to the finished product, you can copy the fields into the apache web directory and that would be your web server&lt;/p&gt;

&lt;p&gt;However, for websites that we are building on npm, as npm has its own built in web server for development, it has its own local host web server ready. Hence, we can just point our hidden service web server at that, for testing and development. Once we arrive at production, we will use the apache or another web server to host our local service.&lt;/p&gt;

&lt;p&gt;To install these web servers on MacOS can be difficult, so specifically for this operating system, it is best to install (or update) the homebrew package, which will then allow you to run the following command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/opt/homebrew/bin/brew install apache
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you have having trouble choosing a local web server or downloading it, a useful guidance tool is: &lt;a href=&#34;https://www.javatpoint.com/how-to-install-apache-on-mac&#34;&gt;https://www.javatpoint.com/how-to-install-apache-on-mac&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The default location where web servers run is on &lt;a href=&#34;https://localhost:80&#34;&gt;https://localhost:80&lt;/a&gt;. Hence, once you have downloaded the web server software, to check if it is working, open your browser and go to &lt;a href=&#34;https://localhost:80&#34;&gt;https://localhost:80&lt;/a&gt;. If you have successfully downloaded the web server software, you will be notified of this success.&lt;/p&gt;

&lt;p&gt;For further steps, or multiple uses you may need to start or stop the web server software which can be done using the following commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo apachectl start
sudo apachectl stop
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;step-3-modify-your-tor-configuration-file&#34;&gt;Step 3 → Modify your Tor Configuration File&lt;/h2&gt;

&lt;p&gt;In order to create the onion service link, you must mody the the tor configuration file (torrc) by adding the following lines and save the changes:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;HiddenServiceDir /var/lib/tor/my_website/
HiddenServicePort 80 127.0.0.1:80
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The HiddenServiceDir line is to inform tor of where to save the onion v3 service link, hence you must modify this line to point to a file whose permissions include both readable and writable.
The HiddenServicePort line is informing Tor of the port people visiting your Onion Service will be using, which is currently set as localhost.&lt;/p&gt;

&lt;p&gt;While the torrc file is saved in different places depending on the operating system being used, for MacOS, the file can be found at this filepath:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; /Library/”Application Support”/TorBrowser-Data/Tor/ 
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;step-4-create-the-hidden-service-folder-optional&#34;&gt;Step 4 → Create the Hidden Service Folder (Optional)&lt;/h2&gt;

&lt;p&gt;While this step is not necessary, doing this reduces the chance of problems later on.&lt;/p&gt;

&lt;p&gt;Once you have modified your tor configuration file, you should create the HiddenServiceDir directory where Tor will create the hostname file, which will contain your new onion v3 service address. For MacOS, this file should be created in the tor folder which can be found with this file path:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;HiddenServiceDir /opt/homebrew/etc/tor/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The folder should be given the permissions to allow tor to read and write to it, which can be done by calling:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;filename chmod 700 
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;step-5-restart-tor-and-check-for-the-onion-service-link&#34;&gt;Step 5 → Restart Tor and Check for the Onion Service Link&lt;/h2&gt;

&lt;p&gt;Once you have restarted Tor, it should have created the file hostname with the new onion v3 service in the directory which you pointed it to with the HiddenServiceDir line in your torrc.
If it has not, potential areas to check for faults are:
- The HiddenServiceDir directory’s file permissions
- If Tor was properly restarted
- The torrc file modifications and if there are any incorrect file paths or mistakes
- The log files which you can find using &lt;a href=&#34;https://support.torproject.org/#Logs&#34;&gt;https://support.torproject.org/#Logs&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;step-6-test-your-onion-service&#34;&gt;Step 6 → Test Your Onion Service&lt;/h2&gt;

&lt;p&gt;If you have successfully acquired your onion service link, you can then run it on Tor and it should direct you to the page which has been initially configured on apache (the same page we saw at localhost:80). If not, potential problems could include:
- Your web server software is no longer running and needs to be started
- The page is found at a different port
- One important thing to remember is that once you have gotten your onion address, a new one will not be generated, this is your permanent link whose content can be manipulated.&lt;/p&gt;

&lt;h2 id=&#34;step-7-build-the-file-web-page-being-used&#34;&gt;Step 7 → Build the File/Web Page Being Used&lt;/h2&gt;

&lt;p&gt;Once your onion service link is up and running, it is now time to display on it the html files you intend to share. To do so, if the files are a Node app or a progressive web app, and not a static html page or website, it is important to build the code first by running:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;npm run build 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A potential problem could be that when you run a web service, especially a Node app or a progessive web app, it renders links for the domain it thinks it is at, not the one you intend it to be at. For a typical static website it wouldn&amp;rsquo;t matter because it is a static set of pages; however, when using a live node application, it&amp;rsquo;s helpful to know what the public address is.&lt;/p&gt;

&lt;p&gt;To fix this problem, to your code you should add the following line which points directly to your new onion service address, like the example here:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;public:’2xx7phs7hw5fduqulcrthkmfaesxbsy5om5xpkpsn4y54mnbj4b6ekd.onion’
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;step-8-run-the-file-and-test-your-onion-service&#34;&gt;Step 8 → Run the File and Test your Onion Service&lt;/h2&gt;

&lt;p&gt;1- For this step, there are two potential methods depending on the type of content you intend to display on your Onion Service. For html documents or simple websites, the simplest method to run the file is to copy it into the folder which localhost:80 (or whichever port you are using) is connected to. For MacOS, the folder can be found at:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/Library/WebServer/Documents
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To copy, the command to run is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo cp /path/from /path/to
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Once that is done, simply restart your Tor browser, head to your new onion service address and your html file can be found there.&lt;/p&gt;

&lt;p&gt;2- To run a Node app or progress website, first the file needs to be running on your local server. To do so, one tip is to specify the port you intend to run it on, especially other ports that are running other websites or html content. For that, run the following command (changing it to point to the port you are using):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;npm run service – –port 4000
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To connect to this npm web server on port 4000 instead of apache, we need to modify the onion service configuration in the torrc:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;HiddenServicePort 80 127.0.0.1:4000
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;accessing-the-onion-site&#34;&gt;Accessing the Onion site&lt;/h2&gt;

&lt;p&gt;Once the website is running on localhost at the port you have specified, restart your Tor service. Then, navigate to your new onion service address where your website is now live for all the people you have shared your secure link with. You can use any Tor-enabled browser, such as &lt;a href=&#34;https://www.torproject.org/download/&#34;&gt;Tor Browser for Desktops&lt;/a&gt;, &lt;a href=&#34;https://www.torproject.org/download/&#34;&gt;Tor Browser for Android&lt;/a&gt;, or &lt;a href=&#34;https://onionbrowser.com&#34;&gt;Onion Browser for iOS&lt;/a&gt; devices. You can also use a Tor-enabled vpn like &lt;a href=&#34;https://orbot.app&#34;&gt;Orbot for Android and iOS&lt;/a&gt;, to allow any browser, like Chrome or Brave, to access an onion address.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>DWeb versus Web3: An Intern&#39;s Journey!</title>
      <link>https://guardianproject.info/2022/08/19/dweb-versus-web3-an-interns-journey/</link>
      <pubDate>Fri, 19 Aug 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/08/19/dweb-versus-web3-an-interns-journey/</guid>
      <description>&lt;p&gt;Close your eyes and imagine. You are sitting, designing the next game-changing innovative idea; however, you are not worried about any information leakage or spread, as you are in control. You not only hold ownership of your data, but with each online activity, your fear of being tracked dissipates more. This new internet you explore on understands each input, tailoring the content to your specific needs as it no longer runs on basic commands, but rather uses the combination of technologies and concepts such as machine learning, big data, and decentralized ledger technology to process information in a smart, human-like manner. This image in your mind is no longer a distant fantasy, but rather a closely approaching reality – this reality is the decentralized web, otherwise referred to as the DWeb.&lt;/p&gt;

&lt;p&gt;The DWeb can be understood through comparison to the current internet paradigm. Currently all web traffic travels through centralized servers controlled by the well-known oligopoly that consists of Meta, Google, AWS, etc. Hence, these servers not only hold power by controlling web traffic, permissions and protocols, but also expose our information as an asset to be exploited for profit. Contrastingly, decentralization implies that users retain control of their own data; to hold permission access there can be no middle-man in the process of sending and receiving data, meaning there is peer-to-peer connectivity and links point not to the web server where the information resides, rather the content itself. For these reasons, content can be stored in multiple places at once, thus eliminating the need for a centralized server. While this may seem complicated, the benefits it reaps are unparalleled; from better security to improved privacy rights, user control over data and even greater adaptability to changes. However, the key idea is that through decentralization no monopoly can form, or so one would hope.&lt;/p&gt;

&lt;p&gt;Having understood the DWeb as any decentralized technical project, the question arises if the implementation of decentralization actually follows through with the virtues of shared ownership and governance. To answer this question, we look towards the ubiquitous example of a decentralized project, Web3 – the Ethereum Solana based application. While the two terms have been interchangeably used, it is necessary to differentiate the theory, the DWeb, and how it can be manipulated in its application, starting with Web3. The DWeb is the umbrella term for all decentralized technological projects, while Web3 is an application of the decentralized web whose services are increasingly powered by blockchains, crypto-assets, artificial intelligence, machine learning, and meta-verses. As the current web, Web2, revolves around personal data being commercialized and is largely dictated by monopoly, censorship and control, Web3 is advertised as the revolutionary shift that solves these problems.&lt;/p&gt;

&lt;p&gt;When understanding if Web3 can fulfill this shift we look to why Web2 was a cause for concern. As 90% of websites are controlled by a handful of companies, they hold power and influence over its design and experience, thus manipulating it for self-benefit. While Web3 claims to overcome this through the umbrella of decentralization as enabling end-users to own their own data, the fact of the matter is that the same venture capital investors who guided the development of Web2 are now funding Web3 and thus shaping the design and experience to cater to their needs; hence, most of the benefits associated with a decentralized web no longer stand. For instance, what has been understood as a positive side effect of Web3 is the emphasis it will create towards open source software. Particularly with regard to the ineffective traditional funding model, a cause of the misalignment of big corporation&amp;rsquo;s profit models and open source projects, Web3 is said to face this concern as startups will be able to fund themselves with cryptocurrencies. However, if the system designers’ goal is to distribute wealth into the hands of the already wealthy, then the advancement of software that is free and open to all will not be a foremost priority. Hence, while the theory pushes forth ideas of shared ownership, the application is subject to the people who are in control and what they stand to gain.&lt;/p&gt;

&lt;p&gt;While it is now clear that applications of decentralization don’t necessarily follow through with the virtues of shared ownership and governance, decentralization is not the problem. Rather, when a term is as broadly applicable as this one, greater effort needs to be given to clearly defining it, differentiating its theory and how it can be realized to reflect its core tenets or principles. For instance, when looking at Web3, a step towards ensuring the control remains in the hands of the users, not only does the system need to be decentralized, but its funding should be as well.&lt;/p&gt;

&lt;p&gt;Sources:
- &lt;a href=&#34;https://supplain.io/news/web3-solve-web2-problems&#34;&gt;https://supplain.io/news/web3-solve-web2-problems&lt;/a&gt;
- &lt;a href=&#34;https://metal.equinix.com/blog/web3-and-open-source/&#34;&gt;https://metal.equinix.com/blog/web3-and-open-source/&lt;/a&gt;
- &lt;a href=&#34;https://hypha.coop/dripline/debate-over-dweb-vs-web3/&#34;&gt;https://hypha.coop/dripline/debate-over-dweb-vs-web3/&lt;/a&gt;
- &lt;a href=&#34;https://coinmarketcap.com/alexandria/article/what-is-web-3-0&#34;&gt;https://coinmarketcap.com/alexandria/article/what-is-web-3-0&lt;/a&gt;
- &lt;a href=&#34;http://milesberry.net/2006/11/open-source-and-web-20/&#34;&gt;http://milesberry.net/2006/11/open-source-and-web-20/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF114 Conference Report: Friday July 29, 2022</title>
      <link>https://guardianproject.info/2022/07/29/ietf114-conference-report-friday-july-29-2022/</link>
      <pubDate>Fri, 29 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/29/ietf114-conference-report-friday-july-29-2022/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Five of the &lt;a href=&#34;https://www.ietf.org/how/meetings/114/&#34;&gt;114th IETF meeting&lt;/a&gt; in Philadelphia USA. For the rundown on Day Four, see my &lt;a href=&#34;https://guardianproject.info/2022/07/28/ietf114-conference-report-thursday-july-28-2022/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A quiet day today with only the &lt;a href=&#34;https://datatracker.ietf.org/wg/mls/charter/&#34;&gt;Messaging Layer Security&lt;/a&gt; Working Group holding its session. Draft 16 of the &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-mls-protocol/&#34;&gt;MLS protocol&lt;/a&gt; completed last-call in mid-July and has been submitted for review after significant technical and editorial feedback from the working group. Are we getting close (again)?  The &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-mls-architecture/&#34;&gt;MLS Architecture&lt;/a&gt; document was lightly revised and version 8 submitted for review.  Two new drafts were presented: &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-mahy-mls-content-neg/&#34;&gt;MLS Content Negotiation&lt;/a&gt; and &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-robert-mls-extensions/&#34;&gt;MLS Extensions&lt;/a&gt;. The former has yet to be adopted as a Working Group item, but the latter was adopted during IETF114 (before the MLS session, over the mailing list).&lt;/p&gt;

&lt;p&gt;Federation (between messaging systems supporting MLS) was upgraded to BoF (Birds of a Feather) status at IETF114, with the &lt;a href=&#34;https://datatracker.ietf.org/doc/bofreq-mahy-mimi-more-im-interop/&#34;&gt;formal announcement&lt;/a&gt; that the activity would, if agreed by BoF participants, be seeking Working Group status.  The implication here is that the current MLS Working Group might &lt;em&gt;fold the tent&lt;/em&gt; after completion of the architecture and protocol work (a MLSbis Working Group would conceivably follow to handle protocol extensions and updates).  The existing draft on &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-ietf-mls-federation&#34;&gt;MLS Federation&lt;/a&gt; would then be picked up by this new Working Group as a starting point.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF114 Conference Report: Thursday July 28, 2022</title>
      <link>https://guardianproject.info/2022/07/28/ietf114-conference-report-thursday-july-28-2022/</link>
      <pubDate>Thu, 28 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/28/ietf114-conference-report-thursday-july-28-2022/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Four of the &lt;a href=&#34;https://www.ietf.org/how/meetings/114/&#34;&gt;114th IETF meeting&lt;/a&gt; in Philadelphia USA. For the rundown on Day Three, see my &lt;a href=&#34;https://guardianproject.info/2022/07/27/ietf114-conference-report-wednesday-july-27-2022/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At IETF112 (online) a formal Birds of a Feather (BoF) session was held on the concept of &lt;a href=&#34;https://datatracker.ietf.org/meeting/112/materials/slides-112-priv-chair-slides-agenda-01&#34;&gt;Privacy Preserving Measurement&lt;/a&gt;.  A Working Group was &lt;a href=&#34;https://datatracker.ietf.org/wg/ppm/about/&#34;&gt;chartered&lt;/a&gt; and, at IETF113 in Vienna, we were treated to an incredibly detailed presentation on &lt;a href=&#34;https://eprint.iacr.org/2021/576.pdf&#34;&gt;Prio&lt;/a&gt;, an academic concept for supporting privacy in the context of Internet-scale measurement. Quickly following that presentation was an IETF proposal for a &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/&#34;&gt;defined protocol&lt;/a&gt; for &lt;em&gt;distributed aggregation&lt;/em&gt; of measurement data, based on Prio&amp;rsquo;s core concepts and using a range of cryptographic and system architecture techniques to separate measurements from the identities of the human users being measured.&lt;/p&gt;

&lt;p&gt;Here at IETF114, an alternative proposal was brought forward by &lt;a href=&#34;https://brave.com/about/&#34;&gt;Brave Software&lt;/a&gt; called &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-dss-star&#34;&gt;STAR&lt;/a&gt;.  STAR uses techniques (specifically, distributed &lt;a href=&#34;https://www.geeksforgeeks.org/shamirs-secret-sharing-algorithm-cryptography/&#34;&gt;Shamir Secret Sharing&lt;/a&gt;) which make the system simpler to build and presents a smaller attack surface for adversaries.  Brave reported that STAR is in production use for some telemetry in the current &lt;a href=&#34;https://brave.com/download/&#34;&gt;Brave browser&lt;/a&gt;.  Several enhancements are planned, among them use of Oblivious HTTP Application Intermediation (&lt;a href=&#34;https://www.ietf.org/id/draft-ietf-ohai-ohttp-02.html&#34;&gt;OHAI&lt;/a&gt;) to reduce exposure of Brave users&amp;rsquo; IP addresses when they share telemetry data.&lt;/p&gt;

&lt;p&gt;In what is certainly a milestone in the IETF&amp;rsquo;s efforts to have positive impact on user privacy, Apple presented its experience with deploying its &lt;em&gt;private label&lt;/em&gt; version of the &lt;a href=&#34;https://datatracker.ietf.org/wg/privacypass/about/&#34;&gt;Privacy Pass protocol&lt;/a&gt; called Private Access Tokens - defined &lt;a href=&#34;https://www.ietf.org/archive/id/draft-private-access-tokens-01.html&#34;&gt;here&lt;/a&gt; and announced &lt;a href=&#34;https://developer.apple.com/news/?id=huqjyh7k&#34;&gt;here&lt;/a&gt;. Private Access Tokens is a service fully compliant with Type 2 (Publicly Verifiable Basic Tokens) of the Privacy Pas specification, using the Split Origin/Attester/Issuer model and supporting origin-bound or cross-origin tokens.  Apple has also made developer tools available so applications (and not just browsers) can make use of the technology. Importantly, two open source implementations of the Type 2 spec are also available, and several CDN vendors are cooperating in providing test points. See more &lt;a href=&#34;https://datatracker.ietf.org/meeting/114/materials/slides-114-privacypass-deployment-experience-00&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Significant progress has been made on the protocol&amp;rsquo;s &lt;a href=&#34;https://datatracker.ietf.org/meeting/114/materials/slides-114-privacypass-base-drafts-update-00&#34;&gt;three base drafts&lt;/a&gt;. The success of these drafts might, however, be overtaken by the need to support an important use case - rate limiting.  Rate limiting can be used to subjugate DDoS type attacks and it can also be used to enforce &lt;em&gt;paywall&lt;/em&gt; type subscription services.  The challenge? Rate limiting necessarily weakens the privacy guarantees that form the basis for Privacy Pass. The Working Group &lt;a href=&#34;https://datatracker.ietf.org/meeting/114/materials/slides-114-privacypass-rate-limited-tokens-slides-v2-00&#34;&gt;is debating&lt;/a&gt; what sort of damage limitation needs to be applied to this degradation in order to keep the value of the idea strong enough to justify the expense of maintaining it while also encouraging trust in the service by users.&lt;/p&gt;

&lt;p&gt;With the HTTP protocol &lt;a href=&#34;https://httpwg.org/specs/&#34;&gt;long defined&lt;/a&gt;, the &lt;a href=&#34;https://datatracker.ietf.org/wg/httpbis/charter/&#34;&gt;HTTPbis Working Group&lt;/a&gt; is chartered to maintain and develop the core specifications as well as extensions to the protocol agreed to be generally useful.  To that end, the Working Group heard four new proposals for extension. Important for privacy are &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-pauly-httpbis-geoip-hint/&#34;&gt;GeoIP&lt;/a&gt; and &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-schinazi-httpbis-transport-auth/&#34;&gt;HTTP Transport Authentication&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;GeoIP attempts to address the problem of sharing personal location data, but in a manner that doesn&amp;rsquo;t induce harm or threaten privacy.  The author&amp;rsquo;s idea is to support a location &lt;em&gt;hint&lt;/em&gt;, as an option, on HTTP transactions. They were quickly reminded that IETF has tried to address location privacy for over a decade with nothing to show for it. In the end, however, most participants agreed it was important for IETF to address this area, even if the specific proposal was (tragically?) flawed.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-schinazi-httpbis-transport-auth/&#34;&gt;HTTP Transport Authentication&lt;/a&gt; has been revived after a long period of dormancy caused by the work on proxying over HTTP/3 (now almost complete).  Impacted by that proxying work as well as many of the new concepts being developed around &lt;em&gt;oblivious&lt;/em&gt; services (those that don&amp;rsquo;t leak the user&amp;rsquo;s IP address), this proposal has moved away from it&amp;rsquo;s focus on CONNECT tunnel authentication to a proxy server in favor of a general authentication scheme to suit situations in which servers do not want to expose the fact they are hosting authenticated services (&lt;em&gt;silent&lt;/em&gt; or non-probe-able authentication). The Working Group found the concept useful but asked for a number of editorial changes before they would vote to accept it as a work item.  A technical flaw will need to be addressed as well.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF114 Conference Report: Wednesday July 27, 2022</title>
      <link>https://guardianproject.info/2022/07/27/ietf114-conference-report-wednesday-july-27-2022/</link>
      <pubDate>Wed, 27 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/27/ietf114-conference-report-wednesday-july-27-2022/</guid>
      <description>&lt;p&gt;*Day Three of the &lt;a href=&#34;https://www.ietf.org/how/meetings/114/&#34;&gt;114th IETF meeting&lt;/a&gt; in Philadelphia USA. For the rundown on Day Two, see my &lt;a href=&#34;https://guardianproject.info/2022/07/26/ietf114-conference-report-tuesday-july-26-2022/&#34;&gt;daily report&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Interest is starting to consolidate on the need for additional definition for serving media over the QUIC transport layer, particularly for streaming and conferencing applications.  Following an informal gathering at IETF113 in March 2022, a formal Birds of Feather session met today with a draft &lt;a href=&#34;https://datatracker.ietf.org/meeting/114/materials/slides-114-moq-moq-charter-proposal-00&#34;&gt;charter proposal&lt;/a&gt; and two draft documents describing the intended &lt;a href=&#34;https://www.ietf.org/id/draft-gruessing-moq-requirements-02.html&#34;&gt;use cases&lt;/a&gt; and a &lt;a href=&#34;https://www.ietf.org/id/draft-jennings-moq-quicr-proto-01.html&#34;&gt;protocol&lt;/a&gt;. &lt;a href=&#34;https://datatracker.ietf.org/meeting/114/materials/slides-114-moq-if-time-permits-quicr-01&#34;&gt;Here&amp;rsquo;s&lt;/a&gt; a more visual overview.  There was broad concensus (at this well-attended session) as to the need for this work, but a split between one camp that sought a much narrower set of use cases (not wanting to &lt;em&gt;boil the Internet&lt;/em&gt; as it were) and another who wanted to &lt;em&gt;solve this problem once&lt;/em&gt;. This will be addressed as the BoF leaders work towards a vote on chartering the effort.  Either way, this is substantial work ahead.  I mention this here not so much in the realm of privacy as to look towards a future where QUIC&amp;rsquo;s efficiency and scalability benefits might make media-rich services available to those of lesser economic means or with mediocre connectivity.&lt;/p&gt;

&lt;p&gt;Directly related to our interests in privacy and a free and open Internet, the MASQUE Working Group presented the status of what will be the last of its core specifications, &lt;a href=&#34;https://www.ietf.org/archive/id/draft-kuehlewind-masque-connect-ip-01.html&#34;&gt;CONNECT-IP&lt;/a&gt;.  With implementations ready for interoperability testing, the protocol definition is being scrubbed for &lt;a href=&#34;https://github.com/ietf-wg-masque/draft-ietf-masque-connect-ip/issues&#34;&gt;burning issues&lt;/a&gt;. Of these, some headway was made at the meeting, though all are still officially under discussion.&lt;/p&gt;

&lt;p&gt;Recall the challenges with actual interoperability testing with CONNECT-IP at the Hackathon last weekend (see &lt;a href=&#34;https://guardianproject.info/2022/07/24/ietf114-hackathon-report-sunday-july-24-2022/&#34;&gt;report&lt;/a&gt;)?  With spec definition work almost complete, the Working Group&amp;rsquo;s mission will also be complete and, officially, put the group in a position to disband.  But those interoperability challenges provide the next raison d&amp;rsquo;être for continuation and, with five proposals already before the group, concensus was that the group leaders should move forward with re-chartering with a new mission which - at least by concensus of those present - will focus on assuring MASQUE is deployable in real-world scenarios. With CONNECT-IP lowest in the protocol stack individual vendors and implementors face vastly different integration scenarios and, in many cases, with quite different teams who have (historically) faced divergent requirements. That said, the demand for proxying IP over QUIC is already huge, with both major mobile device vendors lining up extensive services for their platforms using the MASQUE model.  IETF&amp;rsquo;s implementation-checks-definition model is well-suited to this sort of aggressive development, thankfully.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF114 Conference Report: Tuesday July 26, 2022</title>
      <link>https://guardianproject.info/2022/07/26/ietf114-conference-report-tuesday-july-26-2022/</link>
      <pubDate>Tue, 26 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/26/ietf114-conference-report-tuesday-july-26-2022/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day Two of the &lt;a href=&#34;https://www.ietf.org/how/meetings/114/&#34;&gt;114th IETF meeting&lt;/a&gt; in Philadelphia USA. For the rundown on Day One, see my &lt;a href=&#34;https://guardianproject.info/2022/07/25/ietf114-conference-report-monday-july-25-2022/&#34;&gt;daily report&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Lucas Pardue, of Cloudflare and co-chair of the QUIC Working Group, gave a not-so-tongue-in-cheek &lt;a href=&#34;https://datatracker.ietf.org/meeting/114/materials/slides-114-anrw-sessa-keynote-00&#34;&gt;talk&lt;/a&gt; about the breakdown of the OSI layering model of the Internet. His focus was on the &lt;em&gt;top&lt;/em&gt; of the stack, illustrating handsomely what QUIC and HTTP/3 have done (unknowingly to most) to our perception of layers.  A key challenge: tools for HTTP/1 are widely available and the protocol and its impacts are widely understood.  HTTP/2 and HTTP/3? Not so much (both are binary, not text-based, protocols).  Yet, here in mid-2022, the world of the Internet is predominantly (91%!) HTTP/2 and HTTP/3 traffic.  Similarly, TLS/1.3 and QUIC represent 87% of traffic. And many of the now-being-standardized protocols for privacy insert several layers of proxy into every transaction. From a &lt;em&gt;sound knowledge&lt;/em&gt; perspective, we seem to have taken a rather quick, and rather deep, step backwards.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://datatracker.ietf.org/wg/ohai/about/&#34;&gt;OHAI Working Group&lt;/a&gt; has brought the core draft of &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-ohai-ohttp/&#34;&gt;Oblivious HTTP Application Intermediation&lt;/a&gt; nearly to Working Group Last Call (technical finalization). With multiple interoperable implementations said to exist, this bodes well for rapid completion and standardization. The twistingly-worded name engenders confusion (or distain) but the goal is laudable: make the requester&amp;rsquo;s IP address private in any &lt;em&gt;transactional&lt;/em&gt; HTTP-based protocol. Transactional protocols include DNS and Online Certification Status Protocol. But the dominant imagined use case is &lt;em&gt;telemetry&lt;/em&gt; - monitoring vendor-, application- or operating system-define usage parameters on centralized systems. A few holes remain, however, for services that do not want (or need) to be tightly-coupled (systems that are not, for example, an operating system&amp;rsquo;s fault reporting service).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF114 Conference Report: Monday July 25, 2022</title>
      <link>https://guardianproject.info/2022/07/25/ietf114-conference-report-monday-july-25-2022/</link>
      <pubDate>Mon, 25 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/25/ietf114-conference-report-monday-july-25-2022/</guid>
      <description>&lt;p&gt;&lt;em&gt;Day One of the &lt;a href=&#34;https://www.ietf.org/how/meetings/114/&#34;&gt;114th IETF meeting&lt;/a&gt; in Philadelphia USA.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With privacy a key consideration in new protocol design, cryptography has become a major focus of IETF activities.  The Internet Research Task Force (IRTF) has the &lt;a href=&#34;https://irtf.org/cfrg&#34;&gt;Crypto Forum Research Group&lt;/a&gt; where new cryptography schemes are brought forward and vetted for use in IETF protocols.  Well, &lt;em&gt;new&lt;/em&gt; is a misnomer. Much of the mathematics has long been defined, at least at its core, and the work is rather being brought into the IETF context where important engineering considerations apply: use of memory (at rest or in flight), processing required, round-trips required, etc.. Of significance at this meeting, mechanisms for &lt;em&gt;blinding&lt;/em&gt; a digitial signature are in high demand given the prevalence of multi-tiered approaches to privacy (that is, approaches that insert one or more proxies between entities in a transaction).  Something similar is in the works for cryptographic keys. A number of IETF protocol specifications, still in development, are in line to receive these mathematical gems including &lt;a href=&#34;https://datatracker.ietf.org/group/privacypass/about/&#34;&gt;Privacy Pass&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-private-access-tokens/&#34;&gt;Private Access Tokens&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/wg/ohai/charter/&#34;&gt;Oblivious HTTP Application Intermediation&lt;/a&gt; and others.  An excellent summary of the National Institute for Standards and Technology (NIST) &lt;a href=&#34;https://csrc.nist.gov/publications/detail/nistir/8413/final&#34;&gt;Post-Quantum Cryptography &lt;em&gt;contest&lt;/em&gt;&lt;/a&gt; was also provided. The topic itself, let alone the solutions chosen, is not for the weak-kneed.&lt;/p&gt;

&lt;p&gt;Among IETF&amp;rsquo;s most difficult challenges - for those of us interested in privacy - is the massive amount of surveillance that Internet users endure in everyday life.  One problem is simply defining what &lt;em&gt;surveillance&lt;/em&gt; means, in the commercial rather than law enforcement sense. Toward that end, the &lt;a href=&#34;https://datatracker.ietf.org/rg/pearg/about/&#34;&gt;Privacy Enhancements and Assessments Research Group&lt;/a&gt; hosted an excellent &lt;em&gt;first principles&lt;/em&gt; presentation teasing out ideas around &lt;em&gt;decoupling&lt;/em&gt; who we are versus what we do, and specifically architectures and design principles to increase decoupling for the purpose of preserving privacy. IETF has a new Working Group looking at &lt;a href=&#34;https://datatracker.ietf.org/wg/ppm/about/&#34;&gt;Privacy Preserving Measurement&lt;/a&gt; where some of the decoupling ideas are key.  While one approach to privacy preserving measurement has been presented to IETF in the past, PEARG hosted a well-considered survey presentation that looked at a number of techniques in this field at different stages of development. Not considered here: the &lt;a href=&#34;https://cleaninsights.org&#34;&gt;Clean Insights&lt;/a&gt; project, with which Guardian Project is associated and which was perhaps the first to take a user-consent approach, and the &lt;a href=&#34;https://opendp.org&#34;&gt;Open Differential Privacy Project&lt;/a&gt; which seeks to make its tools explicitly transparent for public scrutiny.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF114 Hackathon Report: Sunday July 24, 2022</title>
      <link>https://guardianproject.info/2022/07/24/ietf114-hackathon-report-sunday-july-24-2022/</link>
      <pubDate>Sun, 24 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/24/ietf114-hackathon-report-sunday-july-24-2022/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post begins a daily blog, live from the 114th meeting of the &lt;a href=&#34;https://www.ietf.org/how/meetings/114/&#34;&gt;Internet Engineering Task Force&lt;/a&gt; in Philadelpha Pennsylvania USA, July 23-29, 2022 (in-person meetings having restarted in March 2022 after the COVID pandemic abated). We&amp;rsquo;re focusing on standards activities of importance to the Internet Freedom community.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://www.ietf.org/how/runningcode/hackathons/114-hackathon/&#34;&gt;Hackathon&lt;/a&gt; event kicks off each IETF event, with projects that run the gamut from early implementations of just-emerging specifications to full multi-vendor interoperability testing of nearly-mature protocols. At this event, I sat in on the &lt;a href=&#34;https://datatracker.ietf.org/wg/masque/about/&#34;&gt;MASQUE&lt;/a&gt; team&amp;rsquo;s effort to commence work on the new &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-masque-connect-ip/&#34;&gt;CONNECT-IP&lt;/a&gt; specification. With the recent completion of two key specifications -  &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-masque-connect-udp/&#34;&gt;CONNECT-UDP&lt;/a&gt; and &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-masque-h3-datagram/&#34;&gt;H3 Datagrams&lt;/a&gt; - MASQUE has become IETF&amp;rsquo;s solution for proxying all types of network traffic over QUIC and HTTP/3, including VPN and other privacy-focused scenarios. CONNECT-IP will complete the trio.  But this initial effort didn&amp;rsquo;t go well.  Google and Ericcson (co-authors on the spec) had brought teams who, indeed, implemented the key protocol elements of CONNECT-IP live and in-the-moment but were both stymied setting up testbeds that could deliver raw IP packets for routing by this new code. Wait, you might say, aren&amp;rsquo;t these network engineers?  True, but it was mostly the practicalities that got in the way - only laptops as test machines, working from the open source &lt;a href=&#34;https://github.com/google/quiche&#34;&gt;QUICHE&lt;/a&gt; repository on a machine that also hosts an environment for building production code, even deciding what sort of packets could be used for testing and where to route them. These are the frustrations of a first-ever effort.&lt;/p&gt;

&lt;p&gt;Other teams had much better luck even if they are not specifically focused on privacy.  Fourteen vendors worked together on the first interoperabiltiy test of &lt;em&gt;Low Loss Low Latency Scalable Throughput&lt;/em&gt;, &lt;a href=&#34;https://www.ietf.org/archive/id/draft-ietf-tsvwg-l4s-arch-12.html&#34;&gt;L4S&lt;/a&gt;, an ambitious effort that was ultimately successful (that is, both at functioning at all and producing excellent results). Another team working on the Drone Remote ID Protocol &lt;a href=&#34;https://datatracker.ietf.org/wg/drip/about/&#34;&gt;DRIP&lt;/a&gt; were also successful - despite the lack of hackable drones or access to the key server software this protocol will eventually have to interoperate with &amp;ndash; and produced the first working demonstration of DRIP&amp;rsquo;s session registration protocol (which, it happens, involves almost all aspects of the proposed standard).  These two projects will surely be the hits of the upcoming Hackdemo Happy Hour!&lt;/p&gt;

&lt;p&gt;With the Hackathon complete, IETF turns to the serious business of creating new specifications.  This week&amp;rsquo;s meeting will see working sessions on &lt;a href=&#34;https://datatracker.ietf.org/group/ohai/about/&#34;&gt;Oblivious HTTP Application Intermediation&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/wg/privacypass/about/&#34;&gt;Privacy Pass&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/wg/mls/charter/&#34;&gt;Messaging Layer Security&lt;/a&gt; and &lt;a href=&#34;https://datatracker.ietf.org/wg/ppm/about/&#34;&gt;Privacy Preserving Measurement&lt;/a&gt; in addition to emerging ideas from the Internet Research Task Force&amp;rsquo;s &lt;a href=&#34;https://datatracker.ietf.org/doc/charter-irtf-pearg/&#34;&gt;Privacy Enhancements and Assessments Research Group&lt;/a&gt;.  And MASQUE, where we&amp;rsquo;ll have some explaining to do about our Hackathon gaff.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>RightsCon Report: Surveillance and Facial Recognition: Protection or Instruments of Control?</title>
      <link>https://guardianproject.info/2022/07/20/rightscon-report-surveillance-and-facial-recognition-protection-or-instruments-of-control/</link>
      <pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/07/20/rightscon-report-surveillance-and-facial-recognition-protection-or-instruments-of-control/</guid>
      <description>&lt;p&gt;Safety is one of the foremost questions we seek to answer as we roam about in our everyday lives, taking precautions to reduce the likelihood of all threats. It is the very reasoning behind the use of surveillance technology from civilians to the state government, as it hinders crime through fear of persecution and retribution. However, variables such as the time taken for assistance can limit this objective. In these instances, surveillance is not a means of protection, but rather justice, as facial recognition technology can discern the perpetrator to bring to justice. However, the concern arises: do those with the access to this means of seeking justice utilize it for other purposes?&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;rightscon_report_blog.png&#34; alt=&#34;cameras and surveillance image&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.rightscon.org/&#34;&gt;RightsCon 2022&lt;/a&gt; offered not just the answer, but further explanation through &lt;a href=&#34;https://www.stopspying.org/events/2022/6/6/rightscon-surveillance-and-the-city-mapping-cameras-with-facial-recognition-capabilities-in-new-york-city&#34;&gt;‘Surveillance and the city: mapping cameras with facial recognition capabilities in New York City’&lt;/a&gt;. NYC was the exemplary location due to its tradition of being a sanctuary to large immigrant communities. So when the NYPD refused to respond favorably to questions regarding how, in which cases, and for what purposes facial recognition is used, Surveillance Technology Oversight Project’s (S.T.O.P.) 2021 Surveillance Census and Amnesty International’s Decode NYC Surveillance initiative answered in its stead. Amnesty and S.T.O.P confirmed that the “map of NYC surveillance cameras strikingly reflects structural racism, segregation, and the oversurveillance and discriminatory policing of BIPOC communities”. Hence, not only is it clear that these technologies are used for means other than justice, it is evident that they are instruments to control minorities and marginalized groups.&lt;/p&gt;

&lt;p&gt;While at first glance this act limits civic space for protest as being able to identify protestors and prosecute as they deem fit, the control seeps deeper. Authorities purposefully display racial biases by invading these populations’ private sanctuary to propagate them as predators who must be watched to keep them at bay, propagating structural inequality to future generations. So even though surveillance offers protection, it can also be used to invade your privacy to be used against you. Compounding this fact with the inaccuracy of facial recognition software, for reasons such as the inability of facial recognition software - testing primarily on white men - to discern between individuals of minority groups, the threat of surveillance’s invasion becomes abundantly clear.&lt;/p&gt;

&lt;p&gt;The United Nations Declaration of Human Rights (UDHR) 1948, Article 12 states that “No one shall be subjected to arbitrary interference with his privacy”. Guardian Project’s intent is to secure the implementation of this declaration by opposing breaches in privacy with services such as &lt;a href=&#34;https://guardianproject.info/apps/obscuracam/&#34;&gt;ObscuraCam&lt;/a&gt; - a secure smart camera that protects privacy by removing all identifying data stored in photos, including the option to pixelate, redact or cover faces to skirt facial recognition. By allowing users to share photos and videos without the fear of data such as their location being shared along with it for misuse, users have the option to secure privacy through novel methods. However, this does not curb the surveillance data and facial recognition from cameras of external parties, only the users’ own photos and videos. And thus, surveillance in itself remains susceptible to exploitation that furthers agendas opposing the public’s welfare. In spite of that, eradication is not the solution as its ability to protect and provide justice remains strong. This renders the question of how surveillance’s purposes can be restricted to those which follow collective society - a question Guardian Project began to answer with &lt;a href=&#34;https://proofmode.org&#34;&gt;ProofMode&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Recognizing the need to collate and retain data for protection purposes, &lt;a href=&#34;https://proofmode.org&#34;&gt;ProofMode&lt;/a&gt; was created to safely store media; ensuring no original files would be tampered with, using cryptography to verify the media and the identities it contains, and offering PGP encryption to protect the content and its metadata. Nonetheless, the aspect of ProofMode that demonstrates how surveillance’s purposes can be restricted to those of protection and justice is the idea it was founded on - capturing data for protection, but encrypting the identities so that the information cannot be used against you, only retrieved and made useful with consent. ProofMode began the conversation into the difference between facial detection and recognition, enforcing the idea that detecting means simply acknowledging a face, and recognition is identifying the person. By opening this discussion, we now can understand that to hinder surveillance from becoming an instrument of control, the identities captured should be protected and encrypted so that only when there is a threat should recognition software be used to solely identify the perpetrator and  ensure the innocent retain their anonymity.&lt;/p&gt;

&lt;p&gt;To further walk this path of opposing the gross misuse of surveillance and facial recognition technology, the next steps should be educating the public on these instruments of control, making them aware of the systems in palace that assist in retaining anonymity, and inviting them to the aforementioned discussion. In conjunction, a goal for Guardian Project should be integrating the publicly available maps of surveillance for ease of access and use into ObscuraCam. These maps offer two distinct functions for users with one common goal that aligns with ObscuraCam’s mission - self-protection; foremost, it protects users from external threats by offering a watchful eye, the original intended goal; secondly, it assists users against the watchful eye by skirting surveillance that can be used against them in acts of defiance such as protests. The third functionality is one that benefits not just individual users, but society at large - advancing knowledge of structural inequality. Increasing awareness of the areas of clustered surveillance escalates knowledge of the presence and level of the structural inequality to amass support against such. With greater awareness, the suveillant’s power diminishes as people have the ability to take back their privacy, rendering the project obsolete until the objective is re-routed inline with the mass. To do so, transparency and awareness through discussion are what we must strive to achieve, ensuring surveillance and facial recognition be used only for protection and not as an instrument of control.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF113 Conference Report: Friday March 25, 2022</title>
      <link>https://guardianproject.info/2022/03/28/ietf113-conference-report-friday-march-25-2022/</link>
      <pubDate>Mon, 28 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/03/28/ietf113-conference-report-friday-march-25-2022/</guid>
      <description>&lt;p&gt;Final day of the 113th IETF meeting, in Vienna Austria.&lt;/p&gt;

&lt;p&gt;The IETF is looking to make a clear contribution to the problem of hyper-aggressive measurement of user activities on the Internet and the many misuses thereof.  To do so, the IETF recognizes that some measurement is important but that many desirable measurements require data most people consider sensitive.  It also recognizes that aggregated measurements often provide the most value, rather than individual ones.  Yet, today, parties interested in measurement need to collect and store individual records in order to aggregate them, exposing themselves to potential violations of their privacy agreements with users (or governments) and to theft of that data by outsiders.  Instead, IETF is looking at ways this aggregation can be managed in ways that protect user privacy while still providing much of the statistical power needed.  The &lt;a href=&#34;https://datatracker.ietf.org/group/ppm/about/&#34;&gt;Privacy Preserving Measurement Working Group&lt;/a&gt; has formed.&lt;/p&gt;

&lt;p&gt;The IETF&amp;rsquo;s effort centers around new cryptographic techniques that allow an intermediary aggregation service to aggregate measurements in a variety of ways &lt;em&gt;without&lt;/em&gt; learning the individual values themselves, then passing that aggregated information along to &lt;em&gt;collectors&lt;/em&gt; (organizations that use the measurements).  The protocol design will include mechanisms for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Safe submission of individual measurements by the client (potentially including proof of validity)&lt;/li&gt;
&lt;li&gt;Verification of such validity proofs at the &lt;em&gt;aggregator&lt;/em&gt; when provided by the client&lt;/li&gt;
&lt;li&gt;Computation of aggregates at the &lt;em&gt;aggregator&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Reporting of results to the &lt;em&gt;collector&lt;/em&gt; without leaking the individual measurements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Working Group is chartered to deliver one or more protocols that can accommodate multiple privacy-preserving algorithms as necessary.  Two such algorithms are already under consideration - one based on &lt;a href=&#34;https://educatedguesswork.org/posts/ppm-prio/&#34;&gt;Prio&lt;/a&gt; (&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-gpew-priv-ppm/&#34;&gt;Draft&lt;/a&gt;), the other based on &lt;a href=&#34;https://www.ietf.org/staging/draft-dss-star-00.html&#34;&gt;STAR&lt;/a&gt;. The protocol(s) will be designed to limit abuse by both clients and servers (aggregation servers, collector servers), including exposure of individual user measurements and denial of service attacks.&lt;/p&gt;

&lt;p&gt;While this work has the character of &lt;em&gt;seeming&lt;/em&gt; appropriate and necessary, there are many aspects to consider - just in the protocol design, let alone the social and policy implications - that caused attendees to say, to the effect, &amp;ldquo;&lt;em&gt;I&amp;rsquo;m leaving here more confused than when I entered&lt;/em&gt;&amp;rdquo;.  The unique trust model implied, the increased centralization implied, the completeness of the approach (that is, how much measurement it subsumes), the alignment with laws and agreements already in place, the pragmatics around what organizations can run such a service - these are questions yet unaddressed.  But at least now IETF has a solid stake in the ground from which to move forward.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF113 Conference Report: Thursday March 24, 2022</title>
      <link>https://guardianproject.info/2022/03/27/ietf113-conference-report-thursday-march-24-2022/</link>
      <pubDate>Sun, 27 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/03/27/ietf113-conference-report-thursday-march-24-2022/</guid>
      <description>&lt;p&gt;Day four of the 113th IETF meeting, in Vienna Austria.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/group/privacypass/about/&#34;&gt;Privacy Pass&lt;/a&gt; - originating at Cloudflare in 2017 as a solution to user frustration with CAPTCHA - has been in full swing as an IETF activity since mid-2020.  Privacy Pass allows a client to solve some form of validity check (a CAPTCHA, a puzzle, a user-pass authentication) to then receive some number of tokens to be used at websites accepting Privacy Pass, thus eliminating the need to do a CAPTCHA at each site.  Sites hosted on large CDNs like Cloudflare benefit (Cloudflare provides the service for them) and users get a more convenient experience.  Users accessing the Internet through Tor are even more positively affected since they are most prone to CAPTCHA.  Privacy Pass is now in Version 3 and working to support a multi-issuer environment to provide another uplift to the user experience (tokens can be validated across issuers).  Just prior to this IETF meeting, a standardized mechanism for exchanging Privacy Pass tokens was adopted by the Working Group - &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-privacypass-auth-scheme/&#34;&gt;The Privacy Pass HTTP Authentication Scheme&lt;/a&gt;. Both request and response mechanisms are provided so that use of (or demand for) the token can be either server- or client-initiated. Going forward, it will be interesting to see if Privacy Pass benefits mostly the web browsing environment or finds its way into applications using HTTP as a substrate for richer styles of interaction.&lt;/p&gt;

&lt;p&gt;It&amp;rsquo;s important to point out that Privacy Pass, in practice, requires relatively-centralized infrastructure (issuers, who grant and redeem tokens).  In fact, the mathematics behind the multi-issuer capability in Version 3 requires that the number of issuers is limited to avoid users being de-anonymized too easily.  A more complete discussion of centralization and Privacy Pass is available &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-mcfadden-pp-centralization-problem-01&#34;&gt;here&lt;/a&gt;.  IETF members have, for some years now, expressed concern about increasing centralization - not only of Internet hardware (which the work of IETF can not in practice impact) but also of the  protocol designs themselves. The Internet Architecture Board has, during its recent Open Meetings, taken on the weight of this discussion, providing a forum for both studies of, and individual views on, the topic.  A formal statement from the group, though, has been harder to achieve.  As an alternative, individual voices have been encouraged, the most recent being former IAB member &lt;a href=&#34;https://datatracker.ietf.org/person/Mark%20Nottingham&#34;&gt;Mark Nottingham&lt;/a&gt; who has produced &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-nottingham-avoiding-internet-centralization/&#34;&gt;&lt;em&gt;Centralization and Internet Standards&lt;/em&gt;&lt;/a&gt; that tries to define the problem in ways that can eventually be addressed within the IETF.&lt;/p&gt;

&lt;p&gt;Though it seems like very early days here, I&amp;rsquo;m encouraged both that discussions are vocal and pubic, and that more &lt;em&gt;human-centric&lt;/em&gt; voices are now present at IETF who have been working &lt;em&gt;within the system&lt;/em&gt; to provide tools and guidelines that can inform protocol design in ways that maybe, just maybe, will pull us back from the edge.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF113 Conference Report: Wednesday March 23, 2022</title>
      <link>https://guardianproject.info/2022/03/26/ietf113-conference-report-wednesday-march-23-2022/</link>
      <pubDate>Sat, 26 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/03/26/ietf113-conference-report-wednesday-march-23-2022/</guid>
      <description>&lt;p&gt;Day three of the 113th IETF meeting, in Vienna Austria.&lt;/p&gt;

&lt;p&gt;Messaging Layer Security (&lt;a href=&#34;https://datatracker.ietf.org/wg/mls/about/&#34;&gt;MLS&lt;/a&gt;) is (finally) closing in on &lt;a href=&#34;https://www.ietf.org/about/glossary/?query=wglc&#34;&gt;Last Call&lt;/a&gt; at protocol Draft 14 and architecture Draft 7 (which will be taken forward together). Sometimes referred to as the &lt;em&gt;TLS for messaging systems&lt;/em&gt;, Messaging Layer Security creates a uniform secure group discussion protocol, scalable to very large groups and providing similarly uniform security guarantees across providers. The near completion of the architecture and protocol drafts, and commencement of interoperability testing has prompted the Working Group to dust off the &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-ietf-mls-federation&#34;&gt;Federation draft&lt;/a&gt; as the next object of their affection.  Will I be able to connect my &lt;a href=&#34;https://wire.com/en/&#34;&gt;Wire&lt;/a&gt; client to the &lt;a href=&#34;https://www.messenger.com/&#34;&gt;Facebook Messenger&lt;/a&gt; server? Don&amp;rsquo;t hold your breath, but in the meantime you&amp;rsquo;ll be able to enjoy the manifest benefits of secure group chat (with security guarantees as high as the industry knows how to produce) on your own network.&lt;/p&gt;

&lt;p&gt;Oblivious HTTP Application Intermediation (&lt;a href=&#34;https://datatracker.ietf.org/wg/ohai/charter/&#34;&gt;OHAI&lt;/a&gt;) is another in the suite of new designs aimed at reducing misuse of the client&amp;rsquo;s IP address.  OHAI is complementary to &lt;a href=&#34;https://datatracker.ietf.org/wg/masque/about/&#34;&gt;MASQUE&lt;/a&gt; - the former focused on &lt;em&gt;transactional&lt;/em&gt; service protocols like DNS and &lt;a href=&#34;https://datatracker.ietf.org/doc/rfc8954/&#34;&gt;OCSP&lt;/a&gt; queries, the latter on fully bi-directional interactive exchanges.  Like MASQUE, proxies are involved (between requester and request destination) and in both cases the client (user) has to trust the proxy.  However, in the case of bad-actor clients, it is imagined that the proxy will want to communicate on a side channel with its counterpart to stop things like reply attacks or other mischief via &lt;em&gt;shadow banning&lt;/em&gt;.  This, however, raises the spectre of collusion among the intermediaries - something OHAI was initially defined to avoid.  There seems to be significant effort remaining on this proposal.&lt;/p&gt;

&lt;p&gt;As mentioned in the prior post, the Human Rights Protocol Considerations(&lt;a href=&#34;https://sandbox-ng.ietf.org/group/hrpc/documents/&#34;&gt;HRPC&lt;/a&gt;) Research Group considered a new Individual Contribution on &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-giuliano-blocking-considerations/&#34;&gt;Regional Internet Blocking Considerations&lt;/a&gt;. While the current geopolitical environment was the impetus for this work, the content isn&amp;rsquo;t specific to a particular event. Rather, it catalogs - for policy makers - the technical mechanisms available to &lt;em&gt;withdraw&lt;/em&gt; geographic areas from connection to the global network, effectively &lt;em&gt;de-mystifying&lt;/em&gt; the concept.  Also via HRPC, the IETF got its first look at the idea of &lt;em&gt;content provenance&lt;/em&gt; in the work of the &lt;a href=&#34;https://c2pa.org&#34;&gt;Coalition for Content Provenance and Authenticity&lt;/a&gt; and their efforts to create &lt;a href=&#34;https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html&#34;&gt;specifications&lt;/a&gt; around this idea.  Guardian Project&amp;rsquo;s pioneering &lt;a href=&#34;https://proofmode.org/about&#34;&gt;ProofMode&lt;/a&gt; work got a shout out!  Of special importance here, and perhaps more significance to IETF than the &lt;em&gt;data at rest&lt;/em&gt; work of the specification itself, are its generally-applicable definitions in the area of &lt;em&gt;Harms Modelling&lt;/em&gt;, readapted from work by &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/architecture/guide/responsible-innovation/harms-modeling/&#34;&gt;Microsoft&lt;/a&gt;. This concept is core to HRPC&amp;rsquo;s research mission as defined in &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc8280&#34;&gt;rfc8280&lt;/a&gt; and this is the most rigor I&amp;rsquo;ve seen in defining the concept in ways that can have protocol impact.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF113 Conference Report: Tuesday March 22, 2022</title>
      <link>https://guardianproject.info/2022/03/24/ietf113-conference-report-tuesday-march-22-2022/</link>
      <pubDate>Thu, 24 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/03/24/ietf113-conference-report-tuesday-march-22-2022/</guid>
      <description>&lt;p&gt;Day two of the &lt;a href=&#34;https://www.ietf.org/how/meetings/113/&#34;&gt;113th IETF meeting&lt;/a&gt;, in Vienna Austria.  The crisis in Ukraine is on everyone&amp;rsquo;s mind, lending immediacy to the work of the Global Access to the Internet for All (GAIA) Research Group. While past and continuing work has focused on Internet access for the world&amp;rsquo;s population (especially those disadvantaged by economics, distance, mobility, and social constraints) the situation in Ukraine resulting from military activities give cause for both concern and hope.  While communications access points have been obviously targeted, the inherently decentralized topology of the Internet infrastructure in Ukraine has afforded surprising resiliency, increased by the willingness of nominal competitors to patch the communication systems back together for the good of all.  Few will remember that this resiliency from military attack was the raison d&amp;rsquo;être for ARPANet, predecessor to the Internet.  Perhaps, in this era of increasing centralization (hardware and software), the crisis in Ukraine will give us the impetus to consider changes to the trajectory of consolidation we&amp;rsquo;ve allowed to occur. We&amp;rsquo;ll follow up on this topic tomorrow after the Human Rights Protocol Considerations (HRPC) Research Group who will take up the topic of Regional Internet Blocking.&lt;/p&gt;

&lt;p&gt;Another important consideration from today&amp;rsquo;s GAIA presentations: the environmental impact of decisions we make about the architecture of the Internet.  While it&amp;rsquo;s easy to trash cryptocurrency for its unfathomable consumption of electricity (live dashboard &lt;a href=&#34;https://ccaf.io/cbeci/index&#34;&gt;here&lt;/a&gt;), it&amp;rsquo;s almost certainly necessary to think about these same considerations in the work of the IETF, impacting as it does, billions of people on a daily basis.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF113 Conference Report: Monday March 21, 2022</title>
      <link>https://guardianproject.info/2022/03/21/ietf113-conference-report-monday-march-21-2022/</link>
      <pubDate>Mon, 21 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/03/21/ietf113-conference-report-monday-march-21-2022/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s opening day at the &lt;a href=&#34;https://www.ietf.org/how/meetings/113/&#34;&gt;113th IETF meeting&lt;/a&gt;, the first in-person meeting in two years due to the COVID pandemic and being held in Vienna Austria. We&amp;rsquo;re focusing on standards activities of importance to the Internet Freedom community.&lt;/p&gt;

&lt;p&gt;New work is brought to the IETF via Birds-of-a-Feature sessions and also each technical area&amp;rsquo;s Dispatch Working Group.  The Application area often sees the most unique and interesting ideas and this meeting was no exception.  The &lt;a href=&#34;https://openethics.ai/&#34;&gt;Open Ethics Initiative&lt;/a&gt; introduced its idea for an &lt;em&gt;ethics disclosure&lt;/em&gt; or &lt;a href=&#34;https://openethics.ai/oetp/&#34;&gt;transparency protocol&lt;/a&gt; to help promote trust among users and service providers in a way similar to nutrition labelling on foods.  Two &lt;a href=&#34;https://www.ietf.org/archive/id/draft-mahy-dispatch-immi-content-00.html&#34;&gt;new&lt;/a&gt; &lt;a href=&#34;https://www.ietf.org/archive/id/draft-mahy-dispatch-immi-mls-mime-00.html&#34;&gt;drafts&lt;/a&gt; have been written related to the format of data exchange among messaging services. I know what you&amp;rsquo;re thinking: &amp;ldquo;but messaging services don&amp;rsquo;t interoperate&amp;rdquo;.  Exactly. These drafts are a push to get that to happen, initially in the context of the Messaging Layer Security (&lt;a href=&#34;https://datatracker.ietf.org/wg/mls/about/&#34;&gt;MLS&lt;/a&gt;) effort.  Along the same lines, a plea was made to liberate messaging from the confines of the encapsulating (and in some cases proprietary) protocols, to be used as first-class network transactions on their own via the &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-spinella-event-streaming-open-network/&#34;&gt;Event Streaming Open Network&lt;/a&gt;. And, the team doing Encrypted Client Hello (&lt;a href=&#34;https://tools.ietf.org/id/draft-ietf-tls-esni-13.html&#34;&gt;ECH&lt;/a&gt;) introduced an idea to &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-farrell-tls-wkesni/&#34;&gt;liberate ECH&amp;rsquo;s host configuration information from the DNS&lt;/a&gt; to which some folks believe it is inextricably bound.  Well, they didn&amp;rsquo;t present it &lt;em&gt;quite&lt;/em&gt; that way, but&amp;hellip; Liberation was the theme of the event, it seems!&lt;/p&gt;

&lt;p&gt;The Privacy Enhancements and Assessments Research Group (&lt;a href=&#34;https://pearg.org&#34;&gt;PEARG&lt;/a&gt;) had a detailed presentation on the EU&amp;rsquo;s General Data Protection Regulation (&lt;a href=&#34;https://gdpr.eu&#34;&gt;GDPR&lt;/a&gt;) as it relates to network privacy. It&amp;rsquo;s much richer than I imagined, indicating there&amp;rsquo;s a lot more there in terms of enforcement in the future. The long-incubating &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-irtf-pearg-censorship/&#34;&gt;A Survey of Worldwide Censorship Techniques&lt;/a&gt; seems to be near &lt;em&gt;last call&lt;/em&gt; in its Version 5.  The difficulty of getting it published has as much to do with hesitancy around the term &lt;em&gt;censorship&lt;/em&gt; as with the actual content.&lt;/p&gt;

&lt;p&gt;The major news today, however, is that the &lt;a href=&#34;https://datatracker.ietf.org/wg/masque/documents/&#34;&gt;MASQUE Working Group&lt;/a&gt;, whose charter is to develop mechanisms that allow configuring and concurrently running multiple proxied stream- and datagram-based flows inside an HTTPS connection, is coming to closure on &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-ietf-masque-connect-udp&#34;&gt;CONNECT_UDP&lt;/a&gt; and &lt;a href=&#34;https://www.ietf.org/id/draft-ietf-masque-h3-datagram-06.html&#34;&gt;HTTP Datagrams&lt;/a&gt; while &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-masque-connect-ip/&#34;&gt;CONNECT_IP&lt;/a&gt; has a few more issues to sort out.  Though QUIC and HTTP/3 are the focus of this work, these changes are being defined for HTTP/2 and HTTP/1.1 as well, implying the medium-term availability of robust proxying options in the Internet&amp;rsquo;s service hubs.  As we mentioned in yesterday&amp;rsquo;s post, &lt;a href=&#34;https://www.ietf.org/archive/id/draft-schinazi-httpbis-transport-auth-05.html&#34;&gt;HTTP Transport Authentication&lt;/a&gt; is an idea for privately authenticating these flows.  We hope this work gets picked up again upon completion of these three initial efforts.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF113 Hackathon Project</title>
      <link>https://guardianproject.info/2022/03/20/ietf113-hackathon-project/</link>
      <pubDate>Sun, 20 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/03/20/ietf113-hackathon-project/</guid>
      <description>&lt;p&gt;&lt;em&gt;This post begins a daily blog, live from IETF113 in Vienna Austria, March 19-25, 2022 (first in-person meeting after six remote-only meetings during the COVID pandemic).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://www.ietf.org/how/runningcode/hackathons/113-hackathon/&#34;&gt;Hackathon&lt;/a&gt; event kicks off IETF and, at this meeting,  we picked up work originally done by one of our teammates implementing version 5 of &lt;a href=&#34;https://www.ietf.org/archive/id/draft-schinazi-httpbis-transport-auth-05.html&#34;&gt;Internet Draft HTTP Transport Authentication&lt;/a&gt;. &lt;em&gt;HTTP Transport Authentication&lt;/em&gt; is designed to authenticate such protocol flows in a manner that does not reveal any information to an attacker during failure cases.  Therefore, applications using &lt;em&gt;HTTP Transport Authentication&lt;/em&gt; are resistant to active probing by network adversaries.&lt;/p&gt;

&lt;p&gt;We got the original code running in Google Conscrypt (TLS for Java/Android), verified its function (as defined in the Internet Draft) and created a public open source repository with a demonstration capability. We presented the work to Hackathon attendees (~50 people) and discussed the work with the specification’s author.&lt;/p&gt;

&lt;p&gt;Here’s the specification for HTTP Transport Authentication &lt;a href=&#34;https://www.ietf.org/archive/id/draft-schinazi-httpbis-transport-auth-05.html&#34;&gt;Internet Draft&lt;/a&gt;.  Here’s our  implementation &lt;a href=&#34;https://github.com/guardianproject/HTTPTransportAuthentication&#34;&gt;repository&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Privacy Preserving Analytics in the Real World: Mailvelope Case Study</title>
      <link>https://guardianproject.info/2022/02/28/privacy-preserving-analytics-in-the-real-world-mailvelope-case-study/</link>
      <pubDate>Mon, 28 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/02/28/privacy-preserving-analytics-in-the-real-world-mailvelope-case-study/</guid>
      <description>

&lt;p&gt;We love &lt;a href=&#34;https://mailvelope.com/&#34;&gt;Mailvelope&lt;/a&gt;. It&amp;rsquo;s a popular browser extension for encrypting email messages. Now, &lt;a href=&#34;https://cleaninsights.org&#34;&gt;Clean Insights&lt;/a&gt; is helping Mailvelope understand which webmail providers are most popular with their users so they can prioritize their development efforts.&lt;/p&gt;

&lt;p&gt;Anyone who has written software knows it takes hard work to craft a great user experience. That&amp;rsquo;s even more challenging in Mailvelope&amp;rsquo;s case. Their browser extension integrates with more than a dozen ever-changing third party webmail interfaces. The Mailvelope team asks itself questions like, &amp;ldquo;Is time better spent improving the GMail integration or the mailbox.org one?&amp;rdquo; The answer often hinges on which providers are most popular among Mailvelope users, information not yet readily available to the Mailvelope team.&lt;/p&gt;

&lt;p&gt;So, Mailvelope asked us to set up the &lt;a href=&#34;https://gitlab.com/cleaninsights/clean-insights-js-sdk/&#34;&gt;Clean Insights JavaScript SDK&lt;/a&gt; to measure which providers are most popular while respecting users&amp;rsquo; consent and preserving their privacy. In drastic contrast to the web analytics norms, we only collect what we need in order to make important decisions.&lt;/p&gt;

&lt;p&gt;We decided we don&amp;rsquo;t care &lt;em&gt;how many&lt;/em&gt; visits a user makes in a given week. We just care &lt;em&gt;that&lt;/em&gt; a user visited that webmail provider during the week. So that&amp;rsquo;s all we record. We don&amp;rsquo;t record what time of day they visited, how many times, or any information about their identity or who they communicate with. This results in a simple to analyze report from each user like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;During the week of February 27th, a user visited &amp;ldquo;mail.google.com&amp;rdquo; at least once.&lt;/li&gt;
&lt;li&gt;During the week of February 27th, a user visited &amp;ldquo;*.gmx.net&amp;rdquo; at least once.&lt;/li&gt;
&lt;li&gt;During the week of March 6th, a user visited &amp;ldquo;*.gmx.net&amp;rdquo; at least once.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By adding up the weekly counts from all users, we&amp;rsquo;ll get a handy list of which providers are popular and be able to see changes in that popularity over time.&lt;/p&gt;

&lt;h2 id=&#34;privacy-and-anonymity&#34;&gt;Privacy and Anonymity&lt;/h2&gt;

&lt;p&gt;In addition to Clean Insights&amp;rsquo; default privacy-preserving features (for example, not storing IP addresses), we configured this measurement campaign to protect Mailvelope users&amp;rsquo; privacy in some special ways.&lt;/p&gt;

&lt;p&gt;Users can use Mailvelope with any webmail provider they like. Some users may be using a personal or corporate mail server at mail.myorganization.com. While knowing how many users used mailbox.org today doesn&amp;rsquo;t implicate any individual, knowing &lt;em&gt;someone&lt;/em&gt; visited mail.your-name-here.com wouldn&amp;rsquo;t be nearly so anonymous. So, we set up Mailvelope to only track visits to the short list of default providers Mailvelope supports. When a user uses Mailvelope with a non-default provider, we record that a user used a non-default provider but record neither &lt;em&gt;who&lt;/em&gt; nor &lt;em&gt;which provider&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;You can see how we did it by checking out &lt;a href=&#34;https://github.com/mailvelope/mailvelope/pull/788/files&#34;&gt;the code&lt;/a&gt; or reading about it on the Mailvelope blog (link to come).&lt;/p&gt;

&lt;h2 id=&#34;consent&#34;&gt;Consent&lt;/h2&gt;

&lt;p&gt;We chose to seek user consent right away even though our privacy techniques spare us from GDPR&amp;rsquo;s familiar cookie consent requirement.  We’re spared that because among &lt;a href=&#34;https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-without-consent-or-cookie-banner/&#34;&gt;other things&lt;/a&gt;, we don’t use a tracking cookie, we don’t capture personal information, and we don’t track users across sites.  And we chose to ask early, right in the “Let’s Start” dialogue, since the next thing we’ll measure with Clean Insights is “What trips up users during onboarding?”&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;mailvelope_install_dropdown.png&#34; alt=&#34;mailvelope install consent dropdown&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Being able to withdraw is a critical component of consent, so users can always change their response in a new page we added to Mailvelope&amp;rsquo;s settings menu.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;mailvelope_analytics_settings.png&#34; alt=&#34;mailvelope analytics settings page&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;next-steps&#34;&gt;Next Steps&lt;/h2&gt;

&lt;p&gt;You may remember we added consent very early in Mailvelope&amp;rsquo;s user journey. That&amp;rsquo;s because the next order of business for us is to analyze what steps users take in their onboarding journey. Particularly, we&amp;rsquo;re interested to discover whether any steps pose a big enough hurdle to new users that they choose to uninstall. More on that to come!&lt;/p&gt;

&lt;h2 id=&#34;using-clean-insights-in-your-project&#34;&gt;Using Clean Insights in Your Project&lt;/h2&gt;

&lt;p&gt;Every software project is different. Just like Mailvelope, you might have a particular question on your mind and specific aspects of user privacy you want to protect. We&amp;rsquo;d love to help you use &lt;a href=&#34;https://cleaninsights.org&#34;&gt;Clean Insights&lt;/a&gt; to answer those questions without compromising privacy. If that&amp;rsquo;s interesting to you, you can find us at &lt;a href=&#34;mailto:support@guardianproject.info&#34;&gt;support@guardianproject.info&lt;/a&gt; or visit the project website at &lt;a href=&#34;https://cleaninsights.org&#34;&gt;cleaninsights.org&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Spearphishing for developers</title>
      <link>https://guardianproject.info/2022/02/23/spearphishing-for-developers/</link>
      <pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2022/02/23/spearphishing-for-developers/</guid>
      <description>&lt;p&gt;I received an interesting email that points to a new direction in targeting
developers to exploit them.  This email is a reply to a message that I actually
wrote to an &lt;a href=&#34;https://mail.gnu.org/archive/html/bug-gnulib/2012-01/msg00336.html&#34;&gt;email list&lt;/a&gt;
in 2012, that was posted on a public thread on a public list.  It also uses the
name of a person that posted on that thread: &amp;ldquo;Paul Eggers&amp;rdquo;.  Oddly, it did not
use that person&amp;rsquo;s actual email from the original thread.  Especially considering
that I replied to the message to ask for more info, but got no answer.  I guess
this was just to ensure that the real &amp;ldquo;Paul Eggers&amp;rdquo; did not respond.&lt;/p&gt;

&lt;p&gt;The focus of the message is a link to download a file.  This uses a respectable
file sharing service, &lt;em&gt;onecloud.live.com&lt;/em&gt; and it even includes a password for
the downloaded file, which seems like it builds up the look of authenticity.
The use of a password-protected ZIP also means it won&amp;rsquo;t be automatically scanned
by malware and anti-virus checkers.&lt;/p&gt;

&lt;p&gt;I wasn&amp;rsquo;t able to fully unzip the file using the ZIP tools I used.  That made me
think that perhaps the password method only works in specific ZIP software
packages.  Then the password method would ensure that the ZIP is only run in ZIP
software that is vulnerable to the included exploit. And otherwise, the contents
would not be readable for further inspection.&lt;/p&gt;

&lt;p&gt;This points to an attack method that I have not encountered before.
Spearphishing relies on building up a story so that even a careful user will
want to click the link and execute the contents.  Getting a reply to a thread is
an effective way to do that.  The contents of public lists are easily readable
and indexable, so this kind of attack can be highly automated.  Just put in a
target email, and the automation sends the target a message with context.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s the full email source:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Return-Path: &amp;lt;info@long.frog.tw&amp;gt;
Delivered-To: gphans@rodolpho.mayfirst.org
Received: from rodolpho.mayfirst.org
	by rodolpho.mayfirst.org with LMTP
	id hSGSC25fFmL8LAAAME+P1Q
	(envelope-from &amp;lt;info@long.frog.tw&amp;gt;)
	for &amp;lt;gphans@rodolpho.mayfirst.org&amp;gt;; Wed, 23 Feb 2022 11:23:10 -0500
Received: from rodolpho.mayfirst.org (localhost [127.0.0.1])
	by rodolpho.mayfirst.org (Postfix) with ESMTP id D9F313CE34
	for &amp;lt;hans@guardianproject.info&amp;gt;; Wed, 23 Feb 2022 11:23:06 -0500 (EST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	rodolpho.mayfirst.org
X-Spam-Level: 
X-Spam-Status: No, score=0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
	HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,RCVD_IN_MSPIKE_H2,
	SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=disabled
	version=3.4.2
X-Spam-Language: en
X-Envelope-From: &amp;lt;info@long.frog.tw&amp;gt;
X-Greylist: delayed 1661 seconds by postgrey-1.36 at rodolpho; Wed, 23 Feb 2022 11:23:06 EST
Received: from mg3.eee.tw (mg3.eee.tw [103.17.10.233])
	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by rodolpho.mayfirst.org (Postfix) with ESMTPS id 858E03CE1E
	for &amp;lt;hans@guardianproject.info&amp;gt;; Wed, 23 Feb 2022 11:23:06 -0500 (EST)
Received: from cp21.g-dns.com (cp21.g-dns.com [103.17.8.40])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by mg3.eee.tw (Postfix) with ESMTPS id AF4F419009B3
	for &amp;lt;hans@guardianproject.info&amp;gt;; Wed, 23 Feb 2022 23:54:59 +0800 (CST)
DKIM-Filter: OpenDKIM Filter v2.11.0 mg3.eee.tw AF4F419009B3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mg3.eee.tw;
	s=default; t=1645631699;
	bh=MvWrTbFx4VjqxMbQ1oeJJLPDVIB1s899FwwgZkbZ1wQ=;
	h=Date:From:To:Subject:From;
	b=JwtVM6G26JoedbLznxwWCmDxeFdQK2eAjM0spiAV8JGrfqpH1+MVTJ7V+8jItocF6
	 PbzZ70Ryif/OnczcFbObjb966oc8G4HfyXFid8QzoCc2x///YtHxybz/dpv01grV+/
	 7Nu86lLukMGzGcQr2C3Lhgz9Gakdx8j2fNSoWIBw=
Received: from 104.120.6.109.rev.sfr.net ([109.6.120.104]:40052 helo=mail.long.frog.tw)
	by cp21.g-dns.com with esmtpsa  (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
	(Exim 4.94.2)
	(envelope-from &amp;lt;info@long.frog.tw&amp;gt;)
	id 1nMtyx-005qBz-Pz
	for hans@guardianproject.info; Wed, 23 Feb 2022 23:54:59 +0800
MIME-Version: 1.0
Date: Wed, 23 Feb 2022 07:54:58 -0800
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
From: &amp;quot;Paul Eggert&amp;quot; &amp;lt;info@long.frog.tw&amp;gt;
To: &amp;quot;Hans-Christoph Steiner&amp;quot; &amp;lt;hans@guardianproject.info&amp;gt;
Subject: Re: sys/types.h on Android includes stdint.h before defining time_t
Message-ID: &amp;lt;uwhaose67qs7epo7ckd62gsd8qqz0kkn@long.frog.tw&amp;gt;
X-YuanJhen-MailScanner-Information: Please contact the ISP for more information
X-YuanJhen-MailScanner-ID: AF4F419009B3.AB186
X-YuanJhen-MailScanner: Not scanned: please contact your Internet E-Mail Service Provider for details
X-YuanJhen-MailScanner-SpamCheck: not spam, SpamAssassin (not cached,
	score=1.79, required 6, autolearn=disabled, BAYES_60 0.80,
	DKIM_VALID -0.10, HTML_MESSAGE 0.30, HTML_MIME_NO_HTML_TAG 0.38,
	MIME_HTML_ONLY 0.42, T_SCC_BODY_TEXT_LINE -0.01)
X-YuanJhen-MailScanner-SpamScore: 1
X-YuanJhen-MailScanner-From: info@long.frog.tw
X-Virus-Scanned: ClamAV using ClamSMTP

Hi,&amp;lt;br /&amp;gt;
I have not seen any reply about the receipt documentation I sent you before. Have you checked it?&amp;lt;br /&amp;gt;
In case it wasn&#39;t delivered, here I upload it again:&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
https://onedrive.live.com/download?cid=8E46FC281A596F46&amp;amp;amp;resid=8E46FC281A596F46%21106&amp;amp;amp;authkey=AOYFYKwyPe_KuGI&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
File password: WT5667&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
On 01/26/2012 12:14 PM, Hans-Christoph Steiner wrote:
&amp;gt; ./stdint.h:32:3: error: invalid preprocessing directive #@

This looks like some sort of problem in the way the patch
was applied.  Perhaps you need to re-run gnulib-tool,
or ./bootstrap, or ./autogen.sh, or whatever-it-is-with
your package, to re-import the patched gnulib from scratch.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Update March 23rd, 2022&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I never received a reply from the email I replied to, so this does not seem
to be a very sophisticated attack.  Plus now, I&amp;rsquo;ve received the same kind of
message again responding to the same thread.  It has a different email address
in the &lt;em&gt;From:&lt;/em&gt; field, and talks about invoices.  So it seems clear that this is
an automated mass spam operation, not so targeted.  Plus replying to a technical
thread with a message about invoices or receipts seems quite tone deaf.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s the full source text of this new message:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Return-Path: &amp;lt;INSERT.INTO@arbonnetruth.com&amp;gt;
Delivered-To: gphans@rodolpho.mayfirst.org
Received: from rodolpho.mayfirst.org
	by rodolpho.mayfirst.org with LMTP
	id SAA4IDlXO2KkcgAAME+P1Q
	(envelope-from &amp;lt;INSERT.INTO@arbonnetruth.com&amp;gt;)
	for &amp;lt;gphans@rodolpho.mayfirst.org&amp;gt;; Wed, 23 Mar 2022 13:22:01 -0400
Received: from rodolpho.mayfirst.org (localhost [127.0.0.1])
	by rodolpho.mayfirst.org (Postfix) with ESMTP id AE00E3CE3B
	for &amp;lt;hans@guardianproject.info&amp;gt;; Wed, 23 Mar 2022 13:21:59 -0400 (EDT)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	rodolpho.mayfirst.org
X-Spam-Level: ***
X-Spam-Status: No, score=3.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
	DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,
	MIME_HTML_ONLY,RCVD_IN_PSBL,SPF_HELO_PASS,SPF_PASS,
	T_SCC_BODY_TEXT_LINE autolearn=disabled version=3.4.2
X-Spam-Language: en
X-Envelope-From: &amp;lt;INSERT.INTO@arbonnetruth.com&amp;gt;
X-Greylist: delayed 601 seconds by postgrey-1.36 at rodolpho; Wed, 23 Mar 2022 13:21:59 EDT
Received: from arbonnetruth.com (arbonnetruth.com [93.170.123.227])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by rodolpho.mayfirst.org (Postfix) with ESMTPS id 596443CE1C
	for &amp;lt;hans@guardianproject.info&amp;gt;; Wed, 23 Mar 2022 13:21:59 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=mail; d=arbonnetruth.com;
 h=MIME-Version:Date:Content-Type:Content-Transfer-Encoding:From:To:Subject:
 Message-ID; i=INSERT.INTO@arbonnetruth.com;
 bh=tyizJcC18eXfvncOzYHJ5lCpMuLeYzPK5gBPVLAfqRw=;
 b=O19O9I/UZQxRYOrfLzW3V+Olc/uEnUNezLzdN+XqMNb4Boj5KBxyjgsQy5h18K0uBoyNF5UKQyg8
   tqaKIYKt4PPu8K4BqLrbyXZ0UfpeTQ2oxZ7uTILWi1W+LUTz9fVGfC5lulA1q2YOlJ+Q2YNEDnFq
   +m+bHLzVQwIJX8wT04A=
MIME-Version: 1.0
Date: Wed, 23 Mar 2022 09:11:54 -0800
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
From: &amp;quot;Paul Eggert&amp;quot; &amp;lt;INSERT.INTO@arbonnetruth.com&amp;gt;
To: &amp;quot;Hans-Christoph Steiner&amp;quot; &amp;lt;hans@guardianproject.info&amp;gt;
Subject: Re: sys/types.h on Android includes stdint.h before defining time_t
Message-ID: &amp;lt;2lixlvd5g6qeonv0dkkyzyjbbx1foep1@arbonnetruth.com&amp;gt;
X-Virus-Scanned: ClamAV using ClamSMTP

Greetings,&amp;lt;br /&amp;gt;
Kindly review a next invoice documentation:&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
https://onedrive.live.com/download?cid=1D05D1D2994A703C&amp;amp;amp;resid=1D05D1D2994A703C%21116&amp;amp;amp;authkey=AALIqV8bfVVLE9E&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
File password: MT7658&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
On 01/26/2012 12:14 PM, Hans-Christoph Steiner wrote:
&amp;gt; ./stdint.h:32:3: error: invalid preprocessing directive #@

This looks like some sort of problem in the way the patch
was applied.  Perhaps you need to re-run gnulib-tool,
or ./bootstrap, or ./autogen.sh, or whatever-it-is-with
your package, to re-import the patched gnulib from scratch.

&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>IETF: Year End Review 2021</title>
      <link>https://guardianproject.info/2021/12/23/ietf-year-end-review-2021/</link>
      <pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/12/23/ietf-year-end-review-2021/</guid>
      <description>&lt;p&gt;In terms of potential impact on Internet Freedom, it’s been a banner year at the Internet Engineering Task Force &lt;a href=&#34;https://ietf.org/&#34;&gt;(IETF)&lt;/a&gt;.  &lt;a href=&#34;https://datatracker.ietf.org/doc/rfc9000/&#34;&gt;QUIC&lt;/a&gt; (featuring the improved privacy and security of &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc8446&#34;&gt;TLS1.3&lt;/a&gt;) reached Proposed Standard status, with implementations and rollouts from every major vendor on both server and client, and with multiple &lt;a href=&#34;https://en.wikipedia.org/wiki/QUIC#Source_Code&#34;&gt;open source toolkit options&lt;/a&gt; for developers.  &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-tls-esni/&#34;&gt;Encrypted Client Hello&lt;/a&gt; for TLS1.3 gained traction via the &lt;a href=&#34;https://defo.ie&#34;&gt;DEfO project&lt;/a&gt; that, through pull requests, makes a huge privacy enhancement easily available to the major security library (OpenSSL) underpinning the Internet’s most important service engines (nginx, apache, lighttpd, haproxy on the server, even curl on the client).  IP address privacy got new attention with a working group formed around Oblivious HTTP Application Intermediation (&lt;a href=&#34;https://datatracker.ietf.org/doc/charter-ietf-ohai/&#34;&gt;OHAI&lt;/a&gt;), as did Privacy-Preserving Measurement (&lt;a href=&#34;https://datatracker.ietf.org/doc/bofreq-privacy-preserving-measurement/&#34;&gt;PPM&lt;/a&gt;) which seeks to drastically reduce the amount of personal information swept up in the pervasive monitoring of all public Internet activity.  Meanwhile, the Internet Research Task Force (&lt;a href=&#34;https://irtf.org&#34;&gt;IRTF&lt;/a&gt;) has focused on developing new cryptographic techniques to serve these rapidly-evolving privacy-focused activities. IRTF also fosters work on truly-global Internet access and, in a sense, serves as the IETF’s conscience through it’s work on the &lt;a href=&#34;https://datatracker.ietf.org/rg/hrpc/about/&#34;&gt;human rights implications of protocol design&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Yet, it’s valid to ask: will the Internet be more free when/if these proposals become widely-deployed standards? While there’s sound reason for hope, I see two major concerns that could significantly reduce the positive impact of this work.&lt;/p&gt;

&lt;p&gt;The first concern is extreme pushback from the major state actors who want more control over how their citizens use the Internet.  While QUIC, TLS1.3 and ECH appear to be headed for full adoption in regions where the Internet is already nominally free, they amount to a &lt;a href=&#34;https://www.poker.org/poker-hands-ranking-chart/&#34;&gt;royal flush&lt;/a&gt; for the good guys in the regions where it is not. The reaction? Stop playing the game (the major state actors have already blocked QUIC).  What’s going to be the reaction when ECH makes ubiquitous domain-fronting possible?  Will that just increase the number of states participating in blocking QUIC?  It’s important to remember, state actors &lt;a href=&#34;https://www.huawei.com/us/technology-insights/industry-insights/innovation/new-ip&#34;&gt;have options&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The second concern is centralization.  The Internet has gotten more centralized over time, both in the way the breadth of its content is hosted and in the number of services users visit to view that content.  Further, national gateways have seen massive consolidation in the last five years as most states reduce exposure in the name of terrorism prevention and reducing the flow of disinformation.  This centralization has worsened the &lt;a href=&#34;https://datatracker.ietf.org/doc/rfc7258/&#34;&gt;pervasive monitoring&lt;/a&gt; all users suffer under and has made it difficult (at best) to trust service providers with even the most benign-seeming of our personal data. Yet, the privacy solutions under development at IETF - OHAI and PPM, along with &lt;a href=&#34;https://datatracker.ietf.org/wg/privacypass/about/&#34;&gt;Privacy Pass&lt;/a&gt; and others - all rely on layers of new infrastructure operated by these same providers, seeming to require us to put even more trust in them.  Directionally, is that sustainable?  It’s important to remember, we users also &lt;a href=&#34;https://permission.io/blog/web-3-0/&#34;&gt;have options&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;During 2022, I’ll be looking more critically at how IETF addresses these concerns. IETF continues to be the most open and responsive standards organization determining the Internet’s future.  It feels like we’re reaching a point where Internet Freedom isn’t any longer a niche interest, but rather the central focus of progress for mankind in terms of our intercommunication as citizens of the planet. The best option would seem to be an IETF at the forefront of that progress.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Clean Insights: Privacy Preserving Measurement</title>
      <link>https://guardianproject.info/code/cleaninsights/</link>
      <pubDate>Thu, 09 Dec 2021 11:00:55 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/cleaninsights/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Clean Insights&lt;/strong&gt; gives developers a way to plug into a secure, private measurement platform. It is focused on assisting in answering key questions about app usage patterns, and not on enabling invasive surveillance of all user habits. Our approach provides programmatic levers to pull to cater to specific use cases and privacy needs. It also provides methods for user interactions that are ultimately empowering instead of alienating.&lt;/p&gt;

&lt;p&gt;Clean Insights is available as a lightweight, minimal impact, freely licensed toolkit to include in your mobile app, desktop app, website or back-end service. This code can be integrated into your application or service to measure specific events and interactions that you want to gain more insight on.&lt;/p&gt;

&lt;p&gt;Learn more at &lt;a href=&#34;https://cleaninsights.org&#34;&gt;CleanInsights.org&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Clean Insights: Privacy Preserving Measurement</title>
      <link>https://guardianproject.info/code/cleaninsights/</link>
      <pubDate>Thu, 09 Dec 2021 11:00:55 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/cleaninsights/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Clean Insights&lt;/strong&gt; gives developers a way to plug into a secure, private measurement platform. It is focused on assisting in answering key questions about app usage patterns, and not on enabling invasive surveillance of all user habits. Our approach provides programmatic levers to pull to cater to specific use cases and privacy needs. It also provides methods for user interactions that are ultimately empowering instead of alienating.&lt;/p&gt;

&lt;p&gt;Clean Insights is available as a lightweight, minimal impact, freely licensed toolkit to include in your mobile app, desktop app, website or back-end service. This code can be integrated into your application or service to measure specific events and interactions that you want to gain more insight on.&lt;/p&gt;

&lt;p&gt;Learn more at &lt;a href=&#34;https://cleaninsights.org&#34;&gt;CleanInsights.org&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Debian over HTTPS</title>
      <link>https://guardianproject.info/2021/12/08/debian-over-https/</link>
      <pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/12/08/debian-over-https/</guid>
      <description>

&lt;p&gt;Debian&amp;rsquo;s package manager &lt;a href=&#34;https://wiki.debian.org/SecureApt&#34;&gt;&lt;em&gt;apt&lt;/em&gt;&lt;/a&gt; has a
time-tested method of securely providing packages from the network built on
OpenPGP signatures.  Even though this signing method works well for verifying
the indexes and package files, there are new threats that have become relevant
as man-in-the-middle attacks and data mining become ever easier.  Since 2013,
&lt;em&gt;apt&lt;/em&gt; developers have supported encrypted transport methods HTTPS and Tor Onion
Service.  We have been &lt;a href=&#34;https://guardianproject.info/2016/07/31/howto-get-all-your-debian-packages-via-tor-onion-services/&#34;&gt;recommending&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/2019/01/23/use-onions/https-for-software-updates/&#34;&gt;their&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/&#34;&gt;use&lt;/a&gt; since &lt;a href=&#34;https://guardianproject.info/2013/10/31/issues-when-distributing-software/&#34;&gt;2013&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Most major mirrors already support HTTPS, and now &lt;a href=&#34;https://security.debian.org&#34;&gt;https://security.debian.org&lt;/a&gt;
has finally joined the party.  That means it is possible to use HTTPS on all of
the official repositories.  On top of that, many Debian Developers are working
on making &lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=992692&#34;&gt;HTTPS the
default&lt;/a&gt; for new
installs.&lt;/p&gt;

&lt;h2 id=&#34;the-threats&#34;&gt;The threats&lt;/h2&gt;

&lt;p&gt;Now is a good time to reiterate the areas of concern:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Package authenticity (software can be modified while being downloaded).&lt;/li&gt;
&lt;li&gt;Repository availability (whole sites or specific URL paths can be selectively
blocked by the network).&lt;/li&gt;
&lt;li&gt;Package availability (software security updates can be individually blocked).&lt;/li&gt;
&lt;li&gt;Who is downloading what package (currently visible to anyone who can see the
network traffic, including open wifi, etc.).&lt;/li&gt;
&lt;li&gt;Vulnerabilities in &lt;em&gt;apt&lt;/em&gt; or its signature validation (&lt;em&gt;apt&lt;/em&gt; can be
exploited, authenticity checks can be bypassed).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The current &lt;em&gt;apt&lt;/em&gt; model with HTTP covers #1 well, but only covers #2 and #3 with
a one week window (the &lt;code&gt;Valid-Until&lt;/code&gt; header sets the expiration date on the repo
metadata).  That gives attackers a short-term window where blocking and replay
attacks remain effective.  The And it does not cover #4 or #5 at all.&lt;/p&gt;

&lt;p&gt;Using HTTPS adds a weak backup security layer for #1.  HTTPS makes it much more
difficult for certain files from a mirror to be selectively blocked or replayed,
as well as making related errors louder and earlier (e.g. #2 and #3).  Tracking
package downloads needs only simple passive listening with HTTP, but with HTTPS,
the attacker must build full indexes of package sizes, then parse the size from
TLS streams.  So HTTPS helps a little with #4.  Lastly,
&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1829&#34;&gt;there&lt;/a&gt;
&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1358&#34;&gt;have&lt;/a&gt;
&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3587&#34;&gt;been&lt;/a&gt;
&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3462&#34;&gt;bugs&lt;/a&gt;
&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1252&#34;&gt;in&lt;/a&gt;
&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0501&#34;&gt;&lt;em&gt;apt&lt;/em&gt;&amp;rsquo;s&lt;/a&gt; GPG
verification.  With HTTP, any network can inject exploits into &lt;em&gt;apt&lt;/em&gt;&amp;rsquo;s
downloads.  HTTPS helps with #5 by providing a backup layer of encryption,
albeit weaker.&lt;/p&gt;

&lt;p&gt;It is of course important to point out that HTTPS itself has flaws, and it is
not the best option out there, especially for protecting anonymity.  HTTPS is
quite easy to use for &lt;em&gt;apt&lt;/em&gt; repositories, so there is hardly any trade-off to
using it.  That is why it is the focus of this post.  If protecting privacy is
important to you, you should use the &lt;a href=&#34;https://onion.debian.org&#34;&gt;Tor Onion Service
repositories&lt;/a&gt;, especially if #4 and #5 concern you.&lt;/p&gt;

&lt;h2 id=&#34;the-risks-of-adding-https&#34;&gt;The risks of adding HTTPS&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The only security critique of using HTTPS for repositories that still makes
sense is that there might be vulnerabilities in the code that handles HTTPS,
since its a lot more complicated that HTTP.  In &lt;em&gt;apt&lt;/em&gt;, HTTPS requires GnuTLS,
which is currently linked in by default.  In order to fully protect against
exploits related to the HTTPS code, the machine would need to use a custom build
of &lt;em&gt;apt&lt;/em&gt; with GnuTLS support not included.  It is possible to limit exposure of
the HTTPS implementation by setting &lt;code&gt;Acquire::AllowTLS false&lt;/code&gt;.  This kind of
attack seems to be theoretical as of the time of writing, whereas there are at
least 6 CVEs related to exploiting the GPG verification.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Using HTTPS makes using caching proxies much harder to setup.  Caching proxies
can reduce the leakage of metadata about which machine is getting which package,
so using direct HTTPS connections would therefore increase the leakage of that
kind of metadata.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;things-that-can-be-improved&#34;&gt;Things that can be improved&lt;/h2&gt;

&lt;p&gt;There are some additional bits of metadata that can be protected when using
HTTPS, thereby further improving the privacy protections in &lt;em&gt;apt&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;With &lt;a href=&#34;https://www.gnutls.org/manual/gnutls.html#On-Record-Padding&#34;&gt;TLSv1.3 Record
Padding&lt;/a&gt;, TLS
streams &lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001335&#34;&gt;can be
padded&lt;/a&gt;, which
would obscure the size of the packages being downloaded from network
observers.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Pipelining downloads through a reused HTTPS connection makes it even more
difficult for the network observer to track packages by size.&lt;/del&gt; Update
2021-12-09: It turns out that &lt;em&gt;apt&lt;/em&gt; is
&lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001335#10&#34;&gt;already&lt;/a&gt;
&lt;a href=&#34;https://salsa.debian.org/apt-team/apt/commit/895417ef99bb1371d8970da1afe87c6d64382f67&#34;&gt;pipelining&lt;/a&gt;
requests by default, so that can be crossed off the list of things to be
improved.&lt;/li&gt;
&lt;li&gt;The Server Name Indication (SNI) field in TLS will leak the domain name in
plaintext.  The upcoming TLS Encrypted Client Hello standard will encrypt that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The SNI field issue does not exist when using Tor Onion Services.  Package
sizes would still be visible to network observers when using Onion Services, so
TLS padding and pipelining would help there also.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Implementing TLS Encrypted Client Hello</title>
      <link>https://guardianproject.info/2021/11/30/implementing-tls-encrypted-client-hello/</link>
      <pubDate>Tue, 30 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/11/30/implementing-tls-encrypted-client-hello/</guid>
      <description>

&lt;p&gt;As part of the &lt;a href=&#34;https://defo.ie/&#34;&gt;DEfO&lt;/a&gt; project, we have been working on
accelerating the development &lt;a href=&#34;https://www.ietf.org/archive/id/draft-ietf-tls-esni-13.html&#34;&gt;Encrypted Client Hello
(ECH)&lt;/a&gt; as
standardized by the IETF.  ECH is the next step in improving Transport Layer
Security (TLS).  TLS is one of the basic building blocks of the internet, it is
what puts the S in HTTPS.  The ECH standard is nearing completion.  That is
exciting because ECH can encrypt the last plaintext TLS metadata that it is
possible to encrypt.  So ECH will bring some real improvements in privacy and
censorship resistance.&lt;/p&gt;

&lt;p&gt;ECH is built on top of TLSv1.3 and &lt;a href=&#34;https://blog.cloudflare.com/handshake-encryption-endgame-an-ech-update/&#34;&gt;completes unfinished
work&lt;/a&gt;
from the TLSv1.3 effort, now that private DNS is a thing. ECH is now in draft-13
and there are many implementations that are interoperating. ECH is working for
&lt;a href=&#34;https://github.com/sftcd/openssl&#34;&gt;OpenSSL&lt;/a&gt;, &lt;a href=&#34;https://bugs.chromium.org/p/boringssl/issues/detail?id=275&#34;&gt;BoringSSL&lt;/a&gt;, &lt;a href=&#34;https://github.com/sftcd/nginx&#34;&gt;nginx&lt;/a&gt;, &lt;a href=&#34;https://github.com/sftcd/httpd&#34;&gt;Apache HTTPD&lt;/a&gt;, &lt;a href=&#34;https://github.com/sftcd/lighttpd1.4&#34;&gt;lighttpd&lt;/a&gt;,
&lt;a href=&#34;https://github.com/sftcd/haproxy/commits/ECH-experimental&#34;&gt;HAProxy&lt;/a&gt;, &lt;a href=&#34;https://github.com/guardianproject/conscrypt/tree/2.6.alpha1638179154.job1828169525&#34;&gt;Conscrypt&lt;/a&gt;, &lt;a href=&#34;https://github.com/niallor/curl&#34;&gt;curl&lt;/a&gt;, and more. There is work underway in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=1725938&#34;&gt;Firefox&lt;/a&gt;
and &lt;a href=&#34;https://bugs.chromium.org/p/chromium/issues/detail?id=1091403&#34;&gt;Chromium&lt;/a&gt;. It has been sketched out for &lt;a href=&#34;https://github.com/square/okhttp/issues/6539&#34;&gt;OkHTTP&lt;/a&gt;. Draft versions of ESNI
and ECH have been deployed in Firefox releases and some production web services.&lt;/p&gt;

&lt;p&gt;The main downside of ECH is that it is
&lt;a href=&#34;https://defo.ie/report.html#issuesarising&#34;&gt;complex&lt;/a&gt;, and most of that is
unavoidable.  Large scale websites have complicated server-side setups, and ECH
has to work in those setups.  That is where ECH&amp;rsquo;s complexity comes from.  &lt;a href=&#34;https://www.ietf.org/archive/id/draft-ietf-dnsop-svcb-https-07.html&#34;&gt;DNS
SVCB and HTTPS RR
Types&lt;/a&gt; is a
related standard to encapsulate the complexity of large scale websites a single
DNS lookup.  It adds additional complexity since it might include the TCP port
number for the service, while TLS implementations mostly assume that the port
number is known before doing a DNS lookup.&lt;/p&gt;

&lt;p&gt;ECH was formerly known as Encrypted SNI (ESNI), which it replaces.  So do not
expect updates to ESNI unless ECH proves too complicated for implementers. ECH
is more complex to implement in the TLS library than ESNI.  Once it is
implemented in the TLS library, then implementing the next level of managing the
keys and hostnames is quite similar between ESNI and ECH.  The rest of this post
will be diving into details about that complexity and what it takes to implement
ECH.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;do-not-stick-out.jpg&#34; alt=&#34;Do Not Stick Out&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;do-not-stick-out&#34;&gt;Do Not Stick Out&lt;/h2&gt;

&lt;p&gt;ECH implementers must also work to ensure that their implementation does not
create packets that look &lt;a href=&#34;https://www.ietf.org/archive/id/draft-ietf-tls-esni-13.html#name-do-not-stick-out&#34;&gt;look
different&lt;/a&gt;
than other implementations.  How ECH is implemented will affect
fingerprintability.  Right now, BoringSSL, OpenSSL, and Firefox all put the ECH
extension in different places, so it is easy for a network observer to tell
which of them is serving as the client in a TLS session.  Ideally, all
implementations would create network packages that look identical to the network
observer.  To get an idea of this problem in the real world, see &lt;a href=&#34;https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40014&#34;&gt;this detailed
technical
discussion&lt;/a&gt;
of metadata ordering in DTLS as used in WebRTC.&lt;/p&gt;

&lt;h2 id=&#34;getting-the-keys&#34;&gt;Getting the keys&lt;/h2&gt;

&lt;p&gt;ECH encrypts the first stage of the negotiation between the client and server,
the &lt;em&gt;ClientHello&lt;/em&gt; packet using a new type of key and related configuration.
This is known as an &amp;ldquo;ECH Config&amp;rdquo;.  This negotiation is what sets up the
encrypted TLS connection, so to encrypt the negotiation, so the keys can not be
derived from the certificates and negotiation itself.  ECH also needs new
methods distributing this ECH Config.  HTTPS/SVCB therefore includes ECH Config Lists,
and DNS is the recommended way to get ECH Config Lists.  Other distribution
methods are also possible, and ECH implementation should provide a method to
directly supply ECH Config Lists.&lt;/p&gt;

&lt;p&gt;When using ECH in conjunction with HTTPS/SVCB, the DNS needs to be handled differently
than the common, decades old practices that most TLS stacks are built on.  The
ECH Config List must match the IP address so that multi-CDN setups still work.
That ensures the server gets the ECH Config that matches its ECH private keys,
not the one for a separate server.  If the A/AAAA lookup is done separately from
the HTTPS/SVCB lookup, they might not match since the results could come from
different caches, etc.  It is not yet clear where the right place to handle that
DNS is, but it is clear that clients that implement HTTPS/SVCB and ECH will need to
consider that DNS will touch different parts of the stack.&lt;/p&gt;

&lt;p&gt;Which part of the stack will handle the HTTPS/SVCB look up depends on whether
the code is acting as a library or more as the client itself.  For example,
libraries like OkHTTP or Conscrypt can both act as a TLS library, providing the
blocks for implementing TLS in an app.  They can also act as the TLS client
itself, the app just needs to open the hostname and port to get a connection.
This is especially true for OkHTTP, which can also handle DNS itself with its
own DNS-over-HTTPS implementation.  Most apps will expect to just open a URL and
have it work without providing anything else.  In the case of HTTP libraries
like OkHTTP or Volley, Conscrypt becomes the provider of TLS functions rather
than the client.  OkHTTP&amp;rsquo;s default setup will probably want to treat Conscrypt
like the client and do zero config.  But there are use cases where apps want to
handle DNS in OkHTTP, in that case Conscrypt is a library.  Another way this
could be broken down would be to have Conscrypt only be the TLS library, then
leave the DNS to the HTTP stacks.  Then each HTTP library would have to have
their own ECH and HTTPS/SVCB handling (In Android, that would mean
&lt;tt&gt;HttpURLConnection&lt;/tt&gt;, OkHTTP, Volley, Apache HTTP Client, etc).  Python
provides another example with HTTP libraries like &lt;a href=&#34;https://github.com/psf/requests/issues/5972&#34;&gt;Requests&lt;/a&gt; working in
combination with the core &lt;a href=&#34;https://bugs.python.org/issue45567&#34;&gt;&lt;tt&gt;ssl&lt;/tt&gt;&lt;/a&gt; module.&lt;/p&gt;

&lt;p&gt;One thing that is clear here: whichever piece initiates the HTTPS/SVCB DNS query
should also handle the ECH Config, and setting up the lower levels.  On top of
this, ECH has GREASE and &amp;ldquo;Retry Configs&amp;rdquo;.  GREASE is a key part of ensuring that
ECH connections do not stick out.  GREASE makes the network observer see TLS
packets that look the same as connections that successfully used an ECH Config
to encrypt.  Retry Configs are sent by the server if it cannot decrypt what the
client sent.  Whichever piece of the code handles the ECH Config List should
then also handle GREASE and the Retry Configs.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://blog.cloudflare.com/encrypted-client-hello/&#34;&gt;&lt;img src=&#34;tls-ech-negotiation.png&#34; alt=&#34;TLS ECH Negotiation&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;outer-and-inner-clienthello&#34;&gt;Outer and Inner &lt;em&gt;ClientHello&lt;/em&gt;&lt;/h2&gt;

&lt;p&gt;This post began by saying that ECH was complex.  Most of that complexity stems
from the concept of &lt;em&gt;ClientHelloOuter&lt;/em&gt; and &lt;em&gt;ClientHelloInner&lt;/em&gt;.  They are sort of
parallel versions of the TLS &lt;em&gt;ClientHello&lt;/em&gt;, with &lt;em&gt;ClientHelloOuter&lt;/em&gt; being
plaintext and &lt;em&gt;ClientHelloInner&lt;/em&gt; being encrypted.  Many of the same bits of
metadata can be set in either &lt;em&gt;ClientHelloOuter&lt;/em&gt; or &lt;em&gt;ClientHelloInner&lt;/em&gt;, or even
in both.  And the outer and inner values can be different.  For example, the
outer plaintext SNI could be set to a generic domain name, while the inner could
be set to a different domain name that the client wants to protect.  Whenever
the client needs to manage what is set in &amp;ldquo;inner&amp;rdquo;, &amp;ldquo;outer&amp;rdquo;, etc., then extra
complexity is exposed all the way up to the app using the ECH client.  Also, so
many possible configuration options also means so many ways that the negotiation
might fail.&lt;/p&gt;

&lt;p&gt;BoringSSL&amp;rsquo;s &lt;code&gt;SSL_set1_ech_config_list()&lt;/code&gt; provides a good example of this complexity:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If a supported ECHConfig is found, &lt;tt&gt;ssl&lt;/tt&gt; will encrypt the true
ClientHello parameters. If the server cannot decrypt it, e.g. due to a key
mismatch, ECH has a recovery flow. &lt;tt&gt;ssl&lt;/tt&gt; will handshake using the
cleartext parameters, including a public name in the ECHConfig. If using
&lt;tt&gt;SSL_CTX_set_custom_verify&lt;/tt&gt;, callers should use
&lt;tt&gt;SSL_get0_ech_name_override&lt;/tt&gt; to verify the certificate with the public
name. If using the built-in verifier, the &lt;tt&gt;X509_STORE_CTX&lt;/tt&gt; will be
configured automatically.&lt;/p&gt;

&lt;p&gt;If no other errors are found in this handshake, it will fail with
&lt;tt&gt;SSL_R_ECH_REJECTED&lt;/tt&gt;. Since it didn&amp;rsquo;t use the true parameters, the
connection cannot be used for application data. Instead, callers should handle
this error by calling &lt;tt&gt;SSL_get0_ech_retry_configs&lt;/tt&gt; and retrying the
connection with updated ECH parameters. If the retry also fails with
&lt;tt&gt;SSL_R_ECH_REJECTED&lt;/tt&gt;, the caller should report a connection failure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;a-walk-through-which-pieces-needs-to-do-what&#34;&gt;A walk through which pieces needs to do what&lt;/h2&gt;

&lt;p&gt;Let us return to the Python example to go through the pieces needed to implement
ECH there.  Starting at the lowest level, the Python &lt;tt&gt;ssl&lt;/tt&gt; is built on
top of OpenSSL, so the new ECH functions in OpenSSL need to be included and
exposed in &lt;tt&gt;ssl&lt;/tt&gt;&amp;rsquo;s API.  Unlike with a plain TLSv1.3 connection,
&lt;tt&gt;ssl&lt;/tt&gt; would not set up an ECH connection without additional configuration
as long as &lt;tt&gt;ssl&lt;/tt&gt; does not include the additional DNS requirements needed
to fetch the ECH Config.  The DNS could instead be implemented in the HTTP
library.  Requests is built on top of urllib3, so urllib3 could implement
HTTPS/SVCB handling.  Then Requests would automatically get ECH connections.
Since it can be necessary to handle the ECH Config outside of DNS, urllib3 and
Requests could provide methods for the app to submit the ECH Config.  This would
mean overriding any HTTPS/SVCB handling in Requests and urllib3.&lt;/p&gt;

&lt;p&gt;Based on this outline, these are the pieces that need to be implemented:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS/SVCB DNS queries for getting ECH Config Lists, IP, and other config.&lt;/li&gt;
&lt;li&gt;A way to provide ECH Config Lists as bytes directly to the &lt;tt&gt;ssl&lt;/tt&gt; module.&lt;/li&gt;
&lt;li&gt;A method to ensure encrypted DNS is used so all metadata is encrypted.&lt;/li&gt;
&lt;li&gt;A method to enable and disable GREASE, ideally with GREASE default on.&lt;/li&gt;
&lt;li&gt;A callback that gets called whenever ECH negotiation fails and the server
offers a &amp;ldquo;Retry Config&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Potentially also controls of what to send in the &lt;em&gt;ClientHelloOuter&lt;/em&gt; versus the
&lt;em&gt;ClientHelloInner&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From the point of view of the client implementation, there is a big difference
between TLS before and after ECH.  This new complexity may look scary but this
is a clear path to providing strong privacy protections with TLS that can be as
widely deployed as TLSv1.3 is now.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Announcement: AnyNews 1.0: Censorship-Resistant News and Media Distribution</title>
      <link>https://guardianproject.info/2021/11/29/announcement-anynews-1.0-censorship-resistant-news-and-media-distribution/</link>
      <pubDate>Mon, 29 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/11/29/announcement-anynews-1.0-censorship-resistant-news-and-media-distribution/</guid>
      <description>

&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;

&lt;p&gt;For content publishers, AnyNews is a news distribution suite focused on service to censorship-prone geographies, easily integrated into existing content sources.  AnyNews is open-source and easily branded (or customized, if desired) without extensive effort or expense.  AnyNews integrates technologies to counter a range of censorship regimes and is designed to accommodate new technologies more easily and quickly as they arise. Tools are provided to support a range of publishing options for environments that suffer from connectivity or performance problems. Service engagements are possible when custom software is required.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;./anynews_homescreen_cubanet.jpg&#34; alt=&#34;AnyNews Home Screen&#34; width=&#34;380px&#34; height=&#34;800px&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;product-concept&#34;&gt;Product Concept&lt;/h2&gt;

&lt;p&gt;Content providers of all types are confronted with a diversity of censorship and network-disruption regimes around the world, with widely-varying political and social forces involved, and manifesting a bewildering array of content access issues to users.  Further, within a given community, independent individuals are impacted by political and social forces in different ways.  In such an environment, it has been a difficult technical struggle to stand up censorship resilient services that provide an easy, understandable user experience while also satisfying the heavy security and privacy demands of the most heavily-impacted users.  New thinking is required to avoid the nightmare scenario of costly and slow application development focused on the most challenging technical demands while, in doing so, alienating many others who give up in frustration and put themselves at risk.&lt;/p&gt;

&lt;p&gt;AnyNews is an open source software project that incorporates a variety of censorship-resistant technologies to mitigate these threats and does so in a way that is responsive to a wider range of use cases.&lt;/p&gt;

&lt;h2 id=&#34;core-capability&#34;&gt;Core Capability&lt;/h2&gt;

&lt;p&gt;AnyNews is designed for information publication - a one-way, source-to-user interaction - using news feed technologies. The published content can be text, media (imagery, audio, video) or a combination.  Information is typically organized by reverse chronology and/or defined categories.  Most common publication formats are already integrated.  The AnyNews Web Client updates its content regularly without user interaction. Changes to your edition of the AnyNews application occur automatically and immediately upon publication without requiring a special user interaction.&lt;/p&gt;

&lt;p&gt;The AnyNews Web Client is a &amp;ldquo;news reader&amp;rdquo; type application pre-configured to read a single feed, or a defined set (typically, as offered by a single publisher, with a single publisher&amp;rsquo;s branding). The user experience is clear and straight-forward but offers full-integrated media play and features like saving and sharing.  Internationalization of the application is easily accommodated.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;./anynews_media_playlist.jpg&#34; alt=&#34;AnyNews Media Playlist Screen&#34; width=&#34;380px&#34; height=&#34;800px&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;supported-content-formats&#34;&gt;Supported Content Formats&lt;/h2&gt;

&lt;p&gt;AnyNews has built-in support for &lt;a href=&#34;https://validator.w3.org/feed/docs/rss1.html&#34;&gt;RSS 1.0&lt;/a&gt;, &lt;a href=&#34;https://cyber.harvard.edu/rss/rss.html&#34;&gt;RSS 2.0&lt;/a&gt;, and &lt;a href=&#34;https://www.tutorialspoint.com/rss/what-is-atom.htm&#34;&gt;ATOM 1.0&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Publishers with customized versions of these formats, RDF, NewsML, JSON, XML or later versions of ATOM (such as OData.org&amp;rsquo;s &lt;a href=&#34;https://www.odata.org/documentation/odata-version-3-0/atom-format/&#34;&gt;version&lt;/a&gt;) can be supported via a service engagement in one of two ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Modification of our deployment/mirroring tools to convert the published format to one of our supported formats (fastest, cheapest approach)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Modify the AnyNews Web Client to support the custom format (slower, costlier approach better suited to engagements where the Web Client itself is almost being customized)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;circumvention-in-the-anynews-web-client&#34;&gt;Circumvention in the AnyNews Web Client&lt;/h2&gt;

&lt;p&gt;The AnyNews Web Client is built using Progressive Web App (PWA) technology.  While on the one hand accessing the AnyNews Web Client feels like accessing a web page in the browser, the AnyNews Web Client is saved to the device’s home screen on first use and, henceforth, acts like a native application.  With this approach, users don&amp;rsquo;t visit their vendor&amp;rsquo;s app store (which might censor your app or be otherwise unaccessible in their country). AnyNews Web Client technology also allows automatic update of the app without app store access or (in the case of Apple/iOS) app store approval.&lt;/p&gt;

&lt;p&gt;Within the AnyNews Web Client itself, censorship or surveillance can be mitigated with optional CDN mirroring.  The Web Client is initially configured to retrieve from one or more mirror sites, each user selecting a mirror randomly on initial startup and then re-trying from the set in random-round-robin style if/when the initial mirror fails.  These hosts can be on different CDN providers and/or in different geographies.  The actual set of mirroring hosts can be changed over time and automatically updated to the AnyNews Web Client.  For some content providers, it is also useful to host the AnyNews Web Client itself on a CDN mirror as well.&lt;/p&gt;

&lt;h2 id=&#34;serving-marginalized-communities&#34;&gt;Serving Marginalized Communities&lt;/h2&gt;

&lt;p&gt;AnyNews provides tools to pre-process news content for delivery to community-centered hubs at the very edge of the network in places where Internet connectivity for individuals is poor, non-existent or expensive, or under circumstances of natural disaster that make individual connection to the network impossible. These tools can be used to re-publish content to a laptop, tablet or IoT device as small as a Raspberry Pi powered by solar panels and with a highly-intermittent Internet connection.&lt;/p&gt;

&lt;h2 id=&#34;native-application-wrappers&#34;&gt;Native Application &amp;ldquo;Wrappers&amp;rdquo;&lt;/h2&gt;

&lt;p&gt;It&amp;rsquo;s possible to produce versions of the AnyNews Web Client &lt;em&gt;wrapped&lt;/em&gt; in a native (iOS, Android) application layer for delivery to users via the App Stores.  While the App Stores are sometimes subject to censorship, most users are more familiar with this model for acquiring applications and may have a greater sense of trust in applications delivered in that way.&lt;/p&gt;

&lt;p&gt;On Google’s Android, two additional circumvention technologies can be integrated in the native application:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Integration with Tor via Guardian Project’s &lt;em&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34;&gt;Orbot&lt;/a&gt;, Tor for Android&lt;/em&gt;. The AnyNews Android app checks for the presence of Orbot on the user’s device and automatically configures itself to run using Orbot when present.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Integration with Clostra&amp;rsquo;s &lt;em&gt;&lt;a href=&#34;https://www.clostra.com/newnode-mesh-network&#34;&gt;NewNode technology&lt;/a&gt;&lt;/em&gt;.  NewNode is automatically activated at start-up if Orbot is not present on the device.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As we are working through some operating system limitations, our AnyNews native app for iOS does not offer circumvention technologies beyond the mirroring capabilities in the PWA.&lt;/p&gt;

&lt;p&gt;Our tools for building the native app wrappers are not ready for public consumption at this point, so native wrappers are an optional part of Anynews and available via service engagement.&lt;/p&gt;

&lt;h2 id=&#34;repository&#34;&gt;Repository&lt;/h2&gt;

&lt;p&gt;The AnyNews repositories are &lt;a href=&#34;https://gitlab.com/guardianproject/anynews&#34;&gt;HERE&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;issue-trackers&#34;&gt;Issue Trackers&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/guardianproject/anynews/anynews-web-client/-/issues&#34;&gt;AnyNews Web Client Issue Tracker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/guardianproject/anynews/AnyNews-Republisher/-/issues&#34;&gt;AnyNews Republisher Issue Tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;

&lt;p&gt;AnyNews is released under &lt;a href=&#34;https://www.gnu.org/licenses/gpl-3.0.txt&#34;&gt;GNU Public License v3.0&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;service-engagement-opportunities&#34;&gt;Service Engagement Opportunities&lt;/h2&gt;

&lt;p&gt;AnyNews is open source.  We’ve documented the steps you’ll need to make AnyNews work with your content and simplify deployment. If you&amp;rsquo;d prefer help in developing your AnyNews strategy, we can assist.  Engagement types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Assistance with Open Source&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Branding-only Engagement&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Deployment Strategy Engagement&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Customization Engagement (customized Web Clients or news source customizations)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Native App &amp;ldquo;Wrappers&amp;rdquo;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Long-term Deployment Support&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;acknowledgements&#34;&gt;Acknowledgements&lt;/h2&gt;

&lt;p&gt;Guardian Project thanks the &lt;a href=&#34;https://www.opentech.fund/&#34;&gt;Open Technology Fund&lt;/a&gt;, via it&amp;rsquo;s &lt;a href=&#34;https://www.opentech.fund/labs/engineering-lab/&#34;&gt;Engineering Lab&lt;/a&gt;, for funding the improvements in AnyNews that led to this release.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IETF112 - Meeting Update (November 2021)</title>
      <link>https://guardianproject.info/2021/11/24/ietf112-meeting-update-november-2021/</link>
      <pubDate>Wed, 24 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/11/24/ietf112-meeting-update-november-2021/</guid>
      <description>

&lt;p&gt;The 112th meeting of the Internet Engineering Task Force (IETF) took place November 8-12, 2021 - as a virtual event for the sixth time in succession due to the COVID-19 pandemic. Here’s a summary of the work I found important to the Internet Freedom community.&lt;/p&gt;

&lt;h2 id=&#34;privacy-preserving-measurement&#34;&gt;Privacy Preserving Measurement&lt;/h2&gt;

&lt;p&gt;While we often (rightly) focus on unwanted surveillance of targeted individuals by nation-states and other bad actors, the Internet’s surveillance economy presents a major threat to personal privacy and freedom for all users of the Internet, as Mozilla so aptly describes on &lt;a href=&#34;https://wiki.mozilla.org/State_Of_The_Internet/Surveillance_Economy&#34;&gt;this wiki page&lt;/a&gt;. Since IETF significantly boosted its focus on privacy at IETF105 (July 2019, where privacy was the &lt;a href=&#34;https://datatracker.ietf.org/meeting/105/materials/slides-105-ietf-sesse-privacy-modern-concerns-steven-m-bellovin-00&#34;&gt;plenary topic&lt;/a&gt;), participants at both research and engineering levels have begun to address this problem - initially with research studies and statements of requirements, and then with proposals.  Later we’ll discuss proposals that try to offer more anonymity in the way users access the Internet. But new at this conference was a Birds of a Feather session formed around the idea of &lt;a href=&#34;https://datatracker.ietf.org/doc/bofreq-privacy-preserving-measurement/&#34;&gt;Privacy Preserving Measurement&lt;/a&gt; (PPM) and led by Mozilla’s Eric Rescorla who has collected significant thoughts and technical ideas &lt;a href=&#34;https://educatedguesswork.org/tags/privacy%20preserving%20measurement/&#34;&gt;here&lt;/a&gt;.  This thinking would insert a layer of protection between end users and the data collection infrastructure in a way that would significantly impact the bad (for privacy) practices of current-term measurement tools - over-collection, under-protection and deep-interlinking.  An architecture for PPM was proposed and, as there was significant interest from IETF attendees, a Working Group is being established to undertake the technical effort.  There is a future work effort here to understand how this work overlaps or dove-tails with &lt;a href=&#34;https://cleaninsights.org&#34;&gt;CleanInsights&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;oh-hi-oblivious-http-application-intermediation&#34;&gt;Oh, Hi! (Oblivious HTTP Application Intermediation)&lt;/h2&gt;

&lt;p&gt;Representative of over-collection, under-protection and deep-interlinking is the common practice of linking together sequences of interactions within or across services.  Particularly pernicious are interactions with the DNS (the centralized monitor that can easily catalog all the sites a user visits when name resolution is requested) but the problem generalizes to other core services as well as simple browsing.  While services like Tor work to make the practice of linkage difficult, this approach shares a fingerprint with bots and attackers, inducing providers to, at minimum, make the anonymous user experience difficult.  &lt;a href=&#34;https://datatracker.ietf.org/wg/ohai/about/&#34;&gt;Oblivious HTTP Application Intermediation&lt;/a&gt; (OHAI) is a new Working Group addressing the problem of request linking in a manner that reduces the negative experience for users while keeping the bots at bay.   The Working Group’s initial focus will not be safe browsing, however.  It will instead focus on generalizing the earlier work on DNS over HTTPS (&lt;a href=&#34;https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-10.html&#34;&gt;DoH&lt;/a&gt;) and an earlier &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-pauly-dprive-oblivious-doh/&#34;&gt;proposal&lt;/a&gt; specific to DNS.&lt;/p&gt;

&lt;h2 id=&#34;ip-address-privacy&#34;&gt;IP Address Privacy&lt;/h2&gt;

&lt;p&gt;The network addressing mechanism used by the Internet Protocol was among the most innovative concepts of the early Internet.  But the Internet’s pioneers did not anticipate that, over time, the IP address would become an enforcement mechanism for censors and state prosecutors as well as the most attractive tracking token for the surveillance economy.  IETF has &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ip-address-privacy-considerations/&#34;&gt;begun an investigation&lt;/a&gt; into this problem.  The &lt;a href=&#34;https://www.broadband-forum.org&#34;&gt;Broadband Forum&lt;/a&gt; - whose manufacturers provide the majority of WiFi access points to the Internet - has undertaken its own study, to be published in 2022.  Both studies catalog the abuses themselves and the technically-sound and unsound ways in which the IP address is currently put to use in managing networks.  Separately, CDN provider Cloudflare has been researching &lt;a href=&#34;https://blog.cloudflare.com/addressing-agility/&#34;&gt;Addressing Agility&lt;/a&gt; (decoupling IP addresses from DNS domain names, at Internet scale, on the server side).  This latter effort points the way to at least one approach for curbing IP address abuse, though no concrete proposals have yet been brought to IETF.&lt;/p&gt;

&lt;h2 id=&#34;masque-multiplexed-application-substrate-over-quic-encryption&#34;&gt;MASQUE (Multiplexed Application Substrate over QUIC Encryption)&lt;/h2&gt;

&lt;p&gt;QUIC (&lt;a href=&#34;https://datatracker.ietf.org/wg/quic/about/&#34;&gt;the protocol&lt;/a&gt;) and MASQUE (a &lt;a href=&#34;https://datatracker.ietf.org/wg/masque/documents/&#34;&gt;set of activities&lt;/a&gt; to formalize the legitimate ways in which network traffic can be proxied using QUIC’s enhanced performance, security and privacy) are now mainstay IETF activities.  Of importance at IETF112, this question: Do QUIC and MASQUE, taken together, represent a mechanism that creates an overlay atop the heritage Internet?  And if so, what does that (or will that) mean?  An oversimplified pessimistic view is that these tools can be used to eliminate the (public) Internet in favor of an oligopoly of private networks that will, among themselves, define the rules for how they interconnect and how users connect to them.  An oversimplified optimistic view is that the same tools can be used to prevent such an oligopoly and enhance the public Internet (in fact, University of California Berkeley-affiliated researchers presented some work promoting &lt;a href=&#34;https://ccronline.sigcomm.org/2021/revitalizing-the-public-internet-by-making-it-extensible/&#34;&gt;a similar plan&lt;/a&gt;).  Is this where the &lt;em&gt;long Internet&lt;/em&gt; battle is going to be fought?&lt;/p&gt;

&lt;h2 id=&#34;closing-thoughts&#34;&gt;Closing Thoughts&lt;/h2&gt;

&lt;p&gt;I’m ten conferences into my participation at IETF, and there are certainly patterns forming. Focusing solely on Internet Freedom, one can fairly ask if the kinds of solutions we see proposed at IETF are the right ones.  Is IETF the right forum for making decisions about planet-wide human freedom of communication and interaction? Or is IETF too compromised by its constituent organizations?  Or, rather, does that make IETF the perfect place to address the key technical questions in our increasingly-technical world?  The only certainty would seem to be that participation in this forum is the best way to understand how the situation is evolving and what avenues are available to have a voice in that evolution.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The IETF and Internet Freedom</title>
      <link>https://guardianproject.info/2021/10/18/the-ietf-and-internet-freedom/</link>
      <pubDate>Mon, 18 Oct 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/10/18/the-ietf-and-internet-freedom/</guid>
      <description>

&lt;p&gt;It seems useful to clarify the relationship between the near-term work of keeping the Internet open on a daily basis - work that dominates the efforts of the Internet Freedom community - and the long term work of the industry on crafting operational standards for the same network.&lt;/p&gt;

&lt;p&gt;Those involved in Internet Freedom are typically focused on the “problems of today”, creating solutions using existing technologies offering immediate effect.  Often, it’s hard to tell if Internet standards are helping, hurting, or just in the way.  However, looking back at the (roughly) 15-year history of Internet Freedom work, it’s useful to recognize the many times we’ve said to ourselves “*Gosh, I would have done that differently if I’d had a chance to think about it*”.&lt;/p&gt;

&lt;p&gt;The standards bodies offer one mechanism for broad deliberation on what it means to have the opportunity of a universally-accessible Internet.  There’s a lot of time to “*think about it*”, there’s input from many stakeholders and broad involvement in getting the final document &amp;ndash; the standard &amp;ndash; written.   For several years now, members of the Internet Freedom community have been asking themselves if such a process is useful in their context.  It’s easy to imagine, for example, that if the community had spent even a small effort over fifteen years voicing its concerns over, and hopes for, Internet Freedom to the right standards bodies, there might be more … Internet freedom.   We’re testing that theory now, taking part in the activities of the &lt;a href=&#34;https://www.ietf.org&#34;&gt;Internet Engineering Task Force&lt;/a&gt; (IETF).&lt;/p&gt;

&lt;h2 id=&#34;what-is-the-ietf&#34;&gt;What is the IETF?&lt;/h2&gt;

&lt;p&gt;Since 1993 the IETF has operated as the standards-development body of the Internet under the auspices of the Internet Society, an international membership-based non-profit organization.  The IETF is the formal successor to similar (but smaller) bodies - based in the United States - that participated in orchestrating and managing the deployment of the Internet after 1981, when the original research project (&lt;a href=&#34;https://en.wikipedia.org/wiki/ARPANET&#34;&gt;ARPANet&lt;/a&gt;) was expanded into the global scientific community.   The Internet became a fully public entity in the mid-1990s.&lt;/p&gt;

&lt;p&gt;The IETF is organized into informal topic-based discussion groups (“birds of a feather”, BoFs) and formal “working groups”. Membership in these groups is open to the public, both for in-person and mailing-list participation.  International participation is encouraged.  The IETF operates, formally, in an inclusive manner and maintains a strict code-of-conduct for its activities that encourages “small voices” to participate.  The IETF operates in a bottom-up manner for idea development and task-creation, largely driven by these groups.  The Internet Architecture Board (&lt;a href=&#34;https://en.wikipedia.org/wiki/Internet_Architecture_Board&#34;&gt;IAB&lt;/a&gt;) plays a modest role in defining vision and strategy.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Rough_consensus&#34;&gt;Rough consensus&lt;/a&gt; is the primary basis for decision making. There are no formal voting procedures. An important part of rough consensus is demonstrated interoperability among independently-developed implementations of proposed standards.  Generally speaking, as work moves from “idea” toward “standard”, the act of clarifying the idea is informed by the act of implementing it.  In the early years of the IETF, this approach was unique among standards bodies.&lt;/p&gt;

&lt;p&gt;While the details of IETF operations have changed considerably over time, the basic mechanism remains: (1) publication of a proposed specification, (2) development of software based on the proposal, (3) review and independent testing by participants, and (4) republication as a revised proposal, a draft standard, and possible, eventually as an Internet standard. Two types of working document are available: the Internet Draft (generally speaking, the idea) and the Request for Comment (generally speaking, the standard).  It is perhaps a credit to the spirit of iterative improvement through constant testing and discussion that IETF’s completed documents are not titled “Internet Standard”.&lt;/p&gt;

&lt;p&gt;An allied organization within IETF is the Internet Research Task Force (&lt;a href=&#34;https://irtf.org/&#34;&gt;IRTF&lt;/a&gt;) that promotes longer-term research on the evolution of the Internet.  Made up largely of academic researchers, IRTF operates in a manner that brings cutting edge research into the decision-making processes of IETF activities.&lt;/p&gt;

&lt;h2 id=&#34;who-s-who-at-ietf&#34;&gt;Who’s Who at IETF?&lt;/h2&gt;

&lt;p&gt;The modern IETF is composed of technical representatives from commercial vendors, academic researchers, researchers and advocates from non-profit entities and independent “concerned citizens”.   While the IETF’s modern code of conduct makes it possible for anyone to attend a meeting or mailing list and have a voice in the conversation, the IETF remains an “implementation-centric” forum.  That is, “talk is cheap” and ideas have to be implementable - or have impact on implementations - to be considered for standardization.  Thus, individuals and organizations who are successful within IETF are able to both espouse their ideas and “code them up” (or, at minimum, understand the process of coding them and the hard problems that arise from coding them).   Experience shows, however, that these criteria still allow for a broad range of meaningful participation and impact.&lt;/p&gt;

&lt;p&gt;IETF now has the Human Rights Protocol Considerations (&lt;a href=&#34;https://datatracker.ietf.org/rg/hrpc/about/&#34;&gt;HRPC&lt;/a&gt;) research group (chartered in 2017) monitoring and informing IETF working groups.  HRPC draws its mission directly from RFC 1958 (“Architectural Principles of the Internet”, 1996).  Key participants include both technical people and rights advocates.&lt;/p&gt;

&lt;p&gt;The Internet Architecture Board (IAB) has, as of 2019, given considerable attention to the problem of privacy (as distinct from the IETF’s successful, long-duration work on security).  The Privacy Enhancements and Assessment Research Group (&lt;a href=&#34;https://datatracker.ietf.org/rg/pearg/about/&#34;&gt;PEARG&lt;/a&gt;) brings important research activities on privacy to the IETF.&lt;/p&gt;

&lt;h2 id=&#34;what-are-some-memorable-ietf-standards&#34;&gt;What are some memorable IETF standards?&lt;/h2&gt;

&lt;p&gt;The specifications for Internet Protocol (IP, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc791&#34;&gt;RFC 791&lt;/a&gt; in 1981), Transmission Control Protocol (TCP, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc793&#34;&gt;RFC 793&lt;/a&gt; in 1981) and Hypertext Transfer Protocol (HTTP, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc1945&#34;&gt;RFC 1945&lt;/a&gt; in 1996) are the foundation of the modern Internet.&lt;/p&gt;

&lt;p&gt;The most significant update to the foundational protocols is Quick UDP Internet Connections (QUIC, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc9000&#34;&gt;RFC 9000&lt;/a&gt; in 2016), a new “hybrid” transport protocol informed by the evolved use cases impacting TCP.&lt;/p&gt;

&lt;p&gt;The most significant technical update, in terms of the Internet Freedom community’s interest, was Transport Layer Security Version 1.0 (TLS, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc2246&#34;&gt;RFC 2246&lt;/a&gt; in 1999) and its improved form, Version 1.1 (&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc4346&#34;&gt;RFC 4346&lt;/a&gt; in 2006).  Two important “Best Current Practice” pieces impacting Internet Freedom are &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc7258&#34;&gt;RFC 7258&lt;/a&gt; “Pervasive Monitoring Is An Attack” and &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-irtf-hrpc-guidelines/&#34;&gt;draft-irtf-hrpc-guidelines-10&lt;/a&gt; “Guidelines for Human Rights Protocol and Architecture Considerations”.  These works have stimulated a significant portion of IETF&amp;rsquo;s activity on privacy and Internet accessibility.&lt;/p&gt;

&lt;h2 id=&#34;among-the-current-work-of-ietf-what-is-most-important-to-the-internet-freedom-community&#34;&gt;Among the current work of IETF, what is most important to the Internet Freedom community?&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TLS 1.3 (&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc8446&#34;&gt;RFC 8446&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Transmission Control Protocol (TCP) was designed for long-lived connections between clients and servers.  HTTP broke that in a big way and Transport Layer Security (TLS) magnified the problem further, with the two biggest challenges being the lengthy setup (or “handshake”) phase and the negotiation of cryptographic modes and strategies, many of which quickly went out of date.  TLS 1.3 is an effort to mitigate these challenges with so-called Zero-RTT.   More importantly, TLS 1.3 fixes a few security flaws created by wrong assumptions made in earlier designs.  See below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-tls-esni/&#34;&gt;ECH / eSNI&lt;/a&gt; (draft)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Encrypted Client Hello (ECH/ECHo) is successor work to the earlier Encrypted Server Name Identifier (eSNI) effort.  Security requirements evolve as bad actors get smarter.  While the designers of TLS thought they’d made the transport layer “secure” (thus, the name), several omissions were quickly spotted.  Among these was the public visibility of the requested server name (the SNI).  A plan was put forward to encrypt the SNI, but quickly that too became insufficient and a plan was advanced to encrypt the entire “client hello” message - that is, all the data that exists about the attempted connection before the actual encrypted session begins.&lt;/p&gt;

&lt;p&gt;ECH/eSNI has its opponents, of course.  TLS 1.3 is already blocked in specific geographies because of this feature.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS Security (&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc7858&#34;&gt;DoT&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc8484&#34;&gt;DoH&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/wg/dnssec/charter/&#34;&gt;DNSSEC&lt;/a&gt;, &lt;a href=&#34;https://datatracker.ietf.org/doc/html/draft-pauly-dprive-oblivious-doh-04.html&#34;&gt;Oblivious DNS&lt;/a&gt;, Private DNS, etc)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A key benefit of the Internet over pre-existing networking techniques was the ability to address servers using human-readable names.  Old-schoolers recognize this was, in fact, a late-arriving component of the Internet protocols and, in some minds, handled in an ill-considered manner.  That skepticism has been borne out in numerous failures of the Domain Name Service (DNS) and, in more recent times, the way in which DNS has been co-opted by national authorities in certain geographies - malicious operators of the DNS can know all the servers/services you visit based solely on the server names you want resolved.&lt;/p&gt;

&lt;p&gt;There are many schemes being advanced to improve this situation.  Private DNS abrogates the architected “hierarchy of authority” built into the original DNS (which is the part that’s been broken by malicious providers) and implies “trust Google” or “trust Cloudflare”.  DNSSEC is a collection of small, but meaningful, improvements to the DNS implementation aimed at sealing off the (many) leaks of metadata found in the original DNS design.  DNS-over-HTTP (DoH) and DNS-over-TLS (DoT) provide ways for an individual user’s web browser to select a trustworthy DNS provider (like the Private DNS providers) and ask them to do their lookups over a secure link.  ObliviousDNS could (in theory) remove even the need to have a trusted provider (though it adds the idea of a “trusted proxy”.  A further advantage with ObliviousDNS (and the other “Oblivious” proposals, and the reason for the term) is that the user’s IP address is not leaked either (the bugaboo of most other privacy schemes being proposed in standards bodies).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://datatracker.ietf.org/wg/privacypass/about/&#34;&gt;Privacy Pass&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bots, it seems, have taken over the Internet.  Automated programs submit billions of requests to websites, probing in most cases for weaknesses or purposely attempting to flood the system.  With provision of most web content now in the hands of a tiny number of content delivery networks, those networks put up defenses in the form of “roadblocks” that only humans can cross.  This has become overbearing on some services, to the frustration of users.  One attempted solution is Privacy Pass.  The idea is to provide valid users (who’ve successfully crossed the roadblock once) with a token that can be presented on many future accesses so the roadblock is not in their way again.  A key criteria for this token, however, is that it can not be used to identify and track an individual (human) across their access to many sites served by the content delivery network.  If implemented properly, Privacy Pass could be a big win for users who don’t want their access tracked and monitored.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Messaging Layer Security (&lt;a href=&#34;https://datatracker.ietf.org/wg/mls/about/&#34;&gt;MLS&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, while secure messaging systems exist, the mechanisms by which they implement security for “group messaging” (greater than 2 parties) are typically divergent from standards, layered in a proprietary way on top of standards, or do not scale to large conversations.  MLS is an activity designed to improve this situation by applying the lessons (good and bad) learned with TLS.  MLS also hopes to achieve what has now been defined as a modern level of security and privacy (thanks to the Signal team who raised the bar quite high).  MLS defines both an architecture and protocol that would standardize the way privacy and security are provided, with room for future upgrade, without denying the individuality of each service and that application-level feature demands of the different user groups.&lt;/p&gt;

&lt;h2 id=&#34;what-are-the-limits-to-ietf-s-effectiveness&#34;&gt;What are the limits to IETF’s effectiveness?&lt;/h2&gt;

&lt;p&gt;We should reject the idea that “the standards process is too slow”.  IETF’s method of working dramatically speeds up the standards process while still allowing for as much disagreement and clarification as required for a standard to be considered “deliberative”.  Further, the end result of IETF standardization is not only a descriptive document, but multiple interoperable implementations of that document’s standard.  Again, that’s another big difference between IETF and the strictly “declarative” standards bodies.  With few exceptions, IETF has avoided the problems of too-early standardization based on a fad or a reaction, while still being responsive to perceived needs - be they technical or social/cultural.&lt;/p&gt;

&lt;p&gt;There is, however, the Hammer/Nail analogy: when you’re a hammer, everything looks like a nail.  The IETF solves problems using the Internet infrastructure, even when certain problems might be better solved elsewhere, or in ways that are not infrastructural.&lt;/p&gt;

&lt;h2 id=&#34;what-is-the-most-important-problem-to-internet-freedom-facing-ietf-today&#34;&gt;What is the most important problem (to Internet Freedom) facing IETF today?&lt;/h2&gt;

&lt;p&gt;There appears to be broad agreement that the most important problem facing the IETF is “The Problem of Centralization”.&lt;/p&gt;

&lt;p&gt;Centralization initially arose in the hardware sense as the mesh of routers that connect the Internet fell into fewer and fewer hands.  This happened “innocently”, over time, and in the name of cost efficiency.  But this slow change violated one of the fundamental design strengths of the Internet’s original core architecture: resilience.  In recent times, there has been a strong tendency for nation-states to acquire tight control over the gateway routers that allow traffic into and out of their geographic area, further decreasing the resiliency of the Internet and serving as a vehicle for censorship and mass surveillance.&lt;/p&gt;

&lt;p&gt;This problem has been further complicated and accelerated by the development of data centers of unimagined scale and worldwide presence whose internal operations are largely opaque and filled with “middle boxes” performing specialized tasks.  Unfortunately, the presence of these “middle boxes” can slow the pace of technological change.&lt;/p&gt;

&lt;p&gt;Lastly, and mostly unimagined at the dawn of the Internet, a small set of application software service providers has come to dominate Internet traffic and exercise an oversized amount of influence on the way users perceive the Internet or are allowed access to its resources.&lt;/p&gt;

&lt;p&gt;The problem of centralization is magnified at IETF due to the organization’s inherent nature of “defining the Internet”.  Its solutions are “large scale” and large scale solutions by definition fall into the hands of the largest organizations.  Thus, it can sometimes seem that the IETF has moved far from the founding principles of decentralized, decoupled, cooperative, associative solutions that characterized the original Internet.&lt;/p&gt;

&lt;p&gt;However, sometimes it takes a pendulum-swing of the magnitude we now see to drive people to action.  And, by nature, IETF has a constantly-evolving but actively-engaged community.  The “big names” of thirty years ago have significantly less presence today.  There is hope, thus, that a new community of people who care about the problem of centralization will rise up to make their voices heard.  Indeed, there are signs this is already happening.&lt;/p&gt;

&lt;p&gt;Formally, the IRTF’s &lt;a href=&#34;https://datatracker.ietf.org/rg/dinrg/history/&#34;&gt;Decentralized Internet Infrastructure Research Group&lt;/a&gt; was chartered in September 2017 to address the interest of infrastructure centralization.  Parallel (and in a way orthogonal) advancements in blockchain technology, distributed hash tables and decentralized cryptographic authority are creating what is effectively an “overlay network” on top of the Internet as defined by the IETF.  Colloquially, it’s being called &lt;a href=&#34;https://www.forbes.com/sites/forbestechcouncil/2020/01/06/what-is-web-3-0/?sh=4002a4bc58df&#34;&gt;Web 3.0&lt;/a&gt;.  These activities have forced IETF to take notice.&lt;/p&gt;

&lt;h2 id=&#34;what-s-next-in-our-ietf-participation&#34;&gt;What’s next in our IETF participation?&lt;/h2&gt;

&lt;p&gt;Monitoring IETF activities - bringing that knowledge to the teams doing current-term Internet Freedom work - and presenting the current-term work of the Internet Freedom community to the IETF - has begun to bear fruit in terms of synergy between the two approaches to keeping the Internet open.  Discussion, however, will probably not be enough.&lt;/p&gt;

&lt;p&gt;Another important way the community might participate is active (and early) involvement in the implementation of important IETF proposals.  Doing so would give the Internet Freedom community a “seat at the table” where core problems and concerns arise and where key decisions are made.   The Internet Freedom community brings extensive expertise in open source software development, a counterpoint to the mostly closed-source implementations undertaken by the IETF’s vendor organizations.  The benefits of transparency and loosely-coupled cooperation - so key to the most successful software projects that built the Internet - are difficult to overstate in this context.&lt;/p&gt;

&lt;p&gt;Certain of these efforts are already underway - ECH, and specifically the &lt;a href=&#34;https://defo.ie&#34;&gt;DEfO&lt;/a&gt; project, is an example - and the impact this is having on key pieces of “infrastructural” open source software (the Apache web server, the OpenSSL security layer, for example) is important.  Keeping open source software current and “in tune” with developing standards may be the best way to “square the circle” of Internet freedom work &amp;ndash; assuring that solutions to the problems and challenges of today lead to the creation of a better Internet for the future.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Haven</title>
      <link>https://guardianproject.info/apps/org.havenapp.main/</link>
      <pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.havenapp.main/</guid>
      <description></description>
    </item>
    
    <item>
      <title>ObscuraCam: The Privacy Camera</title>
      <link>https://guardianproject.info/apps/org.witness.sscphase1/</link>
      <pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/org.witness.sscphase1/</guid>
      <description></description>
    </item>
    
    <item>
      <title>New insights into clean analytics</title>
      <link>https://guardianproject.info/2021/03/02/new-insights-into-clean-analytics/</link>
      <pubDate>Tue, 02 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/03/02/new-insights-into-clean-analytics/</guid>
      <description>

&lt;p&gt;There is a giant problem with the &amp;ldquo;collect it all&amp;rdquo; status quo that pervades on the Internet, this has been clear for a long time.  Tracking people has become so &lt;a href=&#34;https://www.ghostery.com/study/&#34;&gt;widespread&lt;/a&gt; that &lt;a href=&#34;https://noyb.eu&#34;&gt;organizations&lt;/a&gt;, &lt;a href=&#34;https://f-droid.org&#34;&gt;communities&lt;/a&gt;, &lt;a href=&#34;https://exodus-privacy.eu.org&#34;&gt;projects&lt;/a&gt; and &lt;a href=&#34;https://privacylab.yale.edu/&#34;&gt;university&lt;/a&gt; &lt;a href=&#34;https://privacylab.at&#34;&gt;labs&lt;/a&gt; have sprung up dedicated to detecting and publicizing their presence.  Data and analytics are clearly useful for software creators and funders, but they also easily lead to harming people&amp;rsquo;s privacy and well-being.  The past year of work on Clean Insights has clarified our goals to make analytics possible without injuring the very people we aim to serve.  Clean Insights takes the world of data analytics and turns it on its head.   The Clean Insights approach starts with thinking about the data, then choosing only the data that is clearly safe to use.  A user&amp;rsquo;s location, complete device description, or other identifying information is dangerous to gather.  A simple count of how many times a feature was used, or a webpage was visited, can be gathered without links to people.&lt;/p&gt;

&lt;p&gt;There are some widely known efforts for preserving privacy when doing analytics.  The most famous is perhaps &amp;ldquo;&lt;a href=&#34;https://en.wikipedia.org/wiki/Differential_privacy&#34;&gt;differential privacy&lt;/a&gt;&amp;rdquo;, which is used by the US Census Bureau and Apple.  This approach has certain assumptions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personally Identifiable Information (PII) is collected and stored.&lt;/li&gt;
&lt;li&gt;A legal compliance team reviews the legal ramifications of storing PII.&lt;/li&gt;
&lt;li&gt;A security team defends the stored data.&lt;/li&gt;
&lt;li&gt;Administrative staff handles compliance with data regulations.&lt;/li&gt;
&lt;li&gt;A PR team to do outreach when PII is leaked or spilled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These assumptions are only possible for large, well-funded organizations to fulfill.  Apple already has extensive staff around the world to handle all this.  A dissident newspaper from a small country does not.  Metrics are nonetheless valuable for this dissident newspaper, and for so many other small- and medium-sized organizations.  So Clean Insights starts with different core assumptions that are much more broadly applicable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;As little data as possible is stored to reduce the security and leakage risks.&lt;/li&gt;
&lt;li&gt;The stored data does not reveal identities if made public.&lt;/li&gt;
&lt;li&gt;Legal review is reduced as much as possible.&lt;/li&gt;
&lt;li&gt;No expensive computing resources required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://www.accessnow.org/understanding-differential-privacy-matters-digital-rights/&#34;&gt;&lt;img src=&#34;local-vs-global.png&#34; alt=&#34;Clean Insights vs differential privacy&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;starting-out-with-clean-insights&#34;&gt;Starting out with Clean Insights&lt;/h2&gt;

&lt;p&gt;In order to make the Clean Insights approach work, it must start with &lt;a href=&#34;https://gitlab.com/cleaninsights/clean-insights-design/-/blob/master/docs/Clean%20Insights%20-%20%20Feb%202020.pdf&#34;&gt;thinking about the data&lt;/a&gt;.  When setting up metrics and analytics, there is a natural temptation to want to have all the information.  We recommend starting with a very small set of safe measurements as a way to avoid temptation, which might lead the project into hazardous ground.  For web server logs, start by eliminating the PII at the source: use a privacy log configuration for &lt;a href=&#34;https://guardianproject.info/2017/06/08/tracking-usage-without-tracking-people/&#34;&gt;Apache&lt;/a&gt; or &lt;a href=&#34;https://f-droid.org/2019/04/15/privacy-preserving-analytics.html&#34;&gt;NGINX&lt;/a&gt;. Or use a &lt;a href=&#34;https://gitweb.torproject.org/webstats.git/tree/src/sanitize.py&#34;&gt;sanitizing script&lt;/a&gt;.  For other scenarios, do a quick review and see what kinds of counts can be easily and safely gathered and start with those.  These are not always easy questions to answer.  What kind of data is available?  What can that data actually tell us?  What are the risks of gathering and storing that data?  One of the safest types of useful data is simple counts of events.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many times did an image fail to download?&lt;/li&gt;
&lt;li&gt;How many conversations do users have open?&lt;/li&gt;
&lt;li&gt;How many notifications are swiped away without being viewed?&lt;/li&gt;
&lt;li&gt;How long did users wait for Tor to be available?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The existing analytics tools skirt this step, instead making it easy to gather as much as possible.  They can then rapidly display all sorts of pretty graphs and charts derived from the data.  That points to another key problem with the status quo in metrics: the emphasis on what it easy to represent.  When there is a big pile of &amp;ldquo;collect it all&amp;rdquo; data, there are many views that analytics packages instantly provide.  This is often in conflict with what is actually valuable.  These instant graphs oversimplify things, making it easy to forget that good metrics come from first thinking in depth about the problems that can be solved by metrics.  The old adage is &lt;a href=&#34;https://en.wikipedia.org/wiki/Garbage_in,_garbage_out&#34;&gt;garbage in, garbage out&lt;/a&gt;.  Data about campaigns that is easy to graph may end up leading the effort astray if the valuable metrics are hidden behind lots of pretty charts that distract.&lt;/p&gt;

&lt;p&gt;One recent example of gathering less data is GitHub: they recently &amp;ldquo;&lt;a href=&#34;GitHub got rid of cookie consent screen https://www.theregister.com/2020/12/17/github_will_no_longer_present/&#34;&gt;removed all non-essential cookies&lt;/a&gt;&amp;rdquo;.  Their analytics did not need the extra data those cookies provided.  On top of that, using such tracking methods now requires an &lt;a href=&#34;https://www.smashingmagazine.com/2021/03/state-gdpr-2021-cookie-consent-designers-developers/&#34;&gt;extensive and complicated&lt;/a&gt; design process.&lt;/p&gt;

&lt;h2 id=&#34;stored-data-needs-maintenance&#34;&gt;Stored data needs maintenance&lt;/h2&gt;

&lt;p&gt;Large collections of PII are valuable to others besides the software designers.  Databases are routinely stolen.  Tracking is also very useful to attackers to find their targets.  PII is also key for building a social graph,  which can be used to uncover networks of dissidents.  Or sometimes it is just vandalism, and the private data is simply dumped onto the open internet.&lt;/p&gt;

&lt;p&gt;Then there are data regulations like the EU&amp;rsquo;s GDPR.  They require that services turn over all the user&amp;rsquo;s personal data when they request it.  Users can also request that their data be deleted.  Implementing such a system is a chunk of work.  First, figure out up front what data is being either deliberately or inadvertently collected. Then compare that to which data is actually technically required.  From that perspective, it is possible to eliminate the need for a complicated system managing user data by ensuring that PII is not gathered at all.  That can also eliminate unwanted surprises down the line. If you find out after years of running a service that you have been collecting personal data, and users make requests, you might suddenly have a pile of work tracking down all that data and assembling it for delivery to the user.  A bug in that system could then leak data to the wrong user, which can lead to large fines from regulators.&lt;/p&gt;

&lt;h2 id=&#34;measure-responsibly&#34;&gt;Measure responsibly&lt;/h2&gt;

&lt;p&gt;Even with all these methods to do metrics more responsibly, the question remains: does it need to be measured?  There are working projects that have achieved widespread adoption and usage without tracking users.  Debian and F-Droid have risen while not really gathering many metrics at all.  It is not always a simple question: so many important problems require grant funding to solve.  Yet many funders require extensive metrics.  Digital privacy tools have been largely funded by governments, from Tor to Signal.   Governments should measure and evaluate the projects they are funding.  Governments should also be open about the data they have.  The well-established methods governments use to track projects require lots of data, including PII.  This is a catch-22 when working on software privacy, where the goal is to make it impossible to gather PII.  Government-funded agencies like &lt;a href=&#34;https://opentech.fund&#34;&gt;OTF&lt;/a&gt; funded so many key privacy tools. They put a lot of work into running government-funded grants without requirements to track their users.  This meant pushing back against the US Federal Government&amp;rsquo;s widespread policies about measurement and evaluation.  Using metrics based on safe data sources means projects can provide useful analytics and strong privacy at the same time.  Even when considering that usability and user research are &lt;a href=&#34;https://guardianproject.info/2021/02/18/usability-the-wonderful-powerful-idea-that-betrayed-us/&#34;&gt;central&lt;/a&gt; to driving the big tracking companies&amp;rsquo; ever expanding data collection, we believe that usability and user research can still be done responsibly.  It is possible to use data to inform UX Design without tracking people at all.  As these techniques are widely adopted, they will also help designers focus on what is most important, thereby delivering better digital experiences for users.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Usability: the wonderful, powerful idea that betrayed us</title>
      <link>https://guardianproject.info/2021/02/18/usability-the-wonderful-powerful-idea-that-betrayed-us/</link>
      <pubDate>Thu, 18 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/02/18/usability-the-wonderful-powerful-idea-that-betrayed-us/</guid>
      <description>

&lt;p&gt;Usability triggered a revolution in computing, taking arcane number crunching machines and making them essential tools in so many human endeavors, even those that have little to do with mathematics.  It turned the traditional design approach on its head.  Initially, experts first built a system then trained users to follow it. User experience design starts with goals, observes how people actually think and act in the relevant context, then designs around those observations, and tests with users to ensure it fits the users&amp;rsquo; understanding.  These ideas were pioneered in the Silicon Valley. This was driven by the unusual confluence of a pioneering spirit and deep engineering skills. That merged with a strong &lt;a href=&#34;https://en.wikipedia.org/wiki/Midpeninsula_Free_University&#34;&gt;counter&lt;/a&gt;-&lt;a href=&#34;https://en.wikipedia.org/wiki/Homebrew_Computer_Club&#34;&gt;culture&lt;/a&gt; looking to &lt;a href=&#34;https://en.wikipedia.org/wiki/People%27s_Computer_Company&#34;&gt;empower&lt;/a&gt; individuals and communities. So much of the best of digital technology has its roots in these ideas.  I feel fortunate to have grown up immersed in these ideas in the Silicon Valley of the 70s and 80s, and still feel that sense of idealism that these ideas can truly make the world a better place.&lt;/p&gt;

&lt;p&gt;Unfortunately, &amp;ldquo;making the world a better place&amp;rdquo; has become a catch phrase.  It is now mostly associated with single-minded investors (aka Venture Capitalists) looking to make money as fast as possible. One key piece is inspiring engineers to work non-stop by constantly telling them they are doing something valuable.  Yet another social media doodad monetized by &lt;a href=&#34;https://en.wikipedia.org/wiki/Surveillance_capitalism&#34;&gt;surveillance capitalism&lt;/a&gt; is clearly the opposite of making the world a better place.  On top of that, these now well honed ideas of usability are widely used to &lt;a href=&#34;https://www.vox.com/2018/2/27/17053758/phone-addictive-design-google-apple&#34;&gt;make&lt;/a&gt; &lt;a href=&#34;https://dl.acm.org/doi/10.1145/2254129.2254137&#34;&gt;digital media&lt;/a&gt; technology &lt;a href=&#34;https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0180094&#34;&gt;literally&lt;/a&gt; an &lt;a href=&#34;https://psycnet.apa.org/doiLanding?doi=10.1037%2Fadb0000379&#34;&gt;addictive&lt;/a&gt; &lt;a href=&#34;http://rali.bournemouth.ac.uk/wp-content/uploads/2015/03/raian_ali_et_al_2015_refsq_the_emerging_requirement_for_digital_addiction_labels.pdf&#34;&gt;drug&lt;/a&gt; so that wealthy investors can make money even faster.  The rise of usability parallels the rise of surveillance capitalism.  These two support each other and feed off of each other.  Software must be fluid and easy in order to become addictive.  Even if the task at hand is mundane: just keep clicking,  look at the pretty animations, and keep following the likes!  The Silicon Valley &lt;a href=&#34;https://www.thesocialdilemma.com/&#34;&gt;insiders&lt;/a&gt; &lt;a href=&#34;https://vimeo.com/462049229&#34;&gt;know&lt;/a&gt; how destructive their wares are, &lt;a href=&#34;https://www.businessinsider.de/international/silicon-valley-parents-raising-their-kids-tech-free-red-flag-2018-2/&#34;&gt;they ban their own children from using them&lt;/a&gt; while continuing to sell them to the world.&lt;/p&gt;

&lt;p&gt;Those of us who still truly believe in usability as a potential force of good are left feeling used and abused, wondering what on earth we can now do to stop the monster we helped create.  Tools and design processes can be used for both good and evil.  It is important to note that does not mean technology is neutral. &amp;ldquo;&lt;a href=&#34;https://weaponsofmathdestructionbook.com/&#34;&gt;Algorithms are opinions embedded in code&lt;/a&gt;&amp;rdquo;.  Basically all &lt;a href=&#34;https://medium.com/thoughts-and-reflections/racial-bias-and-gender-bias-examples-in-ai-systems-7211e4c166a1&#34;&gt;technologies&lt;/a&gt; &lt;a href=&#34;https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing&#34;&gt;have&lt;/a&gt; &lt;a href=&#34;https://peopleofcolorintech.com/articles/recognizing-cultural-bias-in-ai/&#34;&gt;a bias&lt;/a&gt;, and the designers of those technologies have power to affect those biases.  When someone designs a knife for use in the kitchen, it looks quite different than a knife designed to attack other humans.  Of course, both can be used to attack people, but its much easier to attack with the switchblade, and a switchblade is a bad kitchen tool.  Using &lt;a href=&#34;https://www.interaction-design.org/courses/gamification-creating-addictive-user-experience&#34;&gt;addictive design&lt;/a&gt;, we have been sold on the idea that a switchblade is an all-purpose tool.&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;!-- --&gt;&lt;/th&gt;
&lt;th&gt;&lt;!-- --&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&#34;paringknife.jpg&#34; alt=&#34;paring knife&#34; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;switchblade.jpg&#34; alt=&#34;switchblade&#34; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Like social media, a hammer is great when you need it, but otherwise should be left in the toolbox.  The &lt;a href=&#34;http://openresearch.ocadu.ca/id/eprint/1743/ - http://openresearch.ocadu.ca/id/eprint/1743/7/Hsu_Cheryl_2017_MDES_SFI_MRP.pdf&#34;&gt;tools&lt;/a&gt; of addictive design have convinced us to constantly carry our hammer around.  It buzzes in our pocket, nagging us to try it out in just about any context.  It uses our innate human desire for social approval to reward us whenever we use the hammer.  Now its use is so widespread, wielding the hammer no longer looks out of context.  There are people hammering while eating, working, walking, talking, and even in the bathroom.&lt;/p&gt;

&lt;h2 id=&#34;meet-usability-s-offspring-surveillance-capitalism&#34;&gt;Meet Usability’s Offspring: Surveillance Capitalism&lt;/h2&gt;

&lt;p&gt;Mobile phones could truly benefit people, but it is nearly impossible to open your phone to do one thing.  Apps and ads immediately compete for your attention and time.  Posting updates to family and friends happens through Facebook.  Search, maps, and many other activities happen through Google. YouTube steers us to watch another video.  Facebook inserts itself into our personal relationships.  All of these are designed to keep you using them more and more, since that is how those companies make money.  These services are built on usability, which causes us to use them more and more.  &lt;strong&gt;Remember, with surveillance capitalism, the users are &lt;a href=&#34;https://quoteinvestigator.com/2017/07/16/product/&#34;&gt;not the customer, they are the product&lt;/a&gt;.&lt;/strong&gt;  So those companies are using usability design to figure out how to keep users &amp;ldquo;engaged&amp;rdquo;, meaning using that platform as much as possible.  That is the design problem they are solving.  &lt;strong&gt;When the user is the customer, that can look very different.&lt;/strong&gt;  WhatsApp became massively popular with a business model of charging a dollar a year, regardless of usage. Their users were also their customers. Now &lt;a href=&#34;https://arstechnica.com/tech-policy/2021/01/whatsapp-users-must-share-their-data-with-facebook-or-stop-using-the-app/&#34;&gt;Facebook&lt;/a&gt; aims to change all that, and WhatsApp users &lt;a href=&#34;https://www.bloomberg.com/news/articles/2021-01-11/why-whatsapp-s-privacy-rules-sparked-moves-to-rivals-quicktake&#34;&gt;do not like it&lt;/a&gt;.  Turns out it is very difficult to compete with free, so responsible business models are at a tremendous disadvantage.  And many WhatsApp users are now &lt;a href=&#34;https://www.nytimes.com/2021/01/13/technology/telegram-signal-apps-big-tech.html&#34;&gt;flooding to Signal&lt;/a&gt;, which is a non-profit foundation working to survive on donations.&lt;/p&gt;

&lt;p&gt;Foundations and governments need to measure and evaluate the projects that they fund, and they are starting to request surveillance capitalism techniques from the projects they fund.  Schools are using web services that use addictive design, ostensibly to help kids learn, but are nonetheless getting kids hooked.   Metrics are central to addictive design, it is based on tracking actual people and what keeps their attention.  A/B testing provides a rapid way to test how to suck people in.  &lt;a href=&#34;https://en.wikipedia.org/wiki/Recommender_system&#34;&gt;Recommender systems&lt;/a&gt; are very effective at getting users to click on the next video or post.  For those kinds of predictions to work, they first need a lot of data about how lots of people respond.&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&amp;ldquo;&lt;a href=&#34;http://openresearch.ocadu.ca/id/eprint/1743/7/Hsu_Cheryl_2017_MDES_SFI_MRP.pdf&#34;&gt;how designers shift the burden of responsibility through design&lt;/a&gt;&amp;ldquo;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;http://openresearch.ocadu.ca/id/eprint/1743/7/Hsu_Cheryl_2017_MDES_SFI_MRP.pdf&#34;&gt;&lt;img src=&#34;shifting-responsibility.png&#34; alt=&#34;how designers shift the burden of responsibility through design&#34; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&#34;data-driven-design-is-dangerous-and-powerful&#34;&gt;Data-driven design is dangerous and powerful&lt;/h2&gt;

&lt;p&gt;Data-driven design can also be used to find the borders of what things they will tolerate beyond things in their interest.  For example, so many software business models involve offering a service without payment, then finding ways to get the users to pay.  This can be with their data or by upselling.  An ethical approach to this kind of business model is to clearly define upfront what types of things require payment.  Unfortunately, a more common approach is to &lt;a href=&#34;https://www.nirandfar.com/want-to-hook-your-users-drive-them-crazy/&#34;&gt;first get users hooked&lt;/a&gt; on the service without paying.  Getting users hooked is offered as a design service, the design equivalent of someone pushing addictive drugs.  Once hooked, when the cost of migrating away from the tool is high, hit users with payment requirements.  Using data-driven design, a service can measure that response in detail.  Tracking all the users provides even better targeting of users based on profiling them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data-driven design is clearly powerful but it need not lead to harmful practices.&lt;/strong&gt;  Usage data can let small organizations effectively direct resources to the areas of biggest need.  Crash report analytics quickly point out important bugs that otherwise would have taken days or weeks of effort to track down.  Neither of these need data about people to be effective techniques.&lt;/p&gt;

&lt;h2 id=&#34;measure-effectiveness-rather-than-engagement&#34;&gt;Measure effectiveness rather than &amp;ldquo;engagement&amp;rdquo;&lt;/h2&gt;

&lt;p&gt;The best mobile software would be designed to make users spend as little time as possible using it.  This is hard to measure.  Users who find the software difficult to use would also use it as little as possible.  We need to figure out how to measure that difference.  Once we do, we can begin to understand what makes a good design in which people use the tool to efficiently solve a problem, then put the tool away once they are done. I think this is one of the biggest questions we can now work on as part of our work on Clean Insights.  It is clear that learning to measure effectiveness will not be easy.  Creating the discipline of &lt;a href=&#34;https://en.wikipedia.org/wiki/User_experience_design&#34;&gt;user experience design&lt;/a&gt; was also not.  After thinking about human-computer interaction and usability for over 25 years, I watched these ideas go from a nice idea to the dominant paradigm.  &lt;strong&gt;It is clearly possible to reclaim usability by thinking ethically about how data is collected and used.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One key thing that makes user-centered design work so well is the cycle of research, design, implementation and testing.  This is akin to scientific experiments, where there is a hypothesis that is tested.  It can happen so fast because it can be decentralized and pieced out into a wide range of scales. User-focused design starts by trying to solve a problem, and iterates to continually improve.  The goals often change as well, in response to new use cases, business models, technologies, and even product goals.&lt;/p&gt;

&lt;p&gt;So often, the central focus shifts from real needs to keeping users &amp;ldquo;engaged&amp;rdquo;.  Designing for engagement shifts the focus away from the task at hand, and instead is about making people use the software as much as possible.  That distracts from providing solutions that reduce the time the user needs to complete a task.  For example, no one is asking for software to help them send and receive ever more messages.  The goal is effective communication and organization.  If software is really addressing that need, that means users will spend less and less time using that communication tool.  That is in direct conflict with a design process focused on &amp;ldquo;engagement&amp;rdquo;, which pushes for as much eyeball time as possible.   The same design thinking based on psychology used in addictive design can also be used to actively &lt;a href=&#34;https://www.researchgate.net/profile/Aditya-Purohit-4/publication/340903372_Designing_for_Digital_Detox_Making_Social_Media_Less_Addictive_with_Digital_Nudges/links/5ea3740ea6fdccd7945168ae/Designing-for-Digital-Detox-Making-Social-Media-Less-Addictive-with-Digital-Nudges.pdf&#34;&gt;avoid addictive qualities&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As long as a person is being tracked and profiled, there is an inevitable pull towards trying to keep that person &amp;ldquo;engaged&amp;rdquo;.  If the data is instead about actions, not people, then the emphasis is on what the user wants to achieve.  Billions have been spent on learning how to effectively track people, that does not need to be thrown away.  The analytics software can be retooled to focus on usage rather than people.  Responsible collection of usage data is the clear place to start in order to shift from &amp;ldquo;engagement&amp;rdquo; to effectiveness.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Clean Insights: February 2021 Update on Privacy-Preserving Measurement</title>
      <link>https://guardianproject.info/2021/02/10/clean-insights-february-2021-update-on-privacy-preserving-measurement/</link>
      <pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2021/02/10/clean-insights-february-2021-update-on-privacy-preserving-measurement/</guid>
      <description>&lt;p&gt;Greetings, all. I hope this finds you healthy and well, finding ways to enjoy the season (whichever it may be). While everyday still provides new challenges in the life of our team at Guardian Project, we continue to strive to be productive as productive as we can be in our professional and personal lives.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ve just posted an updated presentation on &lt;a href=&#34;https://cleaninsights.org&#34;&gt;Clean Insights&lt;/a&gt;, reflecting on the symposium in May, and the work we have done since then. You can see and share it from here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=vo6FI-WDLG0&#34;&gt;Watch update on YouTube&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;You can also listen to this update on the &lt;a href=&#34;https://guardianproject.info/podcast/2021/clean-insights-update.html&#34;&gt;Guardian Project Podcast&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to &lt;a href=&#34;https://die.netzarchitekten.com/&#34;&gt;Benjamin Erhart&lt;/a&gt;, our lead developer on Clean Insights, we&amp;rsquo;ve made substantial progress over the last few months on delivering our new software development kits. If you visit our Gitlab project page, you will find design documents and SDKs for Android, iOS, Javascript (both for desktop and web) and soon Python (Thanks, to &lt;a href=&#34;https://irl.xyz&#34;&gt;Iain Learmonth&lt;/a&gt; for this contribution). While this work is ongoing, the code is stable, and we feel it is ready to start getting it into all of your hands, so that you can start asking all the questions we have yet to consider.&lt;br /&gt;
&lt;a href=&#34;https://gitlab.com/cleaninsights&#34;&gt;Clean Insights on Gitlab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is an example of how easy it is to implement a measurement of a specific event or a visit to certain view in your app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/cleaninsights/clean-insights-android-sdk/-/blob/master/app/src/main/java/org/cleaninsights/example/Main2Activity.java#L48&#34;&gt;Sample code for Android integration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are still relying on Matomo as our backend aggregator, analysis tool and dashboard, and it continues to work well enough for our 1.0 solution. That said, to enhance the privacy of Clean Insight-enabled clients, we&amp;rsquo;ve design and implemented a proxy service, the &lt;a href=&#34;https://gitlab.com/cleaninsights/clean-insights-matomo-proxy&#34;&gt;Clean Insights Matomo Proxy&lt;/a&gt;. The CIMP reduces the amount of metadata and logging that Matomo can do, since it is only communicate to directly by the no-logging proxy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/cleaninsights/clean-insights-matomo-proxy&#34;&gt;Clean Insights Matomo Proxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this software is available for you to implement and deploy on your own. We also have a public testbed and hosted service available at &lt;a href=&#34;https://metrics.cleaninsights.org&#34;&gt;https://metrics.cleaninsights.org&lt;/a&gt; that we can make available for anyone who isn&amp;rsquo;t able to run and maintain their own instance. We can also assist you with considering the insights you want to gain, threat modeling the risks it poses to your users, and implementing the SDK into your software, be it a mobile app, web app, desktop app, back-end service or operating system. Our deisgn partners at Okthanks also have a variety of concepts and soon sample projects and code for implementing effective and ethical Consent UX to achieve the right kind of &amp;ldquo;opt-in&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;Please reach out if you have interest in using Clean Insights. We have weekly scrum meetings, email lists and a public discussion room on the Matrix
network. More info on these on the &lt;a href=&#34;https://cleaninsights.org/dev&#34;&gt;Developer Page&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>New Data Sources: API Key Identifiers and BroadcastReceiver Declarations</title>
      <link>https://guardianproject.info/2020/12/15/new-data-sources-api-key-identifiers-and-broadcastreceiver-declarations/</link>
      <pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/12/15/new-data-sources-api-key-identifiers-and-broadcastreceiver-declarations/</guid>
      <description>

&lt;p&gt;A central focus of the &lt;a href=&#34;https://gitlab.com/trackingthetrackers/wiki&#34;&gt;Tracking the
Trackers&lt;/a&gt; project has
been to find simple ways to detect whether a given Android APK app
file contains code which tracks the user.  The ideal scenario is a
simple program that can scan the APK and tell a non-technical user
whether it contains trackers, but as decades of experience with
anti-virus and malware scanners have clearly demonstrated, scanners
will always contain a large degree of approximation and guesswork.
Tracking the Trackers grew out of experiments in using machine
learning to detect malware.  This provided the spark to apply this to
privacy issues.&lt;/p&gt;

&lt;p&gt;The malware research clearly demonstrates that network domain names
and code signatures are quite reliable techniques for identifying
malware.  This also applies to tracking, since the majority of
tracking happens via tracking companies&amp;rsquo; SDKs which send data to
specific domain names.  The hard part is that code signatures and
domain names are not easy to reliably extract, and are often easy to
obfuscate when someone is looking to hide what an app is actually
doing.  This is common in malware, and we are also starting to see
obfuscation in the world of tracking.&lt;/p&gt;

&lt;p&gt;Android gives us a break with its
&lt;a href=&#34;https://developer.android.com/guide/topics/manifest/manifest-intro&#34;&gt;&lt;em&gt;AndroidManifest.xml&lt;/em&gt;&lt;/a&gt;.
It is a hard requirement for Android apps so it is always there, it
contains some key declarations that set up how the code is run, and it
is easy to extract and parse.  So we put extra effort in thinking
about the data that is contained in the &lt;em&gt;AndroidManifest.xml&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Towards the goal of simple scanners for tracking, we are excited by
two new data sources that we found in the &lt;em&gt;AndroidManifest.xml&lt;/em&gt; that
are useful signals for automatically detecting tracking in Android
apps: API Key Identifiers and &lt;em&gt;BroadcastReceiver&lt;/em&gt; Declarations.&lt;/p&gt;

&lt;h3 id=&#34;api-key-identifiers&#34;&gt;API Key Identifiers&lt;/h3&gt;

&lt;p&gt;Tracking services provide their customers with servers to submit the
data for processing and analytics.  These are usually part of the
service&amp;rsquo;s API.  A common pattern for publicly accessible network APIs
is to require the use of an API Key.  This key grants access to the
service and provides an unique identifier for the customer so that the
submitted data goes to the right place.  In order to submit the key to
the API, the key data must be identified to the server somehow.  That
is the API Key Identifier.  This is generally something that never
changes, since changing it could mean locking out all customers.  For
example, &lt;a href=&#34;https://developers.google.com/android/reference/com/google/android/gms/analytics/Tracker&#34;&gt;Google Firebase
Analytics&lt;/a&gt;
has used &lt;code&gt;ga_trackingId&lt;/code&gt; as its API Key Identifier for many years. API
Key Identifiers are a great way to track trackers.  They are tiny and
easy to extract.  Most services require them.  The entire set that we
have found is small enough to fit into a single machine learning
search space.  And it is quite unlikely that an app would include them
by accident or without having set up a tracking service.&lt;/p&gt;

&lt;p&gt;We also found &lt;a href=&#34;https://github.com/Exodus-Privacy/etip/issues/62#issuecomment-613964965&#34;&gt;some
evidence&lt;/a&gt;
of obfuscated API Key Identifiers, the source has not yet been
identified.  We found many API Key Identifiers that were not the same
but matched a pattern.  This pattern looks like it could be encoding
some information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;tt&gt;com.APpuz.lHMBA142332.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;com.BCcyZzWehh.IOfazFfwIH109433.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;com.CDwo.buYv134822.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;com.DErSuvPp.bEyhwTQb93737.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;com.EOoOEpvG.ZuepOuto31966.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;com.FIKDGlAZIZ.vrlGNzSLEm110206.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;com.GicPdlXU.iXbdAAkA69030.APIKEY&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;API Key Identifiers are now &lt;a href=&#34;https://github.com/Exodus-Privacy/etip/issues/62&#34;&gt;included as a data
point&lt;/a&gt; gathered in
&lt;a href=&#34;https://guardianproject.info/2020/12/11/%CE%B5xodus-etip-the-canonical-database-for-tracking-trackers/&#34;&gt;Exodus ETIP&lt;/a&gt;.
If you have some clues about any of this, please &lt;a href=&#34;https://gitlab.com/trackingthetrackers/wiki/-/issues/6&#34;&gt;let us
know&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;broadcastreceiver-declarations&#34;&gt;&lt;em&gt;BroadcastReceiver&lt;/em&gt; Declarations&lt;/h3&gt;

&lt;p&gt;In Android, apps and the
&lt;a href=&#34;https://developer.android.com/about/versions/11/reference/broadcast-intents-30&#34;&gt;system&lt;/a&gt;
can publicly broadcast events, and any app can listen for these
events.  Some of these events contain detailed information, like the
&lt;a href=&#34;https://gitlab.com/trackingthetrackers/wiki/-/issues/5&#34;&gt;complete metadata&lt;/a&gt;
about which song is currently playing.  Charging and battery status
can be used to
&lt;a href=&#34;https://blog.lukaszolejnik.com/battery-status-readout-as-a-privacy-risk/&#34;&gt;re-identify users&lt;/a&gt;.
These broadcast events are generic Android &lt;code&gt;Intents&lt;/code&gt; which an app
registers a receiver by name in order to get the info when it is sent.
The specific pieces of interest are the
&lt;em&gt;&lt;a href=&#34;https://developer.android.com/reference/android/content/BroadcastReceiver&#34;&gt;BroadcastReceiver&lt;/a&gt;
&lt;a href=&#34;https://developer.android.com/reference/android/content/IntentFilter&#34;&gt;IntentFilter&lt;/a&gt;
&lt;a href=&#34;https://developer.android.com/guide/components/intents-filters#Building&#34;&gt;Action&lt;/a&gt;&lt;/em&gt;
names.&lt;/p&gt;

&lt;p&gt;Like other bits in the &lt;em&gt;AndroidManifest.xml&lt;/em&gt;, the &lt;em&gt;BroadcastReceiver&lt;/em&gt;
Declarations are easy to extract.  Unfortunately, &lt;em&gt;BroadcastReceiver&lt;/em&gt;
Declarations are not nearly has definitive when it comes to marking
tracking.  They are still worth including, since they are easy to
extract, and the whole set of unique, extracted names is small enough
to be used as a search space for the machine learning.&lt;/p&gt;

&lt;p&gt;The scope of how apps can receive data via &lt;em&gt;BroadcastReceivers&lt;/em&gt; was
also recently
&lt;a href=&#34;https://developer.android.com/about/versions/oreo/background#broadcasts&#34;&gt;narrowed&lt;/a&gt;
to a large degree by Google, due to privacy concerns.  The upside is
that apps cannot receive system-wide broadcasts unless they are
already running.  The downside is that scanners have to do static code
analysis, and perhaps even dynamic analysis, in order to see which
&lt;em&gt;BroadcastReceiver IntentFilter Action&lt;/em&gt; names an app has declared.&lt;/p&gt;

&lt;h2 id=&#34;usage-considerations&#34;&gt;Usage Considerations&lt;/h2&gt;

&lt;p&gt;The possibility of false positives is still there.  For example, if
someone makes a &amp;ldquo;build flavor&amp;rdquo; that builds without tracker SDKs but
forgets to exclude the API Key Identifiers, then a simple scanner will
flag this as tracking, even though it could not be.  The tracker SDK
is not included, which is the code that gathers and uploads the
tracking data.  In this example, the developer can easily fix it after
a scanner flags the app as a tracker, by moving the API key
configuration out of the &amp;ldquo;build flavor&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;A trickier case to review is when an app includes opt-in tracking.  We
believe that opt-in tracking and data reporting should not be flagged
as a tracker, especially when the opt-in user experience makes it
clear to the user what data is being gathered, and under what
condition it is being sent.  In that case, the simple scanner will
flag the app, since it contains the API Key Identifier.&lt;/p&gt;

&lt;p&gt;This is why we think that machine learning is very promising for
tracking apps that track us.  There are many good signals, but none of
them definitely mark an app as a tracker.  They must always be
considered as a group with the whole picture, and given well-labeled
data, machine learning can do this kind of task quite accurately.&lt;/p&gt;

&lt;h2 id=&#34;join-the-hunt&#34;&gt;Join the Hunt!&lt;/h2&gt;

&lt;p&gt;Finding API Key Identifiers is work that can be done in bite-sized
pieces, by people in their spare time.  Many if not most tracker SDKs
require API keys in order to use their service, so start by looking
through &lt;a href=&#34;https://etip.exodus-privacy.eu.org/trackers/all&#34;&gt;ETIP&lt;/a&gt; for
entries that are missing &lt;code&gt;Api_key_ids&lt;/code&gt; entries.  Usually, this is
documented in their SDK developer documentation.  There are also many
SDKs which set the API Key via a &lt;a href=&#34;https://github.com/Exodus-Privacy/etip/issues/62#issuecomment-598272804&#34;&gt;method
call&lt;/a&gt;
rather than a declaration in an XML file.  In that case, the API Key
Identifier might be found by reading the strings out of the JAR
file. We also welcome more information about &lt;em&gt;BroadcastReceiver&lt;/em&gt;
declarations.  We are tracking new data sources and approaches in our
&lt;a href=&#34;https://gitlab.com/trackingthetrackers/wiki/-/issues&#34;&gt;issue tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For any kind of mass scanning to be usable, future work should focus
on expanding the set of easy to extract features, and finding which of
those are useful.  Complicated and resource-intensive extractions like
domain names, code signatures, and source/sink tracing still hold
promise for delivering high accuracy, but would likely remain only
useful when scanning individual or small sets of apps.&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;This work was supported by NLnet&amp;rsquo;s &lt;a href=&#34;https://nlnet.nl/thema/NGIZeroPET.html&#34;&gt;NGI Zero PET&lt;/a&gt; fund.&lt;/em&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Save</title>
      <link>https://guardianproject.info/apps/net.opendasharchive.openarchive.release/</link>
      <pubDate>Sat, 12 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/net.opendasharchive.openarchive.release/</guid>
      <description></description>
    </item>
    
    <item>
      <title>εxodus ETIP: The Canonical Database for Tracking Trackers</title>
      <link>https://guardianproject.info/2020/12/11/%CE%B5xodus-etip-the-canonical-database-for-tracking-trackers/</link>
      <pubDate>Fri, 11 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/12/11/%CE%B5xodus-etip-the-canonical-database-for-tracking-trackers/</guid>
      <description>

&lt;p&gt;There is a new story to add to the list of horrors of &lt;a href=&#34;https://en.wikipedia.org/wiki/Surveillance_capitalism&#34;&gt;Surveillance Capitalism&lt;/a&gt;: the United States&amp;rsquo; Military is &lt;a href=&#34;https://www.vice.com/en/article/jgqm5x/us-military-location-data-xmode-locate-x&#34;&gt;purchasing tracking and location data&lt;/a&gt; from companies that track many millions of people.  We believe the best solution starts with making people aware of the problem, with tools like &lt;a href=&#34;https://exodus-privacy.eu.org/&#34;&gt;Exodus Privacy&lt;/a&gt;.  Then they must have real options for stepping out of &amp;ldquo;big tech&amp;rdquo;, &lt;a href=&#34;https://www.theguardian.com/technology/2017/nov/28/android-apps-third-party-tracker-google-privacy-security-yale-university&#34;&gt;where tracking dominates&lt;/a&gt;.  &lt;a href=&#34;https://f-droid.org&#34;&gt;F-Droid&lt;/a&gt; provides Android apps that are reviewed for tracking and other &lt;a href=&#34;https://f-droid.org/en/docs/Anti-Features/&#34;&gt;&amp;ldquo;anti-features&amp;rdquo;&lt;/a&gt;, and F-Droid is built into mobile platforms like &lt;a href=&#34;https://calyxos.org/&#34;&gt;CalyxOS&lt;/a&gt; that are free of proprietary, big tech software.&lt;/p&gt;

&lt;p&gt;Right now, the most effective method for automatically analyzing
Android APK files is to search for well known strings in the extracted
contents of the APK.  Domain names are one example, like if an app is
sending data to &lt;code&gt;google-analytics.com&lt;/code&gt; or &lt;code&gt;facebook.com&lt;/code&gt;, then it is
clear that it is doing some kind of tracking.  These lists of well
known strings must be created and managed by people, then gathered and
reviewed.  &lt;a href=&#34;https://exodus-privacy.eu.org/&#34;&gt;Exodus Privacy&lt;/a&gt; created
their &lt;a href=&#34;https://etip.exodus-privacy.eu.org/&#34;&gt;Exodus Tracker Investigation Platform
(ETIP)&lt;/a&gt; for exactly this purpose.  &lt;a href=&#34;https://github.com/YalePrivacyLab/tracker-profiles&#34;&gt;Yale Privacy Lab&lt;/a&gt;, &lt;a href=&#34;https://github.com/jawz101/potentialTrackers&#34;&gt;&lt;em&gt;jawz101&lt;/em&gt;&lt;/a&gt;, Guardian Project, F-Droid, and others have centralized their efforts on εxodus ETIP as the canonical database for these strings.&lt;/p&gt;

&lt;h2 id=&#34;searching-the-open-web-for-key-bits-of-info&#34;&gt;Searching the open web for key bits of info&lt;/h2&gt;

&lt;p&gt;Since tracking is mostly done by companies trying to get customers,
they advertise and document their services on the web.  We spent some
time searching for that information to see what we could find.  We
mostly searched using two bits of information: the API Key Identifiers
that we
&lt;a href=&#34;https://gitlab.com/trackingthetrackers/extracted-features/-/blob/master/axml-meta-data-run&#34;&gt;extracted&lt;/a&gt;
and &amp;ldquo;top 10&amp;rdquo; lists of companies that provide tracking and related
services.  From this, we added over 50 new service profiles to the
εxodus ETIP database.  We also added upwards of 100 pieces of
additional information to existing entries like SDK identity strings,
links to documentation, privacy policies, and information on the
company&amp;rsquo;s tracking methods.&lt;/p&gt;

&lt;p&gt;From that research, we saved some choice promises from selected tracking companies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Glassbox offers customer experience analytics solutions that
doesn’t just tell you what a customer is doing. It tells you why.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Target traffic from all sources, including the 50% from the hidden
web where third-party cookies are blocked, to increase targetable
inventory.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Collect customer and product data in real time, from anywhere&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;PlaytestCloud will capture the whole gameplay experience, turning
you into a spectator with super powers.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;We record the players’ screen, their touches and what they have to
say at all times.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;We curate geospatial ground truth data sets on a global scale&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Take segmentation and analysis from overnight to real-time. Our DMP
works in-session for perfect match rates even on passerby traffic.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;crowdsourcing-the-hunt-for-trackers&#34;&gt;Crowdsourcing the hunt for trackers&lt;/h2&gt;

&lt;p&gt;Tracking the trackers is the kind of work that fits in very well with
crowdsourcing.  Tracking companies are disappearing and renaming
themselves all the time, in order to avoid too much scrutiny.  But
they still must reach out to developers in order to find customers.
That means we can find them.  Join in the search!  Non-technical
people can also contribute, for example, when you read news about a
tracking company,
&lt;a href=&#34;https://etip.exodus-privacy.eu.org/trackers/all&#34;&gt;search&lt;/a&gt; to see if it
is already in ETIP.  If not, &lt;a href=&#34;https://github.com/Exodus-Privacy/etip/issues&#34;&gt;file an
issue&lt;/a&gt; to request it is
added. Android developers with little bits of spare time can add code
signatures, domain names, and other key technical details to ETIP.  Or
even &lt;a href=&#34;https://gitlab.com/trackingthetrackers/scripts/-/blob/master/find-ga_trackingId.py&#34;&gt;code up quick scripts&lt;/a&gt;
with new ideas for detecting tracking.&lt;/p&gt;

&lt;p&gt;There are a number of forums where you can ask for assistance in
getting started.  Hope to hear from you soon!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://exodus-privacy.eu.org/en/page/contribute/&#34;&gt;Contributing to Exodus Privacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://forum.f-droid.org&#34;&gt;F-Droid Forum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/about/#contact&#34;&gt;F-Droid chat rooms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;Guardian Project channels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(&lt;em&gt;This work was supported by NLnet&amp;rsquo;s &lt;a href=&#34;https://nlnet.nl/thema/NGIZeroPET.html&#34;&gt;NGI Zero PET&lt;/a&gt; fund.&lt;/em&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Distribution in Depth: Mirrors as a Source of Resiliency</title>
      <link>https://guardianproject.info/2020/12/07/distribution-in-depth-mirrors-as-a-source-of-resiliency/</link>
      <pubDate>Mon, 07 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/12/07/distribution-in-depth-mirrors-as-a-source-of-resiliency/</guid>
      <description>

&lt;p&gt;&lt;img src=&#34;distribution.png&#34; alt=&#34;distribution&#34; /&gt;&lt;/p&gt;

&lt;p&gt;There are many ways to get the apps and media, even when the Internet is expensive, slow, blocked, or even completely unavailable.  Censorshop circumvention tools from ShadowSocks to Pluggable Transports can evade blocks.  Sneakernets and &lt;a href=&#34;https://briarproject.org/how-it-works/&#34;&gt;nearby connections&lt;/a&gt; work without any network connection.   Hosting on Content Delivery Networks (CDNs) can make hosting drastically cheaper and faster.  One method that is often overlooked these days is repository mirrors.  Distribution setups that support mirrors give users the flexibility to find a huge array of solutions for problems when things are not just working.  Mirrors on local networks can be much cheaper. Mirrors in specific countries are often not blocked or filtered.  Mirrors can be copied onto portable storage and moved to where the users are.&lt;/p&gt;

&lt;p&gt;Repository mirrors are mostly associated with free software distribution.  Every major GNU/Linux distro, from &lt;a href=&#34;https://www.debian.org/mirror/list&#34;&gt;Debian&lt;/a&gt; to Red Hat, is available via mirrors.  Software collections like Android/Java&amp;rsquo;s &lt;a href=&#34;https://maven.apache.org/guides/mini/guide-mirror-settings.html&#34;&gt;Maven Central&lt;/a&gt; and Python&amp;rsquo;s &lt;a href=&#34;https://pip.pypa.io/en/stable/reference/pip_install/#install-index-url&#34;&gt;PyPI&lt;/a&gt; support mirrors as well.  &lt;a href=&#34;https://f-droid.org/docs/Running_a_Mirror/&#34;&gt;F-Droid&lt;/a&gt;&amp;rsquo;s infrastructure is also based on mirrors.  Free software repositories have proven so valuable, that there generally are mirrors maintained around the world.  Local mirrors of popular free software repositories are available in all continents, and most countries.&lt;/p&gt;

&lt;p&gt;Mirrors also add conceptual complexity to distribution. Users who are used to internet services that work without configuration could easily find discussion of mirrors confusing.  Mirrors also mean that more pieces of infrastructure need to be maintained.  When systems with mirrors are well organized, then this work can be broken into small chunks and widely shared, often even by volunteers, so that the overall system is resilient and maintainable even given limited resources.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:InternetPopulation2011_DeSabbata_Graham_OII.png&#34;&gt;&lt;img src=&#34;InternetPopulation2011_DeSabbata_Graham_OII.png&#34; alt=&#34;Internet Population&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;building-a-repository-mirror-system&#34;&gt;Building a repository mirror system&lt;/h2&gt;

&lt;p&gt;Good mirroring support must disconnect how the data is downloaded from how the data integrity is maintained.  That means data can come from anywhere, and still be properly verified before installing it.  This is usually done with an index of files signed by public key cryptography.  A system built on HTTPS and trusted servers is a bad candidate for mirroring.  This separation of concerns is a key property of distribution systems that allows them to be flexible while still providing fully verified distribution.&lt;/p&gt;

&lt;p&gt;Then, it must be easy for users to configure the mirrors in use.  First and foremost, mirrors should work without the user doing anything.  To ensure flexibility, they must be easy to add and remove, and new mirrors must be easy to find.  Both end users and repository operators should be able to specify mirrors to be used.  Legal requirements must also be heeded: the whole system should not require any service that might be legally questionable in any relevant jurisdiction.  EU users need GDPR-compliant services.  If the aim is to distribute in China, then the system cannot require Google Cloud Services.  Instead, it should also be able to go through cloud services available in China.&lt;/p&gt;

&lt;p&gt;There are many CDN providers around the world.  Many of these are in effect a mirroring service since they are pointed at a website hosted elsewhere, then they just cache the files.  Some of them are so cheap, that files can be hosted there without signing up.  This happens usually via source code repositories like GitHub.  For example, &lt;a href=&#34;https://rawgit.org/&#34;&gt;RawGit&lt;/a&gt; is an automatic, CloudFlare-based CDN for any public repository on GitHub, &lt;a href=&#34;https://gitlab.com&#34;&gt;gitlab.com&lt;/a&gt;, or BitBucket.  These fronting services are so cheap because they are basically only serving cached files.  Each given URL is set to be served from the cache for a long time, up to a year, without checking whether the file has changed.  In order to taken advantage of this kind of CDN setup, the repository must be designed accordingly.  That means each unique file should have a unchanging, unique URL.  There are two techniques for doing that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For software, include the version in the filename or path, e.g. &lt;code&gt;org.fdroid.fdroid_1001000.apk&lt;/code&gt; or &lt;code&gt;1.10/F-Droid.apk&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;For media, include the hash of the file in the filename or path, e.g. &lt;code&gt;icon_CQLCGleZNBzDPRNp1ADs121TecVHFmUbe-Au-4qXF08=.png&lt;/code&gt; or &lt;code&gt;CQLCGleZNBzDPRNp1ADs121TecVHFmUbe-Au-4qXF08=/icon.png&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Mirrors are like all internet services in that there are always potential &lt;a href=&#34;https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/&#34;&gt;privacy leaks&lt;/a&gt;.  To protect users&amp;rsquo; privacy, it is important to be conscious of the potential metadata that is visible in the system, and who can get that data.  For example, transport encryption (TLS, HTTPS, etc) should be used even though the signed index provides strong integrity checks in order to reduce metadata leaks.  Even with transport encryption, the oeprators of the mirrors themselves will still see the metadata.  When there are individual files that users can download, the mirror operators could see which user is downloading which file.  Metadata like the description of a movie file or the icon of an app will give away the user&amp;rsquo;s interests.  When possible, this metadata should be grouped to reduce the detail in the metadata.  Icons can be downloaded in random groups of 10.  Text descriptions can be grouped by language or other more neutral grouping.&lt;/p&gt;

&lt;h2 id=&#34;example-f-droid&#34;&gt;Example: F-Droid&lt;/h2&gt;

&lt;p&gt;F-Droid repositories, aka &amp;ldquo;&lt;em&gt;repos&lt;/em&gt;&amp;rdquo;, are collections of packages, mostly Android APK app files, which are organized in a single folder. That folder contains a signed index file which lists the entire contents and related metadata.  This includes descriptive texts, available graphics, etc.  This file structure is not tied to any particular transport method as long as the &lt;em&gt;repo/&lt;/em&gt; folder and index remain intact.  The client keeps the public key of the index signature locally, and uses that to verify the index file.  The index also includes a list of URLs pointing to official mirrors.  By default, repositories are served over HTTPS, but nothing in the repository structure requires that.  This allows F-Droid to use repositories from SD Cards and USB OTG thumb drives using &lt;code&gt;file:///&lt;/code&gt; URLs.  A mirror is then simply defined: a mirror is any available copy of a repository.  The mirror need not even be a complete copy, as long as the index and desired packages are present.&lt;/p&gt;

&lt;p&gt;F-Droid automatically handles much of the process of using the mirrors.  Each &lt;em&gt;repo&lt;/em&gt; can include a list of official mirrors in the index.  The F-Droid Android client will automatically use all of the official mirrors, automatically choosing one when downloading based on which is working.  The mirrors are still completely configurable.  Anyone can create their own mirror, either via the &lt;code&gt;fdroid mirror&lt;/code&gt; command for any &lt;em&gt;repo&lt;/em&gt;, or &lt;a href=&#34;https://f-droid.org/docs/Running_a_Mirror/&#34;&gt;via &lt;em&gt;rsync&lt;/em&gt;&lt;/a&gt; for &lt;em&gt;f-droid.org&lt;/em&gt;.  And F-Droid user can then &lt;a href=&#34;https://f-droid.org/tutorials/add-repo/&#34;&gt;&amp;ldquo;subscribe&amp;rdquo;&lt;/a&gt; to any mirror via the mirror URL.  Users can also disable any mirror from the repo&amp;rsquo;s details screen.&lt;/p&gt;

&lt;p&gt;&lt;center&gt;

&lt;link rel=&#34;stylesheet&#34; href=&#34;https://guardianproject.info/css/hugo-easy-gallery.css&#34; /&gt;
&lt;div class=&#34;box&#34; style=&#34;max-width:60%&#34;&gt;
  &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;
    &lt;div class=&#34;img&#34;&gt;
      &lt;img itemprop=&#34;thumbnail&#34; src=&#34;add-mirror.png&#34; alt=&#34;add-mirror.png&#34;/&gt;
    &lt;/div&gt;
    &lt;a href=&#34;add-mirror.png&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;
      &lt;figcaption&gt;&lt;h4&gt;click a link to add a new mirror&lt;/h4&gt;
      &lt;/figcaption&gt;
  &lt;/figure&gt;
&lt;/div&gt;

&lt;br /&gt;


&lt;div class=&#34;box&#34; style=&#34;max-width:60%&#34;&gt;
  &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;
    &lt;div class=&#34;img&#34;&gt;
      &lt;img itemprop=&#34;thumbnail&#34; src=&#34;disable-mirrors.png&#34; alt=&#34;disable-mirrors.png&#34;/&gt;
    &lt;/div&gt;
    &lt;a href=&#34;disable-mirrors.png&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;
      &lt;figcaption&gt;&lt;h4&gt;disabling selected mirrors&lt;/h4&gt;
      &lt;/figcaption&gt;
  &lt;/figure&gt;
&lt;/div&gt;

&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://guardianproject.info/fdroid/&#34;&gt;Guardian Project&lt;/a&gt; &lt;em&gt;repo&lt;/em&gt; includes many of these mirroring channels: Mayfirst webserver, Tor Onion Service, Amazon AWS S3, GitHub Pages, GitHub Raw (Fastly), gitlab.com (Google Cloud), GitCDN/RawGit/Cloudflare and of course SD Card and USB OTG drives.  F-Droid &lt;em&gt;repos&lt;/em&gt; are particularly well suited to this kind of mirroring since the files are available via URLs that do not change.  CDNs cache files by URL.  &lt;a href=&#34;https://f-droid.org&#34;&gt;f-droid.org&lt;/a&gt; is mirrored by free software mirror providers around the world, including &lt;a href=&#34;https://mirrors.tuna.tsinghua.edu.cn/fdroid/repo&#34;&gt;China&lt;/a&gt;, &lt;a href=&#34;https://fdroid.tetaneutral.net/fdroid/repo&#34;&gt;France&lt;/a&gt;, &lt;a href=&#34;https://ftp.fau.de/fdroid/repo&#34;&gt;Germany&lt;/a&gt;, &lt;a href=&#34;https://plug-mirror.rcac.purdue.edu/fdroid/repo&#34;&gt;Indiana&lt;/a&gt;, &lt;a href=&#34;https://fdroid-mirror.calyxinstitute.org/fdroid/repo&#34;&gt;New York&lt;/a&gt;, &lt;a href=&#34;https://ftp.osuosl.org/pub/fdroid/repo&#34;&gt;Oregon&lt;/a&gt;, &lt;a href=&#34;https://mirror.librelabucm.org/fdroid/repo/&#34;&gt;Spain&lt;/a&gt;, &lt;a href=&#34;https://ftp.lysator.liu.se/pub/fdroid/repo&#34;&gt;Sweden&lt;/a&gt;, and &lt;a href=&#34;http://lysator7eknrfl47rlyxvgeamrv7ucefgrrlhk7rouv3sna25asetwid.onion/pub/fdroid/repo&#34;&gt;Tor Onion Service&lt;/a&gt;.  Local mirrors mean faster, more reliable, and cheaper access, especially for people in places like China, where government policy and infrastructure design works to downplay access to foreign networks.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/2016/06/02/building-the-most-private-app-store/&#34;&gt;Extensive&lt;/a&gt; &lt;a href=&#34;https://f-droid.org/docs/Security_Model/&#34;&gt;work&lt;/a&gt; has gone into making F-Droid the most private &amp;ldquo;app store&amp;rdquo; for mobile devices, including minimizing the potential metadata leaks.  There is a single index file for all the packages, and it includes all the translations.  So all users fetch the exact same index file, so the &lt;em&gt;f-droid.org&lt;/em&gt; and mirror servers cannot infer from the index which language the device is using.  The app icons and screenshsots are downloaded on demand, so that is one metadata leak.  F-Droid requires either HTTPS or Tor Onion Service transport encryption to minimize such leaks.&lt;/p&gt;

&lt;p&gt;F-Droid &lt;em&gt;repos&lt;/em&gt; default to keeping 3 releases per package available. Also, the index is not tied to the mirror, the F-Droid Android client will happily fetch the index from one mirror, and each package from other mirrors.  F-Droid will keep searching all the mirrors for a package until it finds it, so a mirror can be out of date yet still useful. Today&amp;rsquo;s update might only bring a couple new files, even if a mirror is delayed, it will still have all the previous content.  That property ensures that distribution is not an all-or-nothing prospect.  Instead, it can still transparently provide some level of access when there are troubles with the internet.  This makes lots of different kinds of relibility problems look quite similar from the point of view of the F-Droid client app: outages, network troubles, blocks, and even working around expensive data.&lt;/p&gt;

&lt;p&gt;Someone with a Raspberry Pi with an SD Card can be a local mirror server, even if they have irregular access to the internet.  The Raspberry Pi can be easily brought to unmetered WiFi, then synced up with the main &lt;em&gt;repo&lt;/em&gt; using &lt;code&gt;fdroid mirror&lt;/code&gt; or &lt;code&gt;rsync&lt;/code&gt;.  Then when it is brought back to its home, the local users can get apps and updates even if there is no active internet connection in the area.  This also works with &lt;a href=&#34;https://en.wikipedia.org/wiki/USB_On-The-Go&#34;&gt;USB OTG&lt;/a&gt; flash drives.  A whole &lt;em&gt;repo&lt;/em&gt; can be zipped up and broadcasted using a service like the satellite TV &amp;ldquo;&lt;a href=&#34;https://knapsackforhope.org/&#34;&gt;Knapsack for Hope&lt;/a&gt;&amp;rdquo; service, their app already makes it easy to decode the broadcast and write it to USB OTG.&lt;/p&gt;

&lt;p&gt;&lt;center&gt;


&lt;div class=&#34;box&#34; style=&#34;max-width:60%&#34;&gt;
  &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;
    &lt;div class=&#34;img&#34;&gt;
      &lt;img itemprop=&#34;thumbnail&#34; src=&#34;usb-otg-mirror.png&#34; alt=&#34;usb-otg-mirror.png&#34;/&gt;
    &lt;/div&gt;
    &lt;a href=&#34;usb-otg-mirror.png&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;
      &lt;figcaption&gt;&lt;h4&gt;A f-droid.org mirror available via USB OTG drive.&lt;/h4&gt;
      &lt;/figcaption&gt;
  &lt;/figure&gt;
&lt;/div&gt;

&lt;/center&gt;&lt;/p&gt;

&lt;h2 id=&#34;example-ubuntu&#34;&gt;Example: Ubuntu&lt;/h2&gt;

&lt;p&gt;Ubuntu uses a system of mixed mirrors and CDNs &lt;a href=&#34;https://wiki.ubuntu.com/Mirrors#Country_mirror_requirements&#34;&gt;based on standardized domain names&lt;/a&gt;, which includes some level of &lt;a href=&#34;https://wiki.ubuntu.com/DynamicMirrorDecisions&#34;&gt;automatic setup&lt;/a&gt; based on measurement.  The domain name is &lt;code&gt;COUNTRYCODE.archive.ubuntu.com&lt;/code&gt;.  During install, the user chooses the country to set up the device accordingly.  The mirror is then set to use the mirror domain name based on that country, e.g. a device set to Uganda would use &lt;code&gt;ug.archive.ubuntu.com&lt;/code&gt;.  When a country-specific mirrors exists, that domain name points to it.  Ubuntu has over 50 in-country mirrors. Otherwise, any other &lt;code&gt;*.archive.ubuntu.com&lt;/code&gt; domain name points to a mirror running on a major CDN.  This setup allows Ubuntu to change the mirror server-side setup separately from the user&amp;rsquo;s selection on their device.  Additionally, users are then still free to edit the configuration and use any URL that they want, including pointing to local media like CDROMs and thumb drives.  And anyone can &lt;a href=&#34;https://wiki.ubuntu.com/Mirrors&#34;&gt;create their own mirror&lt;/a&gt; without first getting permission.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&#34;select best server&#34; src=&#34;select-best-server.png&#34; width=&#34;100%&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;Select-Ubuntu-Mirror-Archive.png&#34; alt=&#34;Select-Ubuntu-Mirror-Archive&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Managing offline maps with F-Droid and OsmAnd</title>
      <link>https://guardianproject.info/2020/11/28/managing-offline-maps-with-f-droid-and-osmand/</link>
      <pubDate>Sat, 28 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/11/28/managing-offline-maps-with-f-droid-and-osmand/</guid>
      <description>&lt;p&gt;When disaster strikes, our mobile devices can provide us with many
tools to deal with a wide variety of problems.  The internet is not
available in every corner of the planet, and large scale outages
happen.  Digital maps allow us to carry detailed maps of the entire
planet in our pockets.  And the good map apps allow the user to
download entire regions to the device so that they operate without
internet at all.  Unfortunately, the big map apps from Google and
Apple provide limited offline capabilities.  For example, it is
&lt;a href=&#34;https://annoyingtechnicaldetails.wordpress.com/2020/09/23/cannot-easily-redistribute-downloaded-offline-files-for-google-maps/&#34;&gt;not possible&lt;/a&gt;
to share offline data from one device to another.  Online maps are
also a major privacy leak, since location data is the most sensitive
data.  With online maps, the service operator sees each tile of the
map that you look at, each time you look at it, as well as all the
locations you search for.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://osmand.net/&#34;&gt;OsmAnd&lt;/a&gt; is a great map app for offline usage,
since offline usage is the primary mode of operation.  It lets you
download entire regions to your device, then search and navigate
without any network connection at all. This is also a big win for
privacy: In offline mode, OsmAnd can only see which regions you have
downloaded, and nothing else.  OsmAnd provides private, resilient
services. The maps will work as long as your device is working.  The
maps are still usable even if GPS is unavailable, since they can be
searched and operated with only your fingertips.&lt;/p&gt;

&lt;p&gt;F-Droid is the most private and flexible mobile distribution system,
so we recently worked to make it a lot easier to ship OsmAnd map files
via F-Droid repos.  That means that entire countries can be made
available through the F-Droid distribution methods, including offline
methods like mirrors on USB-OTG drives and local repos on a Raspberry
Pi that provides the WiFi connection.&lt;/p&gt;

&lt;p&gt;To see an example of this in action, try adding our new
&lt;a href=&#34;https://guardianproject-wind.s3.amazonaws.com/fdroid/repo?fingerprint=182CF464D219D340DA443C62155198E399FEC1BC4379309B775DD9FC97ED97E1&#34;&gt;Wind Offline repo&lt;/a&gt;
to F-Droid, and look for the &amp;ldquo;OsmAnd&amp;rdquo; category.  The whole repo is
managed by scripts, which is available on
&lt;a href=&#34;https://gitlab.com/guardianproject/wind-repo/&#34;&gt;GitLab&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;This work was supported by the prize money from the &lt;a href=&#34;https://wirelesschallenge.mozilla.org/#winners&#34;&gt;Mozilla WINS&lt;/a&gt; competition as part of the &lt;a href=&#34;https://guardianproject.info/code/wind/&#34;&gt;Wind&lt;/a&gt; project.&lt;/em&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orfox</title>
      <link>https://guardianproject.info/apps/info.guardianproject.orfox/</link>
      <pubDate>Thu, 06 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/info.guardianproject.orfox/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Easy translation workflows and the risks of translating in the cloud</title>
      <link>https://guardianproject.info/2020/06/08/easy-translation-workflows-and-the-risks-of-translating-in-the-cloud/</link>
      <pubDate>Mon, 08 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/06/08/easy-translation-workflows-and-the-risks-of-translating-in-the-cloud/</guid>
      <description>

&lt;p&gt;Crowdsourced translation has opened up software and websites to whole
new languages, regions, and uses.  Making translating easier has
brought in more contributors, and deploying those languages requires
less work.  A number of providers now offer &amp;ldquo;live&amp;rdquo;, integrated
translation, speeding up the process of delivering translated
websites. On the surface, this looks like a big win.  Unfortunately,
the way such services have been implemented opens up a big can of
worms.  Third parties must be trusted with user data.  The translators
cannot work without being tracked. Displaying the translation requires
JavaScript.  The security profile is more complicated and harder to
defend.&lt;/p&gt;

&lt;p&gt;For projects with elevated security and privacy requirements, these
are deal breakers.  Translators can get in trouble for working on
publishing software or translating censorship circumvention
documentation.  Minority languages are suppressed in many places
around the world, even publicly working in some languages can get
people into trouble.&lt;/p&gt;

&lt;p&gt;We have been working for many years now to help make software and
website translation easier, more accessible, and more efficient.  We
also balance that with privacy and security concerns.  This post
outlines how to balance all those concerns.&lt;/p&gt;

&lt;h2 id=&#34;live-integrated-translation-systems&#34;&gt;Live, integrated translation systems&lt;/h2&gt;

&lt;p&gt;Using this new class of translation services means that the
translations are not shipped with the website or app, but instead
dynamically downloaded and delivered.  These translation services
require that third party code is integrated into the website or app to
deliver the translations.  All of the regular
&lt;a href=&#34;https://browserleaks.com/&#34;&gt;privacy&lt;/a&gt; and
&lt;a href=&#34;https://owasp.org/www-project-top-ten/&#34;&gt;security&lt;/a&gt; concerns of dynamic
web services apply here.&lt;/p&gt;

&lt;p&gt;For example, Transifex Live is based around
&lt;a href=&#34;https://docs.transifex.com/live/installing-the-JavaScript-snippet&#34;&gt;JavaScript&lt;/a&gt;,
it uses JavaScript to dynamically load the translated strings from the
Transifex CDN hosted on Amazon AWS.  They also provide an iFrame
option, which has its own &lt;a href=&#34;https://stackoverflow.com/a/9428051&#34;&gt;security
concerns&lt;/a&gt;.  Crowdin provides
&amp;ldquo;&lt;a href=&#34;https://support.crowdin.com/in-context-localization/&#34;&gt;in-context
localization&lt;/a&gt;&amp;ldquo;
which lets translators see the translations live in the website as
they are working.  This is a huge benefit to the translators, but it
has all the same issues as Transifex Live.  Their code must run in
your site.  They use other providers like Amazon to provide their own
service.  All of these third-parties have to be trusted to provide
security and privacy.  On top of that, Crowdin and Transifex are
monolithic, proprietary offerings, it is not possible run your own
instance.  Like many cloud-based services, it is all-or-nothing:
accept all the tracking, the privacy concerns, and security issues, or
do not use such a service&lt;/p&gt;

&lt;p&gt;Lastly, the data from the translation contributors must be considered.
These live services provide the translators a direct channel to feed
data into the website.  A malicious translator could feed an exploit
to the website using this channel.  Such a setup relies entirely on
any automated checks that the translation platform provides.  These
checks are optional, and often disabled by default.  Also, attackers
regularly find ways around even the best checkers and sanitizers, like
Mozilla &lt;a href=&#34;https://github.com/mozilla/bleach&#34;&gt;Bleach&lt;/a&gt; or Ruby
&lt;a href=&#34;https://github.com/flavorjones/loofah&#34;&gt;loofah&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For all these reasons, projects like
&lt;a href=&#34;https://weblate.securedrop.org/&#34;&gt;SecureDrop&lt;/a&gt; and
&lt;a href=&#34;https://translate.tails.boum.org/&#34;&gt;Tails&lt;/a&gt; self-host Weblate to
provide crowdsourced translation..&lt;/p&gt;

&lt;h2 id=&#34;static-sites-with-live-previews&#34;&gt;Static sites with live previews&lt;/h2&gt;

&lt;p&gt;Static sites built with tools like Jekyll and Hugo offer big benefits
in terms of privacy, security, and cost of operation.  But they
generally require more technical skills to operate, and have
restricted possibilities in terms of dynamic interaction.  There is a
lot that still can be done, and things are improving fast.  The dream
of live localization and in-context translation workflows without
privacy and security concerns is within reach.&lt;/p&gt;

&lt;p&gt;Live display of translations is not possible with a fully static site.
Live translation requires front end JavaScript or a dynamic backend
server.  The vast majority of web tracking and security
vulnerabilities come from JavaScript, sites that serve high risk
communities should use static sites that work without JavaScript
enabled.&lt;/p&gt;

&lt;p&gt;Translation updates can be highly &lt;a href=&#34;https://guardianproject.info/2020/04/23/figuring-out-crowdsourced-translation-of-websites/&#34;&gt;automated&lt;/a&gt; with a static site.  This means new translations can be reviewed
and deployed within minutes.&lt;/p&gt;

&lt;p&gt;Jekyll and Hugo can also provide live previews while editing the
source pages and translations. Unfortunately, using these features
requires base level familiarity with technical things like working in
the terminal.  When Jekyll or Hugo is installed locally on the
translators computer, &lt;code&gt;jekyll serve&lt;/code&gt; and &lt;code&gt;hugo serve&lt;/code&gt; generate the
whole website on the fly, and the browser will automatically refresh
the page with each change.&lt;/p&gt;

&lt;h2 id=&#34;wordpress-translation-and-static-sites&#34;&gt;Wordpress, Translation, and Static Sites&lt;/h2&gt;

&lt;p&gt;Wordpress remains a popular option for running websites, especially
for small and non-technical organizations.  It provides intuitive
editing and publishing tools combined with a wide array of attractive
templates to build on.  It is free software that can be self-hosted,
and it can even be used as a static site generator.  Even with the
rise of Jekyll, Hugo, and so many other static site generators,
Wordpress remains a &lt;a href=&#34;https://www.brianshim.com/webtricks/wordpress-static-site-generator/&#34;&gt;good
option&lt;/a&gt;
for small organizations with privacy and security concerns, given that
it is used with the &lt;a href=&#34;https://wordpress.org/plugins/static-html-output-plugin/&#34;&gt;static HTML output
plugin&lt;/a&gt;.
The one missing piece is crowdsourced translation that fits in with
all that.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://poedit.net/&#34;&gt;Poedit&lt;/a&gt; provides an alternate approach that is
self-hosted and free software, but is not entirely a typical
crowdsourced translation workflow.  It is an editor app that runs
locally on the translator&amp;rsquo;s own machine.  It supports translating
Wordpress directly via its API.  Then the results are included when
Wordpress generates the static HTML output.&lt;/p&gt;

&lt;p&gt;Using self-hosted Weblate, the full website and translation workflow
can be as private as needed.  The static HTML output can be fed
&lt;a href=&#34;https://docs.weblate.org/en/latest/formats.html#html-files&#34;&gt;directly to
Weblate&lt;/a&gt;
or &lt;a href=&#34;https://guardianproject.info/2020/04/23/figuring-out-crowdsourced-translation-of-websites/#translation-setup-with-po4a&#34;&gt;use &lt;em&gt;po4a&lt;/em&gt;&lt;/a&gt; to set up an automated workflow that is tailored to your needs.&lt;/p&gt;

&lt;p&gt;If self-hosting the translation platform is not a requirement, then
Crowdin and Transifex are options for translating the static HTML that
comes from Wordpress.  It is important to consider that both of these
will send data to many different companies, so they cannot be
considered private.  Using Crowdin sends data to Amazon, Google, and
Sentry.  Using Transifex sends data to Amazon, ChurnZero, Google,
jsDelivr, New Relic, Sentry, Stripe, Adobe (Typekit), and VWO.  Both
can potentially also send data to Facebook, GitHub, GitLab, LinkedIn,
and Twitter since those can be used for signing in.&lt;/p&gt;

&lt;p&gt;Two good patterns for setting up the languages are the hosting each
language on a subdomain like how wikipedia does it; or, use path
segments for each language.  With GitHub Pages and GitLab Pages, each
language can be a project, then each language will be deployed to a
sub-directory, e.g.:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://mysite.gitlab.io/en&#34;&gt;https://mysite.gitlab.io/en&lt;/a&gt; comes from &lt;a href=&#34;https://gitlab.com/mysite/en&#34;&gt;https://gitlab.com/mysite/en&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the main site is the language chooser, e.g.
&lt;a href=&#34;https://mysite.gitlab.io&#34;&gt;https://mysite.gitlab.io&lt;/a&gt; comes from &lt;a href=&#34;https://gitlab.com/mysite/mysite.gitlab.io&#34;&gt;https://gitlab.com/mysite/mysite.gitlab.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One idea further improve the Wordpress workflow is to combine the
&lt;a href=&#34;https://www.transifex.com/integrations/wordpress-multilingual-plugin/&#34;&gt;Transifex Wordpress Plugin&lt;/a&gt;
with the
[Wordpress Static HTML Output Plugin](&lt;a href=&#34;https://wordpress.org/plugins/static-html-output-plugin/&#34;&gt;https://wordpress.org/plugins/static-html-output-plugin/&lt;/a&gt;
to customize and streamline the whole process.  This could work with
Crowdin, Transifex, and Weblate, since they all provide APIs to
integrate with.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Onion Browser Release 2.6 Tutorial</title>
      <link>https://guardianproject.info/2020/06/02/onion-browser-release-2.6-tutorial/</link>
      <pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/06/02/onion-browser-release-2.6-tutorial/</guid>
      <description>

&lt;p&gt;In this tutorial we&amp;rsquo;re going to talk about the best practices to browse the web securely on iOS using &lt;a href=&#34;https://onionbrowser.com&#34;&gt;Onion Browser&lt;/a&gt; Release 2.6 and the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network&lt;/a&gt;. &lt;a href=&#34;https://onionbrowser.com&#34;&gt;Onion Browser for iOS&lt;/a&gt; is a free, open-source web browser app developed originally by &lt;a href=&#34;https://mike.tig.as/&#34;&gt;Mike Tigas&lt;/a&gt;, with Release 2.6 as a collaboration with the Guardian Project. Onion Browser has Tor built-in and uses Tor to protect your web activity.&lt;/p&gt;

&lt;p&gt;You can also watch the &lt;a href=&#34;https://www.youtube.com/playlist?list=PL4-CVUWabKWeHeBpadBLjzlWVa7binXpj&#34;&gt;Onion Browser Video Tutorial&lt;/a&gt; on YouTube.&lt;/p&gt;

&lt;!-- ![](image25.jpg) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image25.jpg&#34;&gt;
        &lt;img class=&#34;size1&#34; src=&#34;image25.jpg&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;h2 id=&#34;who-is-this-tutorial-designed-for&#34;&gt;Who is this Tutorial designed for?&lt;/h2&gt;

&lt;p&gt;A few questions for you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is your internet content being blocked?&lt;/li&gt;
&lt;li&gt;Are you concerned about your privacy while browsing the web?&lt;/li&gt;
&lt;li&gt;Do you want to protect your data from aggressive advertisers?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any of these are true, this tutorial is for you!&lt;/p&gt;

&lt;h2 id=&#34;don-t-have-an-ios-device&#34;&gt;Don&amp;rsquo;t have an iOS device?&lt;/h2&gt;

&lt;!-- ![](image21.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image21.png&#34;&gt;
        &lt;img class=&#34;size1&#34; src=&#34;image21.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Try Orbot&lt;/a&gt;, the Tor connection for Android devices developed by the Guardian Project. Orbot allows you to route the apps on your phone through Tor.&lt;/p&gt;

&lt;!-- ![](image20.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image20.png&#34;&gt;
        &lt;img class=&#34;size1&#34; src=&#34;image20.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;You may also try the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor Browser for Android&lt;/a&gt;, the official Tor browser for Android developed by the Tor Project team.&lt;/p&gt;

&lt;h2 id=&#34;first-what-exactly-is-the-tor-network&#34;&gt;First, what exactly is the Tor network?&lt;/h2&gt;

&lt;!-- ![](image11.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image11.png&#34;&gt;
        &lt;img class=&#34;size1&#34; src=&#34;image11.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The Tor network is a collection of servers, run by volunteers, that allows users to improve their privacy and security on the Internet. Tor&amp;rsquo;s users employ this network by connecting to their favorite services through a series of virtual tunnels rather than making a direct connection, thus allowing both organizations and individuals to share information over public networks without compromising their privacy.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s how Tor works: When you connect to the internet using Tor, a circuit is created. A circuit is a group of 3 different Tor relays located in different parts of the world that work together with encryption to obfuscate your connection to websites and web services, making it hard for third parties to trace the activity back to you.&lt;/p&gt;

&lt;!-- ![](image17.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image17.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image17.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;h2 id=&#34;onion-browser-with-tor-is-an-important-application-for-ios-users&#34;&gt;Onion Browser, with Tor, is an important application for iOS users&lt;/h2&gt;

&lt;p&gt;Why? Because when you use Onion Browser&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All your browsing is private, since your traffic is encrypted through the Tor network&lt;/li&gt;
&lt;li&gt;No one can see your activities, save your history, or influence your browsing&lt;/li&gt;
&lt;li&gt;And there is no trace left behind since tabs don&amp;rsquo;t hang around. They close when you&amp;rsquo;re done, so every search is new&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;how-is-the-onion-browser-different-from-other-browsers-for-ios&#34;&gt;How is the Onion Browser different from other browsers for iOS?&lt;/h2&gt;

&lt;p&gt;Security and privacy require some compromises, and you should be aware that there are some limitations when using the Onion Browser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apple requires all web browser apps to use the same core web rendering engine. Due to this limitation, we are unable to compile and include our own web engine, based on Firefox Gecko, as with Tor Browser for desktop and Android&lt;/li&gt;
&lt;li&gt;Onion Browser only tunnels traffic within the Onion Browser app. If you are using a smartphone be aware that information outside of Onion Browser is not protected&lt;/li&gt;
&lt;li&gt;Sometimes your bandwidth speeds will be reduced, depending on the relays you are connecting to&lt;/li&gt;
&lt;li&gt;Websites that flag Tor as suspicious will show a CAPTCHA loop and you won&amp;rsquo;t be able to access them&lt;/li&gt;
&lt;li&gt;Certain features of many websites may be disabled or work poorly on Onion Browser, especially at the higher security levels&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;onboarding&#34;&gt;Onboarding&lt;/h2&gt;

&lt;p&gt;After &lt;a href=&#34;https://apps.apple.com/us/app/onion-browser/id519296448&#34;&gt;downloading Onion Browser from the App Store&lt;/a&gt;, we&amp;rsquo;ll give you a smooth start to using the app. After the initial loading screen, you&amp;rsquo;ll be invited to connect to Tor before you start browsing. Be advised: Onion Browser always needs to connect to Tor before you browse. There&amp;rsquo;s no operational mode that doesn&amp;rsquo;t use Tor.&lt;/p&gt;

&lt;p&gt;&lt;!-- ![](image24.png) --&gt; &lt;!-- ![](image14.png) --&gt;
&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image24.png&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image24.png&#34;&gt;
    &lt;/a&gt;
    &lt;a href=&#34;image14.png&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image14.png&#34;&gt;
    &lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;There are two options here: connecting directly to Tor, as most users do, or connecting via a special &amp;ldquo;bridge&amp;rdquo;. This latter option requires configuration, and we&amp;rsquo;ll discuss it in a separate section of this tutorial. Select &amp;ldquo;Connect to Tor&amp;rdquo; and the app will let you know when it is ready.&lt;/p&gt;

&lt;!-- ![](image18.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image18.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image18.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Click on &amp;ldquo; Next&amp;rdquo; to set up your security level.&lt;/p&gt;

&lt;!-- ![](image30.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image30.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image30.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;There are three levels of security you can select, according to your needs. For many users, Level 2 is the best choice to start. Click on &amp;ldquo;Learn More&amp;rdquo; to see more details about each option. Tap &amp;ldquo;Start Browsing&amp;rdquo; to begin using Onion Browser.&lt;/p&gt;

&lt;h2 id=&#34;the-onion-browser-home-page&#34;&gt;The Onion Browser Home Page&lt;/h2&gt;

&lt;p&gt;On the home page of Onion Browser you&amp;rsquo;ll see a couple of website suggestions, as well as more information about the app. We&amp;rsquo;d welcome your support for our work. Use the Donate Link to see the ways you can contribute with a donation. You can also subscribe to the Tor Newsletter to get updates about security and privacy on the Internet from the Tor team.&lt;/p&gt;

&lt;!-- ![](image22.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image22.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image22.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;On the home page, in the top navigation bar, you&amp;rsquo;ll see there are two icons you don&amp;rsquo;t find in other browsers, a Shield on the top left side and an Onion on the top right side.&lt;/p&gt;

&lt;p&gt;&lt;!-- ![](image15.jpg) --&gt; &lt;!-- ![](image5.jpg) --&gt;
&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image15.jpg&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image15.jpg&#34;&gt;
    &lt;/a&gt;
    &lt;a href=&#34;image5.jpg&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image5.jpg&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;ll discuss these in a bit. The Onion Browser also includes features you&amp;rsquo;ll recognize like Bookmarks, Share, New Tab, Switch Tabs, and Accessing Settings. These are common in other browsers and work in the same manner here.&lt;/p&gt;

&lt;h2 id=&#34;visiting-websites&#34;&gt;Visiting websites&lt;/h2&gt;

&lt;p&gt;When you visit websites, Onion Browser will give you additional information about the security and nature of your connection.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS websites will show a green lock on the right side of the URL bar, tap on it to verify the Certificate Information.&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- ![](image1.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image1.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image1.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tap on the Shield icon to see your current security level&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- ![](image13.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image13.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image13.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tap on the Onion icon to see the Tor circuit you are using, sometimes your current circuit will be too slow or it will not work properly, for those cases use the &amp;ldquo;New Circuit&amp;rdquo; button and you will be automatically connected to a new one.&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- ![](image7.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image7.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image7.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;On this drop-down menu, you will also find the option to connect to Tor using bridges. Please remember that you should always try to connect to Tor without using bridges and only use them if that fails. We&amp;rsquo;ll talk more about bridges later.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Share icon allows you to send a link to the website you are looking at using other apps in your device. It also allows you to open the link using Safari if the site is not opening properly using Tor. This will be out of the Tor network and is not safe&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- ![](image19.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image19.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image19.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The same applies to open images and links with Safari. But you can also open links safely on a new tab, and navigate them the same way you will do it on any other browser&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- ![](image12.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image12.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image12.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If your screen times out or you send the browser to the background all your current tabs will disappear when you return to your browser, this is a security feature that can be changed in your settings&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Downloading content is easiest with the Share icon. Display your content (such as a PDF-formatted article) in a tab, then tap the Share icon. Select &amp;lsquo;Save to Files&amp;rsquo;, then on the next screen, choose the desired locations (&amp;ldquo;Downloads&amp;rdquo; folder is shown here). Tap &amp;lsquo;Save&amp;rsquo; and the content will be saved in the Downloads folder for later use or further sharing.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;!-- ![](image23.png) --&gt; &lt;!-- ![](image16.png) --&gt;
&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image23.png&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image23.png&#34;&gt;
    &lt;/a&gt;
    &lt;a href=&#34;image16.png&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image16.png&#34;&gt;
    &lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;/p&gt;

&lt;h2 id=&#34;security-connectivity&#34;&gt;Security &amp;amp; Connectivity&lt;/h2&gt;

&lt;h3 id=&#34;bridges&#34;&gt;Bridges&lt;/h3&gt;

&lt;p&gt;There&amp;rsquo;s a special way to connect to the Tor network, designed for users in the most restrictive geographies or users personally at risk of invasive monitoring. Bridges are like special on-ramps for Tor that are more aggressive about defeating monitoring. That comes at a cost in performance, though. We like to reserve these pathways for most impacted users, so please use them sparingly.&lt;/p&gt;

&lt;p&gt;If you know bad actors are monitoring Tor usage in your geography, you&amp;rsquo;ll want to configure a bridge immediately when you first open Onion Browser. You can do that right from the first onboarding screen, before connecting to Tor&lt;/p&gt;

&lt;!-- ![](image6.jpg) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image6.jpg&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image6.jpg&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Whether you configure your bridge immediately or after you&amp;rsquo;ve been using Onion Browser for a while, you need to be careful how you get your bridge information. You have several options. See the Bridge Configuration settings (accessed during on-boarding as above or by tapping on the Onion icon when viewing a website and then tapping &amp;lsquo;Bridge Configuration&amp;rsquo;).&lt;/p&gt;

&lt;!-- ![](image2.jpg) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image2.jpg&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image2.jpg&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Your first option should be the list of bridges using the so-called Obfs4 technology, a list already built into Onion Browser. Select the &amp;ldquo;Built-in Obfs4&amp;rdquo; option and Onion Browser will instruct Tor to use that selection of bridges as it attempts to connect. Tap &amp;ldquo;connect&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;Unfortunately the bridges on that list can become crowded and connection may fail here, too. If you know a trustworthy person who uses a bridge to connect to Tor, your second option is to have your friend help you by sending you a bridge QRCode your device can scan and automatically configure to use that bridge. Or, less securely, you can copy/paste a bridge identifier that your friend sends you via another service (messaging, for example). To use this option, tap &amp;ldquo;Custom Bridges&amp;rdquo;, and then either scan the provided QRCode or paste your provided bridge into the text area shown, then tap &amp;ldquo;Connect&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;&lt;!-- ![](image4.jpg) --&gt; &lt;!-- ![](image8.jpg) --&gt;
&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image4.jpg&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image4.jpg&#34;&gt;
    &lt;/a&gt;
    &lt;a href=&#34;image8.jpg&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image8.jpg&#34;&gt;
    &lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;If these options fail, you can get access to a fresh selection of Obfs4 bridges using the service called MOAT to get up-to-date information in real-time. This option works in a way that does not expose itself to suspicion. To use this option, select &amp;ldquo;Built-in Meek/Azure&amp;rdquo; and tap &amp;ldquo;connect&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;Last, the Tor Project itself also maintains a list of bridges. For this option, tap &amp;lsquo;Custom Bridges&amp;rsquo;, then &amp;lsquo;Request Bridges from torproject.org&amp;rsquo; and follow the instructions there. You&amp;rsquo;ll get a bridge identifier, and you&amp;rsquo;ll paste it into the text area, same as you would if a friend provided it to you. After pasting, tap &amp;ldquo;connect&amp;rdquo;. Note that this method of contacting the Tor Project to get a bridge identifier is an action that itself might be blocked.&lt;/p&gt;

&lt;p&gt;Again, we want to steer you away from using bridges. The degradation of the user experience can be extreme and please remember that there are people who actually require this capability to get any connection at all. As capacity is limited, we want to give those people the first opportunity.&lt;/p&gt;

&lt;h3 id=&#34;biometric-authentication&#34;&gt;BioMetric Authentication&lt;/h3&gt;

&lt;p&gt;You can place a second level of access security on Onion Browser by using its authentication option. You might prefer this option if you believe you face a physical security threat, if there is a chance your device might get stolen or if your device might be otherwise misused by people you don&amp;rsquo;t trust.&lt;/p&gt;

&lt;p&gt;First, you need to set up your iOS device to require security at login via a 6-digit numeric Passcode, FaceID or TouchID. Use the iOS Settings app. Select and configure the method you prefer. If you&amp;rsquo;ve already done that, there&amp;rsquo;s no need to change. Be aware that all manipulations of our authentication settings here will require you to enter your password.&lt;/p&gt;

&lt;!-- ![](image10.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image10.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image10.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Now tap the Onion Browser settings icon to get to the Settings page. You&amp;rsquo;ll see a selection option for &lt;strong&gt;&amp;ldquo;Lock App with TouchID/FaceID or Device Passcode&amp;rdquo;&lt;/strong&gt;. Select that option to enable it and restart Onion Browser. On your next use, Onion Browser will require your ID (in whatever form you&amp;rsquo;ve requested) before it will start up.&lt;/p&gt;

&lt;h2 id=&#34;useful-tips&#34;&gt;Useful Tips&lt;/h2&gt;

&lt;h3 id=&#34;dark-mode&#34;&gt;Dark Mode&lt;/h3&gt;

&lt;p&gt;The Onion Browser has a built-in Dark Mode that allows it to comply with the system setting for the &amp;ldquo;dark&amp;rdquo; color scheme. To set Dark Mode, visit the iOS Settings application and tap Display &amp;amp; Brightness. Select your appearance here and Onion Browser will comply with this setting.&lt;/p&gt;

&lt;!-- ![](image3.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image3.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image3.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;h3 id=&#34;tab-security-hide-web-pages-when-switching-apps&#34;&gt;Tab Security - Hide Web Pages When Switching Apps&lt;/h3&gt;

&lt;p&gt;Hiding web pages when switching apps is a feature required by people who are in danger of having their device removed from their person by other bad actors. If that happens, the contents of their open tabs can be seen and perhaps screen-shotted by those bad actors and used in prosecution. While hiding web pages sounds great at first, it means you lose your browsing &amp;ldquo;state&amp;rdquo; when switching back to Onion Browser later. Frankly, it is terribly inconvenient for most users. So, there are lesser options, too. From the Onion Browser Settings page, tap &amp;ldquo;Tab Security&amp;rdquo;&lt;/p&gt;

&lt;!-- ![](image29.jpg) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image29.jpg&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image29.jpg&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Then select from:&lt;/p&gt;

&lt;h4 id=&#34;forget-in-background&#34;&gt;Forget in Background&lt;/h4&gt;

&lt;p&gt;Happens when you tap the HOME button, otherwise switch apps, or the display times-out and the login screen is presented.&lt;/p&gt;

&lt;h4 id=&#34;forget-at-shutdown&#34;&gt;Forget at Shutdown&lt;/h4&gt;

&lt;p&gt;Happens only when user actually closes the app or shuts down the device&lt;/p&gt;

&lt;h4 id=&#34;remember-tabs&#34;&gt;Remember Tabs&lt;/h4&gt;

&lt;p&gt;Tabs are NOT hidden; this setting is also called &amp;ldquo;Startup in last state&amp;rdquo; and it&amp;rsquo;s the opposite of &amp;ldquo;remove web pages when switching apps&amp;rdquo; because it means your browsing state is saved between sessions. For many, this is a tremendous time-saver, but users concerned about their device being taken from them should not enable this feature.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTE: Your bookmarks are also an indication of your browsing interests. Creating many bookmarks on the device leaves a certain &amp;ldquo;fingerprint&amp;rdquo; about your browsing intentions in the same way open tabs indicate what&amp;rsquo;s actually being used. See the&lt;/em&gt; Nextcloud Bookmarks &lt;em&gt;feature as a way to resolve this problem.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&#34;onion-browser-as-your-default-system-browser&#34;&gt;Onion Browser As Your Default System Browser&lt;/h3&gt;

&lt;p&gt;There are a lot of ways you can acquire a link to web content and resources. Many applications, when seeing a link, will offer the option to open that link in the web browser. On iOS, Safari is the system browser, registered to open links, and iOS doesn&amp;rsquo;t usually allow other browsers to have that privilege. Safari doesn&amp;rsquo;t use Tor, so it&amp;rsquo;s not safe to open links that way. We can&amp;rsquo;t make Onion Browser the &amp;ldquo;system browser&amp;rdquo;, but there is a way to disable Safari and allow Onion Browser to open your links. Follow these steps:&lt;/p&gt;

&lt;p&gt;Open the iOS Settings app. Tap &amp;ldquo;Screen Time&amp;rdquo; (if it&amp;rsquo;s your first time using this feature, several help screens will follow).&lt;/p&gt;

&lt;!-- ![](image28.png) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image28.png&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image28.png&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Tap &amp;ldquo;Content &amp;amp; Privacy Restrictions&amp;rdquo; to enable it. Tap &amp;ldquo;Allowed Apps&amp;rdquo;. Tap &amp;ldquo;Safari&amp;rdquo; to disable it. This way, Safari won&amp;rsquo;t be opened when links are clicked in any app starting with http:// or https://. OnionBrowser can now open the links safely.&lt;/p&gt;

&lt;h3 id=&#34;nextcloud-bookmarks&#34;&gt;NextCloud Bookmarks&lt;/h3&gt;

&lt;p&gt;Bookmarks make it easy to access frequently-desired content as well as to preserve access to infrequently-visited, but necessary, sites. However, bookmarks can also represent intent or interest and, for those in danger of losing their device to bad actors, this can be an issue.&lt;/p&gt;

&lt;p&gt;If you use NextCloud, you can manage your Onion Browser bookmarks on your other devices and synchronize them with Onion Browser. Here&amp;rsquo;s how:&lt;/p&gt;

&lt;p&gt;&lt;!-- ![](image26.png) --&gt; &lt;!-- ![](image9.png) --&gt;
&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image26.png&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image26.png&#34;&gt;
    &lt;/a&gt;
    &lt;a href=&#34;image9.png&#34;&gt;
        &lt;img class=&#34;size2&#34; src=&#34;image9.png&#34;&gt;
    &lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Tap the Bookmarks icon, then tap &amp;lsquo;Sync with Nextcloud&amp;rsquo;.Enter the link for your Nextcloud server along with your username and password, then tap &amp;lsquo;Sync Bookmarks&amp;rsquo;.&lt;/p&gt;

&lt;p&gt;If you&amp;rsquo;re not a Nextcloud user and this sounds interesting, find more about NextCloud at nextcloud.com.&lt;/p&gt;

&lt;h2 id=&#34;some-failure-modes-and-how-to-recover&#34;&gt;Some Failure Modes and How to Recover&lt;/h2&gt;

&lt;p&gt;Let&amp;rsquo;s talk about ways in which Onion Browser - and the mountain of software and Internet network architecture behind it - can let you down. Yes, it DOES happen. Sometimes your network just doesn&amp;rsquo;t have the performance and responsiveness it requires. Sometimes your network is under heavy surveillance. Sometimes the Tor network is under direct attack by bad actors. Let&amp;rsquo;s look at a few of the failures you might experience and see what you can do to mitigate at least some of the impacts. We regret that this list is not complete.&lt;/p&gt;

&lt;h3 id=&#34;on-start-up&#34;&gt;On Start-up&lt;/h3&gt;

&lt;p&gt;What if I have no network connection of any kind and I don&amp;rsquo;t realize it? What if my network connection is very slow? What if Tor is blocked in my country?&lt;/p&gt;

&lt;p&gt;First, if you know - via friends or trusted information sources - that Tor is blocked in your country, you&amp;rsquo;ll need configure access via a bridge on your very first startup. Please revisit the prior discussion on how to properly configure Tor bridge access. Please remember, bridges tend to degrade the user experience in a number of ways. They&amp;rsquo;re a &amp;ldquo;last resort&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;If you&amp;rsquo;re not connected to a local or wide-area network (and don&amp;rsquo;t realize it) or if your connection is very poor (low-bandwidth), or if Tor is blocked in your country, Onion Browser won&amp;rsquo;t be able to start. Unfortunately, there&amp;rsquo;s no safe way to automatically distinguish between these different conditions. First, try to verify that the device itself has a connection or move to another location &amp;amp; network. Please remember, Tor can be slow to start up - especially on your first use - even under the best circumstances because it has to discover its network of nodes (at least partly) before it can build circuits. This does take a little patience.&lt;/p&gt;

&lt;h3 id=&#34;on-restart&#34;&gt;On Restart&lt;/h3&gt;

&lt;p&gt;What if Tor fails to start or restart properly within Onion Browser (can this happen, for example, when switching tabs)?&lt;/p&gt;

&lt;p&gt;If Tor fails on start/restart, Onion Browser assumes that it&amp;rsquo;s because the Tor nodes available from your location are blocked. Onion Browser will urge you to configure bridges. You won&amp;rsquo;t be able to proceed, though. You actually need to stop Onion Browser (switch to another app, or kill the app by swiping it out of iOS&amp;rsquo; app-cards overview) and then start it again.&lt;/p&gt;

&lt;p&gt;If you experience a lot of this type of failure, you may want to consider the Onion Browser setting that allows you to &amp;ldquo;Remember Tabs&amp;rdquo; (also called &amp;ldquo;start up in last state&amp;rdquo;). That&amp;rsquo;s available using &amp;ldquo;Settings -&amp;gt; Tab Security -&amp;gt; Remember Tabs&amp;rdquo;.&lt;/p&gt;

&lt;h3 id=&#34;after-a-heavy-use-session&#34;&gt;After A Heavy-Use Session&lt;/h3&gt;

&lt;p&gt;There&amp;rsquo;s a lot going on within Onion Browser and sometimes after a lot of use (or maybe due to a lot of tabs open for a long time) Onion Browser will run out of working memory on the device. In this case, iOS will probably kill the app by itself (though you may have to swipe it away from the app-cards overview under certain circumstances). When you start it again, it will be a fresh start.&lt;/p&gt;

&lt;p&gt;This is another good time to remember, if your situation allows it, use the &amp;ldquo;Remember Tabs&amp;rdquo; feature.&lt;/p&gt;

&lt;h3 id=&#34;failures-under-regular-use&#34;&gt;Failures Under Regular Use&lt;/h3&gt;

&lt;p&gt;You may experience using Onion Browser in a normal way, seemingly fine, and then when tapping a link or visiting a new site nothing seems to happen. It&amp;rsquo;s hard to know if the link or site is the problem, or if Onion Browser or Tor is the problem.&lt;/p&gt;

&lt;p&gt;You can check if Tor is still running by creating a new tab and visiting, for example, DuckDuckGo.com. If Tor really has failed, you should leave the app and enter back after a few seconds (that is, switch to another app, then return). That action should restart Tor. If that fails to help, go to iOS&amp;rsquo; app-cards overview, swipe-away Onion Browser and start it again.&lt;/p&gt;

&lt;p&gt;If the new tab opening to DuckDuckGo.com does work, then Tor is still operating and that&amp;rsquo;s a good indicator that the link or website you visited contains some JavaScript Onion Browser thinks is unsafe.&lt;/p&gt;

&lt;p&gt;Onion Browser has a pop-up and ad blocker integrated. These, unfortunately, might interfere with the web page in a way that makes it break. These features cannot be switched off, currently.&lt;/p&gt;

&lt;p&gt;Lastly, failure can happen when the Security Level currently set for the page is denying the website from taking certain actions. Loading media is one such action, though not every time. If you&amp;rsquo;re sure leaking your browsing information to somebody listening on your connection isn&amp;rsquo;t a problem, you might want to lower the security level to &amp;ldquo;Bronze&amp;rdquo;, at least for that site.&lt;/p&gt;

&lt;h3 id=&#34;what-are-these-circuits-you-talk-about&#34;&gt;What Are These &amp;ldquo;Circuits&amp;rdquo; You Talk About?&lt;/h3&gt;

&lt;p&gt;The circuit is the path your communications take through the Tor network (whose nodes exist in many countries in the world). Normally, you don&amp;rsquo;t need to take specific care regarding the circuit, because that&amp;rsquo;s Tor&amp;rsquo;s business. However, depending on the &amp;ldquo;exit node&amp;rdquo; Tor has chosen, you might see a website localized wrongly or a website that mistakes you for a hostile due to your country-of-origin (which Tor has set). In those cases you can request a new circuit. It&amp;rsquo;s easy, right there on the circuit display.&lt;/p&gt;

&lt;!-- ![](image7.jpg) --&gt;

&lt;p class=&#34;ctr&#34;&gt;
    &lt;a href=&#34;image7.jpg&#34;&gt;
        &lt;img class=&#34;size3&#34; src=&#34;image7.jpg&#34;&gt;
    &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The circuit display could also hint to the reason of a slow connection. If you&amp;rsquo;re routed around the world, that might be the problem. However, Tor typically tries to avoid these situations automatically and chooses circuits with hops near you.&lt;/p&gt;

&lt;h3 id=&#34;custom-site-settings&#34;&gt;Custom Site Settings&lt;/h3&gt;

&lt;p&gt;Now that we&amp;rsquo;ve introduced &amp;ldquo;Security Levels&amp;rdquo; in the new Onion Browser, there&amp;rsquo;s much less need to store custom settings for individual websites. That&amp;rsquo;s a good thing because these settings are hard to remember once customized. For example, did you remove all restrictions from a website because you were once on a less restricted network? Well, when you&amp;rsquo;re back on your surveilled network, it&amp;rsquo;s hard to remember that you customized just that one site. That can lead to an unplanned exposure.&lt;/p&gt;

&lt;p&gt;We hope you like the new &amp;ldquo;Security Levels&amp;rdquo; mechanism - it&amp;rsquo;s much easier to monitor how much risk you&amp;rsquo;re exposed to using this mechanism. Enjoy it!&lt;/p&gt;

&lt;h2 id=&#34;support&#34;&gt;Support&lt;/h2&gt;

&lt;p&gt;Work on Onion Browser during 2019 and through mid-2020 was funded by the &lt;a href=&#34;https://www.opentech.fund/&#34;&gt;Open Technology Fund&lt;/a&gt; and sponsored by the &lt;a href=&#34;https://guardianproject.info/&#34;&gt;Guardian Project&lt;/a&gt;. &lt;a href=&#34;https://github.com/mtigas&#34;&gt;Mike Tigas&lt;/a&gt; was development architect, &lt;a href=&#34;https://github.com/tladesignz&#34;&gt;Benjamin Erhart&lt;/a&gt; was lead developer. &lt;a href=&#34;https://okthanks.com/&#34;&gt;OkThanks&lt;/a&gt; provided user-centered design services.&lt;/p&gt;

&lt;p&gt;To contribute to the long-term maintenance of Onion Browser, please visit the &lt;a href=&#34;https://onionbrowser.com/donate&#34;&gt;donation page&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>On the classification of tracking</title>
      <link>https://guardianproject.info/2020/05/20/on-the-classification-of-tracking/</link>
      <pubDate>Wed, 20 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/05/20/on-the-classification-of-tracking/</guid>
      <description>

&lt;p&gt;This position paper tries to outline a framework for defining trackers
in smart phones and lists mechanisms for identifying them.  It hopes
to serve as the foundation for the work done in the
Tracking-the-Trackers project.&lt;/p&gt;

&lt;p&gt;In &lt;a href=&#34;#section-1-levels-of-unwanted-behaviour&#34;&gt;section 1&lt;/a&gt; we start with
an abstract analysis of levels of unwanted behaviour in the context of
tracking.&lt;/p&gt;

&lt;p&gt;Next, in &lt;a href=&#34;#section-2-an-attacker-s-perspective-and-a-taxonomy&#34;&gt;section
2&lt;/a&gt;, we focus on
an attacker’s perspective, on anonymity and pseudonymity. This
foundation allows us to define terms which are needed throughout the
paper.&lt;/p&gt;

&lt;p&gt;Finally, we list proposed mechanisms for identifying trackers - based
on the threat model (attacker) as well as the level of acceptable
tracking.&lt;/p&gt;

&lt;h2 id=&#34;scope&#34;&gt;Scope&lt;/h2&gt;

&lt;p&gt;This document talks about trackers in general on mobile devices
(smartphones). However, for the purpose of verification, we
exclusively focus on Android apps. First of all, Android has a &lt;a href=&#34;https://www.idc.com/promo/smartphone-market-share/os&#34;&gt;85%
global market
share&lt;/a&gt;, secondly
Android apps (APKs) are easier to work on.  With iOS apps, monitoring
trackers (or instrumenting running code) is not as easy as on Android
based systems.  Therefore, whenever any claims are made, we refer to
the Android ecosystem. We however believe that very similar behaviours
exist on iOS based systems.&lt;/p&gt;

&lt;p&gt;Also, this document does not talk about contact tracing (as in
Covid-19 contact tracing).&lt;/p&gt;

&lt;h2 id=&#34;section-1-levels-of-unwanted-behaviour&#34;&gt;Section 1: Levels of unwanted behaviour&lt;/h2&gt;

&lt;p&gt;The following section tries to categorize tracking respectively
potential unwanted behaviour in apps by level of severity. This is
done with a perspective for categories (labels) in a machine learning
approach.&lt;/p&gt;

&lt;h3 id=&#34;level-0-no-tracking-at-all-no-network-communication&#34;&gt;Level 0: No tracking at all / no network communication&lt;/h3&gt;

&lt;p&gt;The most harmless situation: an app is downloaded or shared in an
anonymous way (Tor, etc.) and only uses offline features and/or uses
unlinkable side channels for updates (for example flash cards).  An
example could be a map application which only displays a map and reads
a phone’s GPS position to display the user’s location. There is no
network communication at all and it still offers a useful service to
its users. Map updates may be installed via flash cards or other
physical transportation media. The app does not need to request a new
map interactively from any server.&lt;/p&gt;

&lt;h3 id=&#34;level-1-inadvertent-tracking&#34;&gt;Level 1: Inadvertent tracking&lt;/h3&gt;

&lt;p&gt;This category includes tracking but the service provider and the app
never intended to actually use the resulting data / meta-data for the
purpose of tracking individuals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: to illustrate this category, recall our map app from above. Only
this time, it does request map (base layer) updates from a map server  every 7
days. It also checks every day, if the map viewer app is the latest version.
Based on this information, an attack could theoretically derive weekly IP
address &amp;ldquo;beacons&amp;rdquo; from some user. Since the update check was not personalized,
an attack can not be for sure, if an update request is from the same person or
not.  Hence, a user still has potentially enough anonymity.&lt;/p&gt;

&lt;p&gt;This and the next category probably (to be verified) constitute the majority of
&amp;ldquo;clean&amp;rdquo; apps.&lt;/p&gt;

&lt;h3 id=&#34;level-2-unintentional-tracking-by-use-of-chatty-libraries&#34;&gt;Level 2: Unintentional tracking by use of chatty libraries&lt;/h3&gt;

&lt;p&gt;This category tracks users already quite heavily. The motive is not to increase
ad revenue, build up user profiles to sell them nor to pass on the data to an
aggregator. The unintentional tracking stems more from the fact that the app
developer(s) used libraries which help them in developing the app and/or which
are simply useful for the overall user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: if we revisit our map example, we could imagine that the map app
now also includes a search functionality. Users can type in the initial letters
of a street name and for every letter they type, an AJAX HTTP request is sent
to the map server. In addition, the developers felt that it would be useful to
receive APM (application performance monitoring) logs as well as crash reports
as well as a set of libraries to measure which features of an app the users
actually use the most. These logs are sent periodically to some log collection
server run by the developers.&lt;/p&gt;

&lt;p&gt;Note that we still do not talk about (Google, Facebook etc) cookies here. We
only talk about watching what users are typing (including backspace and
corrections - an attacker can literally watch their thoughts via the global
click-stream).&lt;/p&gt;

&lt;h3 id=&#34;level-3-ad-revenue-focused-tracking-of-users-and-or-user-behaviour-pseudonymized&#34;&gt;Level 3: Ad-revenue focused tracking of users and/or user behaviour (pseudonymized)&lt;/h3&gt;

&lt;p&gt;With this category, we are entering the area often described as surveillance
capitalism: users are receiving cookies (if it&amp;rsquo;s a web based app) and or have
unique IDs embedded in the app and these unique identifies (which are not tied
to a person in the first place and hence are a &amp;lsquo;nym of the user) are being sent
for nearly every network interaction. These IDs may (but not necessarily have
to ) serve as authentication / authorization token ( see OAUTH 1,2, OpenID
Connect) or may be purely auto-generated and simply serve for tracking actions
users takes over the course of his day (so that the interest of a user may be
extracted). These tracking IDs may then be forwarded and sold to aggregators.&lt;/p&gt;

&lt;p&gt;While this may be acceptable to some users, since the techniques use
pseudonymization, there is an implicit trap hidden in this approach: unique IDs
are usually long enough so that they are unique globally (for example UUID
strings). Thus, they can easily be correlated with real PII data and the
pseudonymization vanishes instantly.&lt;/p&gt;

&lt;h3 id=&#34;level-4-ad-revenue-focused-tracking-of-users-and-or-user-behaviour-linked-to-person&#34;&gt;Level 4: Ad-revenue focused tracking of users and/or user behaviour (linked to person)&lt;/h3&gt;

&lt;p&gt;This category fits most non-open source commercial apps such as FB messenger,
twitter, etc. (but it can occur as well in open source apps).  The business
model is to fully understand a user, his/her interests, his/her behaviour,
location (-&amp;gt; location tracking),  and very important - his/her circle of
friends (contacts), etc.  The &amp;ldquo;gold&amp;rdquo; in the app gold rush is a users&amp;rsquo; interest
and intent. In order to serve him/her adds better and faster (in the
sub-millisecond range). Again, as in the previous category, these tracking IDs
may then be forwarded and sold to aggregators.&lt;/p&gt;

&lt;p&gt;We assume the vast majority of apps fall into this category.&lt;/p&gt;

&lt;h3 id=&#34;level-5-full-scale-stealthy-tracking-surveilling-the-spouse-kids-state-actors-apt-attacks-general-surveillance-etc&#34;&gt;Level 5: Full scale stealthy tracking (surveilling the spouse, kids, state actors, APT attacks, general surveillance, etc.)&lt;/h3&gt;

&lt;p&gt;This category would fit any technique which tries to secretly monitor as many
actions on the whole smartphone (or potentially also via the smart phone on
computers) of a person.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: kids tracking apps. Or hidden apps which check what your
husband/wife is doing on his/her phone (and forwarding call logs , messages,
etc.). State actors tracking dissidents, journalists or any chosen target also
would use these techniques.&lt;/p&gt;

&lt;p&gt;Often these apps can be identified by their extended permissions but not
necessarily so. Well written apps in this category may be impossible to detect
without major reverse engineering efforts.&lt;/p&gt;

&lt;h2 id=&#34;conclusions&#34;&gt;Conclusions&lt;/h2&gt;

&lt;p&gt;Our work in the Tracking the Trackers project limits itself to Levels 3 and 4.
We intentionally omit level 5, since this is a cat-and-mouse game with the
attackers. It is rather trivial to change some behaviour for an attacker while
our detection mechanism remains open source.&lt;/p&gt;

&lt;h1 id=&#34;section-2-an-attacker-s-perspective-and-a-taxonomy&#34;&gt;Section 2: an attacker’s perspective and a taxonomy&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;There is nothing as practical as a good theory&amp;rdquo;
 &amp;ndash; Kurt Lewin&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This section builds upon the work of &lt;a href=&#34;http://dud.inf.tu-dresden.de/literatur/Anon_Terminology_v0.31.pdf&#34;&gt;Pfitzmann and
Hansen&lt;/a&gt;&lt;sup class=&#34;footnote-ref&#34; id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;
who did (to the author&amp;rsquo;s knowledge) the first thorough comparison of
terminology in literature with respect to the concepts of anonymity,
linkability, pseudonymity, etc. We believe that their work is a good
framework for thought. It also hints at some connections to Shannon&amp;rsquo;s
information theory and probability. However, the paper does not follow
through on the maths.&lt;/p&gt;

&lt;p&gt;The core insight of their work is that - if you include metadata of
communication flows over the internet, and if you assume an attacker which can
observe the whole network (passively)&lt;sup class=&#34;footnote-ref&#34; id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;, then true anonymity is nearly
impossible to achieve for any regular app or program.&lt;/p&gt;

&lt;p&gt;In this paper, we first briefly describe Pfitzmann&amp;rsquo;s and Hansens&amp;rsquo; model and
especially their attacker&amp;rsquo;s model / threat model. We then replicate their
definitions and add some definitions of our own. The next step is to link their
definitions to our categories of tracking.&lt;/p&gt;

&lt;p&gt;Equipped with these theoretical tools, we can proceed to define what we
consider tracking in Android apps and derive feature sets for an ML based
approach.&lt;/p&gt;

&lt;h2 id=&#34;the-pfitzmann-hansen-threat-model&#34;&gt;The Pfitzmann-Hansen threat model&lt;/h2&gt;

&lt;p&gt;The threat model assumes a classical sender-receiver (source/sink) information
model where the communication network is usually the internet. They assume an
attacker to be yet another (possibly all-knowing) passive receiver. If messages
pass the communication network, attributes (i.e. meta-data&lt;sup class=&#34;footnote-ref&#34; id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; such as time +
time zone when a message was sent, received, the packet size, the protocols
used etc) may be derived by a receiver. These attributes may become another new
message.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;sender-receiver-model.png&#34; alt=&#34;sender-receiver-model&#34; /&gt;&lt;/p&gt;

&lt;p&gt;If we apply  Pfitzmann&amp;rsquo;s and Hansens&amp;rsquo; model to our levels, we arrive at the following insights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Level 0&lt;/strong&gt;: the app is quiet → no harm, an all-knowing attacker can see the download of a level 0 app in the very best of cases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level 1&lt;/strong&gt;: the passive attack may derive IP addresses (and hence some ideas of a user’s location) and time stamps of when the app was in use. → the passive attacker can already track the user to some extent iff (if and only if) he also has access to the telecom’s IP address assignment database for that particular time window. This is usually only possible for nation state attackers. &lt;strong&gt;→&lt;/strong&gt; out of scope.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level 2&lt;/strong&gt;: In this scenario, it already depends a lot if the app is sending APMs, crash reports, or other “chatty library” messages. If unencrypted, a passive attacker may - already in this category gain a lot of information on the user.  &lt;strong&gt;→&lt;/strong&gt; we propose to include detection of APMs/crash reporting libraries in future versions of the tracking the trackers project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level 3&lt;/strong&gt;: While it is nice to notice that the developers tried to pseudonymise tracking in this category, it does not help the user very much. As long as a passive attacker may detect the pseudonymized IDs in messages flowing to a central server, he wins. He can track the user. Countermeasure: a guaranteed rotation of these unique IDs/tokens every x seconds (at fixed intervals).
→ we propose to look at this level of tracking in our research in order to identify unique tokens/API keys, unique IDs in apps which are easily detectable in order to guide the F-Droid store developer on how to avoid common pitfalls associated with fixed IDs/API keys etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level 4&lt;/strong&gt;: for an attacker, this is the gold mine. Here, nearly every action may be passively observed. This is the case, we assume to be the most prevalent one in most apps (proof: just take a random app and look at the tcpdump stream of data it sends every second). We will aim to detect the most common tracking libraries.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level 5&lt;/strong&gt;: here the attacker basically gains an upgrade from a passive attacker to an active attacker should he wish so. Game over for the user → out of scope for our research.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;summary&#34;&gt;Summary&lt;/h1&gt;

&lt;p&gt;We identified a rough categorization of 5 levels of tracking. We reasoned what
information an attacker may gain at each level and we defined the scope of our
research.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;(&lt;em&gt;This work was supported by NLnet&amp;rsquo;s &lt;a href=&#34;https://nlnet.nl/thema/NGIZeroPET.html&#34;&gt;NGI Zero PET&lt;/a&gt; fund.&lt;/em&gt;)&lt;/p&gt;
&lt;div class=&#34;footnotes&#34;&gt;

&lt;hr /&gt;

&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;&amp;ldquo;Anonymity, Unlinkability, Undetectability, Unobservability, Pseudonymity, and Identity Management – A Consolidated Proposal for Terminology&amp;rdquo;, 2008, Andreas Pfitzmann (TU Dresden), Marit Hansen (ULD Kiel). &lt;a href=&#34;http://dud.inf.tu-dresden.de/literatur/Anon_Terminology_v0.31.pdf&#34;&gt;http://dud.inf.tu-dresden.de/literatur/Anon_Terminology_v0.31.pdf&lt;/a&gt;
 &lt;a class=&#34;footnote-return&#34; href=&#34;#fnref:1&#34;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;An assumption which is not far fetched - see the Snowden papers.
 &lt;a class=&#34;footnote-return&#34; href=&#34;#fnref:2&#34;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;Compare with the quote &amp;ldquo;we kill people based on metadata&amp;rdquo; by the former CIA/NSA director Hayden. &lt;a href=&#34;https://abcnews.go.com/blogs/headlines/2014/05/ex-nsa-chief-we-kill-people-based-on-metadata&#34;&gt;https://abcnews.go.com/blogs/headlines/2014/05/ex-nsa-chief-we-kill-people-based-on-metadata&lt;/a&gt;
 &lt;a class=&#34;footnote-return&#34; href=&#34;#fnref:3&#34;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Free Software Tooling for Android Feature Extraction</title>
      <link>https://guardianproject.info/2020/05/06/free-software-tooling-for-android-feature-extraction/</link>
      <pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/05/06/free-software-tooling-for-android-feature-extraction/</guid>
      <description>

&lt;p&gt;As part of the Tracking the Trackers project, we are inspecting
thousands of Android apps to see what kinds of tracking we can find.
We are looking at both the binary APK files as well as the source
code.  Source code is of course easy to inspect, since it is already a
form that is meant to be read and reviewed by people.  Android APK
binaries are a very different story.  They are first and foremost a
machine-executable format.  On top of that, many developers
deliberately obfuscate as much as possible in the APK to resist
inspection.&lt;/p&gt;

&lt;p&gt;That means inspection requires using tools to look into the binary APK
format.  There is actually a massive amount of work that goes into
inspecting APKs because this is required in order to do useful malware
analysis.  For the most part, these inspection techniques are the
malware companies&amp;rsquo; &amp;ldquo;special sauce&amp;rdquo;, so they are proprietary and
generally kept secret.  On top of that, malware companies keep secret
a lot of the conclusions they about what is useful data to collect,
and what should be ignored.&lt;/p&gt;

&lt;p&gt;One key piece of the Tracking the Trackers project is to make all of
research, tooling, and conclusions free, open, and publicly available.
First and foremost, that means the tools must be free software.  They
should also be easily installable so the barrier to entry for new
inspectors is as low as possible.  We focus on getting software as
part of Debian, since once there, so many people have access to those
packages since Ubuntu, Kali, and so many other GNU/Linux distros are
based on Debian.&lt;/p&gt;

&lt;h2 id=&#34;what-is-available-in-debian-already&#34;&gt;What is available in Debian already&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/2015/04/30/getting-android-tools-into-debian/&#34;&gt;Our
work&lt;/a&gt;
with the &lt;a href=&#34;https://wiki.debian.org/AndroidTools&#34;&gt;Debian Android Tools
Team&lt;/a&gt; and &lt;a href=&#34;https://java.debian.net/&#34;&gt;Debian Java
Team&lt;/a&gt; over the years means many key tools
are already included in Debian and its derivatives, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;key Android SDK components like &lt;em&gt;apksigner&lt;/em&gt;, &lt;em&gt;dx&lt;/em&gt; and &lt;em&gt;android.jar&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;apktool&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;dexdump/dexlist&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;enjarify&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;LibScout&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;libsmali&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;procyon&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;tools-we-are-using&#34;&gt;Tools we are using&lt;/h2&gt;

&lt;p&gt;One key aspect of our research is that working with terabytes of APKs,
this is necessary to be able to spot and map out as many trackers as
possible.  Since feature extraction can be a slow and resource
intensive process, we needed to use some tools that emphasize speed
over flexibility.  Even with fast extraction tools, we still have to
build up tailored processes to speed things up.  Some of these
straightforward feature extraction processes would take months to run
on ~3TB of APKs on a 32-thread machine with 144GB of RAM.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/reddr/LibScout&#34;&gt;LibScout&lt;/a&gt; - detect SDKs/libraries with their version in binary APKs&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/avast/apkparser&#34;&gt;https://github.com/avast/apkparser&lt;/a&gt; - faster manifest/resources parser&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/avast/apkverifier&#34;&gt;https://github.com/avast/apkverifier&lt;/a&gt; - faster APK signature verifier&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/jedisct1/ipgrep&#34;&gt;https://github.com/jedisct1/ipgrep&lt;/a&gt; - ipgrep extracts possibly obfuscated host names and IP addresses from text, resolves host names, and prints them, sorted by ASN.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/stricaud/faup&#34;&gt;https://github.com/stricaud/faup&lt;/a&gt; - Fast URL decoder library&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/cryptax/droidlysis&#34;&gt;https://github.com/cryptax/droidlysis&lt;/a&gt; - Quickly analyze APKs for the most essential features: permissions, &lt;code&gt;Activity&lt;/code&gt; and &lt;code&gt;BroadcastReceiver&lt;/code&gt; names, and key method calls.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;apkverifier&lt;/em&gt;, &lt;em&gt;apkparser&lt;/em&gt;, and &lt;em&gt;droidlysis&lt;/em&gt; are generally useful, but
not yet in Debian.  So we packaged them to make them easily available.
They are currently in the &lt;a href=&#34;https://ftp-master.debian.org/new.html&#34;&gt;Debian
NEW&lt;/a&gt; queue, awaiting final
review before inclusion.&lt;/p&gt;

&lt;p&gt;These tools have been assembled into scripts to run the actual feature
extract processes, they are maintained in the
&lt;a href=&#34;https://gitlab.com/trackingthetrackers/extracted-features&#34;&gt;https://gitlab.com/trackingthetrackers/extracted-features&lt;/a&gt; repo.  When
the actual data generated is small enough and there are not copyright
conflicts, the data is also included there.  Mostly, the data sets are
too large and sometimes touch on copyright restrictions, so they are
unfortunately not publicly available.&lt;/p&gt;

&lt;p&gt;There are lots of other tasks, including managing large APK
collections, gathering data to generate statistics about the features,
and downloading publicly available tracker SDK.  Those scripts are
maintained in &lt;a href=&#34;https://gitlab.com/trackingthetrackers/scripts&#34;&gt;https://gitlab.com/trackingthetrackers/scripts&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;gradle-plugins&#34;&gt;Gradle Plugins&lt;/h3&gt;

&lt;p&gt;When working with source code, then it is possible to do other kinds
of analysis.  Most Android apps are built with the Gradle tool.  So we
reviewed a wide range of Gradle plugins, and found these three useful
in our investigations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin&#34;&gt;dependency-analysis-android-gradle-plugin&lt;/a&gt; - Produce a report of unused direct dependencies and used transitive dependencies.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/jeremylong/DependencyCheck&#34;&gt;OWASP Dependency-Check&lt;/a&gt; - utility that detects publicly disclosed vulnerabilities in application dependencies&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/vanniktech/gradle-dependency-graph-generator-plugin/&#34;&gt;gradle-dependency-graph-generator-plugin&lt;/a&gt; - Gradle plugin that lets you visualize your Java library dependencies in a graph.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;tools-we-reviewed&#34;&gt;Tools we reviewed&lt;/h2&gt;

&lt;p&gt;We looked at quite a few existing tools, and found many interesting
and useful ones.  While they all produced useful output, many of these
were not useful to this project because they were tailored around the
use case of a person inspecting a small set of apps, so for example,
they were too slow or did not produce machine readable output suitable
for working with large APK collections.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/U039b/android_permissions_harvester&#34;&gt;android_permissions_harvester&lt;/a&gt; - for finding which permissions are used based on method calls&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/cryptax/droidlysis&#34;&gt;droidlysis&lt;/a&gt; - cryptax&amp;rsquo;s (aXelle&amp;rsquo;s) tool: &amp;ldquo;DroidLysis is a property extractor for Android apps&amp;rdquo;. See also her &lt;a href=&#34;https://cfp.hack.lu/hacklu19/talk/ZZKNSM/&#34;&gt;talk at hacklu 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/rednaga/APKiD&#34;&gt;APKiD&lt;/a&gt; - &amp;ldquo;In addition to detecting packers, obfuscators, and other weird stuff, it can also identify if an app was compiled by the standard Android compilers or dexlib&amp;rdquo;&lt;a href=&#34;https://rednaga.io/2016/07/31/detecting_pirated_and_malicious_android_apps_with_apkid/&#34;&gt;[1]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/facebook/redex&#34;&gt;redex&lt;/a&gt; - &amp;ldquo;taking advantage of Redex allows us to normalise the applications prior to analysis&amp;rdquo;&lt;a href=&#34;https://blog.quarkslab.com/android-application-diffing-analysis-of-modded-version.html&#34;&gt;[1]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/kaitai-io/kaitai_struct_formats/blob/master/executable/dex.ksy&#34;&gt;kaitai_struct_formats&lt;/a&gt; - generic binary struct parser tool, useful for directly parsing Android &lt;em&gt;classes.dex&lt;/em&gt; files.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/armijnhemel/binaryanalysis-ng&#34;&gt;binaryanalysis-ng&lt;/a&gt; - a framework for unpacking files recursively and running checks on the unpacked files.  Great for someone who needs to inspect small sets of a wide variety of file types.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/plum-umd/redexer&#34;&gt;redexer&lt;/a&gt; - infer with which parameters the app uses certain permissions (we name this feature RefineDroid)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/ytliu/apk-static-xref&#34;&gt;apk-static-xref&lt;/a&gt; - staticallly generate a cross-reference-graph (XRG) of a component (e.g., Service) of Android APK file&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/dorneanu/smalisca&#34;&gt;smalisca&lt;/a&gt; - Static Code analysis tool that generates call graphs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(&lt;em&gt;This work was supported by NLnet&amp;rsquo;s &lt;a href=&#34;https://nlnet.nl/thema/NGIZeroPET.html&#34;&gt;NGI Zero PET&lt;/a&gt; fund.&lt;/em&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>&#34;Features&#34; for Finding Trackers</title>
      <link>https://guardianproject.info/2020/04/28/features-for-finding-trackers/</link>
      <pubDate>Tue, 28 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/04/28/features-for-finding-trackers/</guid>
      <description>

&lt;p&gt;One key component of the Tracking the Trackers project is building a
machine learning (ML) tool to aide humans to find tracking in Android
apps. One of the most important pieces of developing a machine
learning tool is figuring out which &amp;ldquo;features&amp;rdquo; should be fed to the
machine learning algorithms. In this context, features are
constrained data sets derived from the whole data set. In our case,
the whole data set is terabytes of APKs. This post is an outline of
the features that we are focusing on in this current project.&lt;/p&gt;

&lt;h1 id=&#34;confirmed-features&#34;&gt;Confirmed Features&lt;/h1&gt;

&lt;p&gt;These are features that we will definitely used, and already have good
tooling to do the &lt;a href=&#34;https://en.wikipedia.org/wiki/Feature_extraction&#34;&gt;feature
extraction&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;permissions&#34;&gt;Permissions&lt;/h2&gt;

&lt;p&gt;Android apps must request
&lt;a href=&#34;https://developer.android.com/guide/topics/permissions/overview&#34;&gt;permissions&lt;/a&gt;
from the Android OS to access sensitive user data as well as certain
system features. This can naturally give big hints towards tracking
attempts. Basically an app which does not request any permissions will
have a much harder time of tracking its users, while an app aimed
towards tracking will require a myriad of permissions depending on the
properties it desires to track (e.g. location, contacts, phone IDs,
Bluetooth IDs, WiFi IDs, camera/microphone-access, call-logs and many
more)&lt;/p&gt;

&lt;h2 id=&#34;tracking-libraries-and-sdks&#34;&gt;Tracking Libraries and SDKs&lt;/h2&gt;

&lt;p&gt;Code re-use plays a big role in any software project, why write your
own tracking functionality when someone else has already implemented a
whole library geared towards tracking users. This functionality is
provided by different SDKs, which are pre-configured bundles of
functionality which in turn (for this use case) are provided by
tracking companies. The app developer often has to choose the desired
functionality. While importing a tracking library is no guarantee for
tracking activities it is certainly a red flag. We compare the
libraries imported by the app with a list of known tracking libraries.&lt;/p&gt;

&lt;h2 id=&#34;domain-names&#34;&gt;Domain Names&lt;/h2&gt;

&lt;p&gt;Developers leave URLs in form of strings in the code to allow exchange
of information with the world outside of the app. This can be used to
transfer information about the user which in turn can be used for
tracking. The domains often contain a hint about the purpose behind
the data transfer (e.g. &lt;code&gt;https://www.google-analytics.com&lt;/code&gt;). Domain names
are data sinks for collecting data, which gives us a clear point to
focus on analyzing since collecting tracking data does not matter if
it never leaves the local device, while domain names are the point in
the code where data leaves the device and is sent to be collected and
analyzed on a remote server. Combined with other features like
permissions and seeing tracking libraries being imported a human
reviewer could get a pretty good idea of what type of information
could be sent. This human &amp;ldquo;gut feeling&amp;rdquo; of recognizing fishy
combinations of features is something a neural network can often learn
to approximate by being trained on a sufficient amount of training
data. Domain names known to be relevant to tracking are collected and
maintaned by &lt;a href=&#34;https://exodus-privacy.eu.org/en/&#34;&gt;Exodus Privacy&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&#34;new-experimental-features&#34;&gt;New Experimental Features&lt;/h1&gt;

&lt;p&gt;These are features that show a lot of promise, but there is not
existing tooling to easily work with them.  We are working to make it
easier, and will cover that work in future posts.&lt;/p&gt;

&lt;h2 id=&#34;api-key-id&#34;&gt;API Key ID&lt;/h2&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/Exodus-Privacy/etip/issues/62&#34;&gt;&lt;em&gt;API Key ID&lt;/em&gt;&lt;/a&gt;
is a string that identifies bit of authentication data for enabling
access to an online service. Many online services require an &lt;em&gt;API Key&lt;/em&gt;
even if a library or SDK is not required to access it. Even when the
SDK is detected, the presence of an &lt;em&gt;API Key&lt;/em&gt; shows that the tracking
function is actually enabled. For example, the Google Firebase SDK
includes lots of functionality, not only tracking, each of which must
be enabled with an &lt;em&gt;API Key&lt;/em&gt;. So the presence of Firebase is not
enough to confirm tracking. A &lt;a href=&#34;https://en.epicenter.works/content/analysis-of-the-stopp-corona-app-improvements-through-expert-report&#34;&gt;current
example&lt;/a&gt;
of exactly this is the Austrian Red Cross&amp;rsquo; &lt;em&gt;Stopp Corona&lt;/em&gt; app to track
the spread of covid-19 in Austria.&lt;/p&gt;

&lt;h2 id=&#34;natural-language-processing-nlp&#34;&gt;Natural Language Processing (NLP)&lt;/h2&gt;

&lt;p&gt;As mentioned under the section on domain names, domain names can
already give a clear hint at intent. However since this property is
well known, URLs might be obfuscated to hide this information. This
domain name obfuscation is a well known technique in the world of
malware, there is some evidence of use by tracking companies. In this
case, a language model might learn that any URL that looks like random
letters and numbers might be a sign to consider increasing the
probability of classifying this app as tracking slightly, depending on
other features like requested permissions, and imported tracking
libraries.&lt;/p&gt;

&lt;h2 id=&#34;broadcast-receivers&#34;&gt;Broadcast Receivers&lt;/h2&gt;

&lt;p&gt;Android provides a system for data to be broadcast to all apps on a
device, this is known as a &lt;a href=&#34;https://developer.android.com/guide/components/broadcasts&#34;&gt;&lt;em&gt;Broadcast
Receiver&lt;/em&gt;&lt;/a&gt;.
A wide range of data is available via this mechanism, both from the
Android system as well as apps.  The Android OS broadcasts detailed
information about the &lt;a href=&#34;https://developer.android.com/training/monitoring-device-state/battery-monitoring&#34;&gt;battery level, health, and charging
status&lt;/a&gt;,
including details of &lt;a href=&#34;https://developer.android.com/reference/android/os/BatteryManager#BATTERY_PLUGGED_AC&#34;&gt;how its
charging&lt;/a&gt;.
Many music apps will broadcast detailed information about the song
being played, while also &lt;a href=&#34;https://gitlab.com/trackingthetrackers/wiki/-/issues/5&#34;&gt;collecting those
events&lt;/a&gt; from
the system and other apps.  The full extent of this activity is not
well described, both what data is broadcasted, what apps are doing
with it, and which apps are collecting.  As a feature, &lt;em&gt;Broadcast
Receivers&lt;/em&gt; have a lot of promise since they fit the patterns of useful
features for machine learning: small, globally unique, and easy to
extract.&lt;/p&gt;

&lt;h1 id=&#34;feature-extraction-process&#34;&gt;Feature Extraction Process&lt;/h1&gt;

&lt;p&gt;We are using tabular data to feed to the machine learning processes,
so the process of extracting and pre-processing different features for
classification includes similar steps for every feature. The number of
features that can reasonably be processed this way is limited to
probably tens of thousands of features, or perhaps even hundreds of
thousands. Therefore we have collections of the top-&lt;em&gt;n&lt;/em&gt; features where
&lt;em&gt;n&lt;/em&gt; is in the range of thousands: For example, the top thousand
tracking libraries, or all built-in permissions. This way we extract
the features out of the binary APK file, and source code when
available, and loop over our collections of known features. If the
feature was found in the APK/source the tabular data will be a 1, else
a 0.&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;This work was supported by NLnet&amp;rsquo;s &lt;a href=&#34;https://nlnet.nl/thema/NGIZeroPET.html&#34;&gt;NGI Zero PET&lt;/a&gt; fund.&lt;/em&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Figuring Out Crowdsourced Translation of Websites</title>
      <link>https://guardianproject.info/2020/04/23/figuring-out-crowdsourced-translation-of-websites/</link>
      <pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/04/23/figuring-out-crowdsourced-translation-of-websites/</guid>
      <description>

&lt;p&gt;Crowdsourced translation platforms like &lt;a href=&#34;https://weblate.org/&#34;&gt;Weblate&lt;/a&gt;, Transifex, Crowdin, etc. have proven to be a hugely productive way to actively translate apps and desktop software.  Long form texts like documentation and websites remain much more work to translate and keep translated.  Many translation services currently support Markdown and HTML, but very basically, which means much more work for translators and webmasters.  Translators can inadvertently break things, either with a typo or because of a lack of knowledge of a specific syntax.  This can make the whole page layout break.  Webmasters and documentation maintainers must carefully check the process to ensure everything is working smoothly.  With the spread of Markdown as a standard format, there is now hope!  Software developers can focus efforts on the Markdown translation workflow, and Markdown is more tolerant of syntax errors than HTML.&lt;/p&gt;

&lt;p&gt;Guardian Project has been working for a decade on making localization and the long term maintenance of translation a lot easier for developers and translators.  We call this ongoing collaborative effort &amp;ldquo;Linguine&amp;rdquo; after a name chosen in a multi-project meeting.  One of the biggest usability barriers in the world of software and the internet is language.  Most of the world does not speak English, yet most of &lt;a href=&#34;https://www.bbc.com/future/article/20200414-the-many-lanuages-still-missing-from-the-internet&#34;&gt;the internet is written in English&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Maya_script&#34;&gt;&lt;img src=&#34;Tortuguero_Box_WDL2658.png&#34; alt=&#34;Tortuguero Box&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;the-app-workflow&#34;&gt;The App Workflow&lt;/h2&gt;

&lt;p&gt;The developer of an Android or iOS app does not need to know much
about localization or translation in order to make their apps fully
translated.  Both supported translation from the
beginning as a native feature.  Software strings are already broken up into
small chunks, which fit nicely into crowdsourced translation software.  The progress bars and step-by-step user experiences map easily to these strings.  The string file formats also allow for all sorts of valuable &lt;a href=&#34;https://docs.weblate.org/en/latest/formats.html#xliff&#34;&gt;metadata&lt;/a&gt; the give translators context and guidance, as well as to enable automated checks.  The strings of an app also do not to be 100% translated to be useful.  For example, if all strings are translated except for those
in a new feature, most users will never even notice the missing
translations.  If only the most commonly seen strings are translated, that translation can still be useful since it will provide the user with enough to navigate all the features of the app.  Here are three examples of app strings for translation:&lt;/p&gt;

&lt;p&gt;Android &lt;em&gt;strings.xml&lt;/em&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;string name=&amp;quot;app_details__no_versions__show_incompat_versions&amp;quot;&amp;gt;To show incompatible versions here anyway, enable the \&amp;quot;%1$s\&amp;quot; setting.&amp;lt;/string&amp;gt;
&amp;lt;string name=&amp;quot;app_details__no_versions__no_compatible_signatures&amp;quot;&amp;gt;No versions with compatible signature&amp;lt;/string&amp;gt;
&amp;lt;string name=&amp;quot;app_details__no_versions__none_compatible_with_device&amp;quot;&amp;gt;No versions compatible with device&amp;lt;/string&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Python &lt;em&gt;gettext .po&lt;/em&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-gettext&#34;&gt;#: ../fdroidserver/build.py
msgid &amp;quot;Don&#39;t create a source tarball, useful when testing a build&amp;quot;
msgstr &amp;quot;不创建源码 tarball 文件，便于内部版本测试&amp;quot;

#: ../fdroidserver/stats.py
msgid &amp;quot;Don&#39;t do anything logs-related&amp;quot;
msgstr &amp;quot;请勿做任何日志相关的操作&amp;quot;

#: ../fdroidserver/build.py
msgid &amp;quot;Don&#39;t refresh the repository, useful when testing a build with no internet connection&amp;quot;
msgstr &amp;quot;不刷新资源库，便于没有互联网时的内部版本测试&amp;quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;i18next&lt;/em&gt; JSON:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-json&#34;&gt;{
    &amp;quot;package&amp;quot;: {
        &amp;quot;anti_features&amp;quot;: &amp;quot;Anti-Features&amp;quot;,
        &amp;quot;added_on&amp;quot;: &amp;quot;Added on {{ package_added_date }}&amp;quot;,
        &amp;quot;signed_by_fdroid&amp;quot;: &amp;quot;It is built and signed by F-Droid, and guaranteed to correspond to &amp;lt;a href=\&amp;quot;{{ source_code_url }}\&amp;quot;&amp;gt;this source tarball&amp;lt;/a&amp;gt;.&amp;quot;,
        &amp;quot;suggest_downloading_via_fdroid&amp;quot;: &amp;quot;Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it&#39;s a less secure way to download. We recommend that you install the F-Droid client and use that.&amp;quot;,
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;long-form-text&#34;&gt;Long Form Text&lt;/h2&gt;

&lt;p&gt;With documentation, blog posts, and other long form text, it is a very different story.  To start with, there are lots of debates of how best to break up a text: paragraphs, sentences, or whole pages?  Does each bullet point count as a paragraph or a sentence?  Do these rules work for both blog posts, which rarely change after publication, as well as documentation, which must be kept updated?  Also, measuring the translation &amp;ldquo;completeness&amp;rdquo; of a long text is harder.  If a blog post is 80% translated, it will be very disconcerting for readers when sections switch to English and back.  A documentation page that is 20% translated is not useful.&lt;/p&gt;

&lt;p&gt;With websites, there is also more varied context than with software strings: paragraphs, titles, bullet points, code blocks, &lt;a href=&#34;https://jekyllrb.com/docs/front-matter/&#34;&gt;YAML Front Matter&lt;/a&gt;, etc.  There is currently no way to add translation metadata directly to the Markdown or HTML document, so that context is often missing, or it must be manually entered in the translation platform.   One really nice property of Markdown is that the plain text version looks good, so if the writer messes up the markup syntax, all is not lost.  Translation software can be made to fully &amp;ldquo;understand&amp;rdquo; Markdown (e.g. the &lt;a href=&#34;https://en.wikipedia.org/wiki/Abstract_Syntax_Tree&#34;&gt;AST&lt;/a&gt;), and provide automated syntax checks.  Such an approach might totally fail if someone messes up the markup in the source document.  In that case, a more naive direct representation might work better.  Sites that run linters will want the AST approach, sites with non-technical writers might not.  In short: Crowdin, Transifex, and Weblate currently support Markdown, but in a limited way. And these limitations mean much more work for translators, developers, and webmasters.&lt;/p&gt;

&lt;p&gt;If the translators are technically savvy and know the topic and syntaxes well, then the webmaster doesn&amp;rsquo;t need to worry too much.  The translation platform will make it easier for the translators to keep the translations maintained.  Another key benefit of crowdsourced translation is that translators don&amp;rsquo;t need as much technical skill to meaningfully contribute, as long as the project fits well into the translation workflow.  Due to the current complexity of websites and limitations of the tooling, there is still no single translation workflow for long form text that works well for the majority of websites and documentation.  That means it is important to know available workflows and understand which one fits best to your project.&lt;/p&gt;

&lt;h2 id=&#34;user-experience-breakdown&#34;&gt;User Experience Breakdown&lt;/h2&gt;

&lt;p&gt;Website localization is also not nearly as standardized as apps.  With apps, a single translation workflow will work for basically all cases.  For websites, that is not possible since there are so many different kinds of texts and requirements.  For some documentation, it is acceptable to have 20% of the text slightly out of date in the translation.  For other documentation, each page needs to be 100% complete, otherwise the original English should be shown.  A good translation experience therefore requires customization.&lt;/p&gt;

&lt;p&gt;The workflow will also vary based on the content and the skills that the translators have.  If it is deeply technical documentation, then the translators will be comfortable markup and code syntax since they must have technical knowledge in order to translate the materials.  The translators will prefer being closer to the source format.  If the content is blog posts from an organization advocating good governance, then the translators are mostly going to be non-technical, and the workflow should minimize exposure to technical details like &lt;a href=&#34;https://jekyllrb.com/docs/front-matter/&#34;&gt;YAML Front Matter&lt;/a&gt; blocks.&lt;/p&gt;

&lt;p&gt;One large, complicated example is the &lt;a href=&#34;https://f-droid.org&#34;&gt;F-Droid&lt;/a&gt; website, which is built with Jekyll.  It has five different kinds of materials that need to be translated, each with its own distinct requirements: &lt;a href=&#34;https://hosted.weblate.org/projects/f-droid/website/&#34;&gt;chrome strings&lt;/a&gt;, &lt;a href=&#34;https://hosted.weblate.org/projects/f-droid/website-pages/&#34;&gt;pages&lt;/a&gt;, &lt;a href=&#34;https://hosted.weblate.org/projects/f-droid/website-docs/&#34;&gt;docs&lt;/a&gt;, &lt;a href=&#34;https://hosted.weblate.org/projects/f-droid/website-posts/&#34;&gt;blog posts&lt;/a&gt;, and &lt;a href=&#34;https://hosted.weblate.org/projects/f-droid/website-tutorials/&#34;&gt;tutorials&lt;/a&gt;.  In order to group the strings by these requirements, the site uses &lt;em&gt;i18next&lt;/em&gt; JSON for use in Jekyll Liquid tags and custom &lt;a href=&#34;https://po4a.org/&#34;&gt;&lt;em&gt;po4a&lt;/em&gt;&lt;/a&gt; sections to handle the Markdown and YAML Front Matter.  &lt;em&gt;po4a&lt;/em&gt; makes it possible to group the translation levels per-section, then add requirements: the entire &amp;ldquo;pages&amp;rdquo; section must be ~95% translated for inclusion, while &amp;ldquo;docs&amp;rdquo; and &amp;ldquo;blog posts&amp;rdquo; sections can be untranslated.  Each individual blog post must be completely translated to be published.  Each documentation page must be 90% translated to be published.  It is not 100% to allow for some time lag between when the original is updated, and the translated is updated.  Ideally, the source string edits could be marked as &amp;ldquo;typo correction&amp;rdquo; vs &amp;ldquo;update&amp;rdquo; to aid making better automatic decisions about which translations should still be published.&lt;/p&gt;

&lt;h2 id=&#34;process-and-people&#34;&gt;Process and People&lt;/h2&gt;

&lt;p&gt;If there are people fully engaged in all parts of the translation process, then it is possible to tightly coordinate the updates to the source and the translations.  Other projects rely on crowdsourced translations because
it is easier for them to acquire volunteer contributions than increasing translation budgets.  So the advantages and disadvantages of various workflows have to be weighed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delay publishing the source update until the translations are done.&lt;/li&gt;
&lt;li&gt;Translated pages are reverted to English unless they are 100% updated.&lt;/li&gt;
&lt;li&gt;Translated pages show outdated parts until they are updated.&lt;/li&gt;
&lt;li&gt;Translated pages show English parts until they are updated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are other trade-offs to consider in terms of the relationship between the translator and the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only trusted translators who can directly update the translations:

&lt;ul&gt;
&lt;li&gt;Rapid time to publish&lt;/li&gt;
&lt;li&gt;Less work to translate&lt;/li&gt;
&lt;li&gt;Much fewer languages supported&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Trusted reviewers with any contributions from any translator:

&lt;ul&gt;
&lt;li&gt;More language coverage, quality control from multiple eyeballs on every string&lt;/li&gt;
&lt;li&gt;Asynchronous, unpredictable workflow&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Contributions from any translator:

&lt;ul&gt;
&lt;li&gt;Rapid maintenance updates and even more languages&lt;/li&gt;
&lt;li&gt;More errors in translation, including potentially vandalous or malicious contributions&lt;/li&gt;
&lt;li&gt;Skilled translators will be less interested in contributing&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When it is possible to achieve 100% translation, like on a small site or when there is a budget to pay for all the documentation to be translated, then the workflow is a lot simpler.  That allows the tools to have a more direct user experience.  Volunteer-based, &amp;ldquo;best effort&amp;rdquo; translation is a different story.  Then it is important to clearly represent which strings and pages should be translated first, and which are non-essential.  Crowdin, for example, can show all the documents in a familiar looking file browser, with nice progress bars.  There is no indication of priority.  This is great if someone is paid to complete the full translation, but is much less clear for volunteers to jump in and contribute to the more important parts.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;crowdin-markdown-dir.png&#34; alt=&#34;&#34; /&gt;
&lt;em&gt;Crowdin project file navigation&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, there is no shining example of a user experience that covers this second scenario well.  Weblate provides one good tool, where the strings are presented to the translator in order of the priority set in the metadata (e.g. like &lt;a href=&#34;https://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#priority&#34;&gt;XLIFF&amp;rsquo;s &lt;em&gt;priority&lt;/em&gt;&lt;/a&gt;).  The translator just needs to start translating the first strings Weblate presents.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;crowdin-priority.png&#34; alt=&#34;&#34; /&gt;
&lt;em&gt;One hack to add priority to Markdown for Crowdin&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;mass-changes-versus-merge-conflicts&#34;&gt;Mass Changes versus Merge Conflicts&lt;/h2&gt;

&lt;p&gt;Sometimes you have to make a small change to some of the coding of the website.  The website has suddenly gotten a lot more popular, so you need to work on making the caching work a lot better to reduce the load.  That means changing all of file references to include a version or hash value.  Those links are also in the source strings that are fed to the translation system.  And each change to the source strings prompts all of the translators to update their translations.  Normally, this is exactly what should happen.  But in this scenario, the translation should not change since it is just the links that changed.  To handle this, the webmaster or developer needs to be able to do mass edits on the source and translation while having a way to tell the translation system to ignore this change.  This can easily cause merge conflicts if a translator is working at the same time.&lt;/p&gt;

&lt;p&gt;If these small changes only happen in source, the translations will be marked as needing an update.  Some platforms try to be smart about detecting changes, and will even mark strings as changed if both the source and translation were updated together.  That produces another scenario: The website fully translated into Tibetan, but now the translator has disappeared.  So those trivial changes are bumping more and more strings out of the translation, and soon it will be death by a thousand paper cuts and the Tibetan translation gets kicked out even though the underlying text is current.  It is just the inline code updates that are marking things as out of date.&lt;/p&gt;

&lt;h2 id=&#34;automation-and-checks&#34;&gt;Automation and Checks&lt;/h2&gt;

&lt;p&gt;One essential part of any translation workflow is automated checks to make sure that the syntax has not been broken in the translation process.  Translation platforms must provide clear errors to the translators, otherwise all of these problems will be pushed to the webmaster or developer who imports new translations.  Or worse, they are overlooked and cause crashes or break layouts.  Good metadata is a key piece of that process.  For example, &lt;em&gt;i18next&lt;/em&gt; &lt;code&gt;{{ interpolation }}&lt;/code&gt; is not the same as Python &lt;code&gt;{format_strings}&lt;/code&gt;, though they look quite similar.  The metadata should include the file type and any relevant syntaxes.  Most developers are not aware of all of the details of the translation process, so these checks should be enabled automatically, as much as possible.  Manually enabling checks can be very hard to understand, since you have to understand both the developer&amp;rsquo;s and translators points of view. These checks really pay off, like when technical contributors can go straight to strings with failing checks and fix the syntax problems, without any knowledge of the languages involved.  This is in contrast to a project&amp;rsquo;s Continuous Integration (CI) tests, which generally only the software&amp;rsquo;s maintainers follow. The barrier to entry for fixing failing checks is much lower since they are standardized across every project on the translation platform.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;weblate-checks.png&#34; alt=&#34;&#34; /&gt;
&lt;em&gt;Weblate highlights failing checks, the error counts are clickable to edit them all.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;weblate-failing-checks.png&#34; alt=&#34;&#34; /&gt;
&lt;em&gt;Reviewing a single failing check in Weblate.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Context is very important for translators, and a good translating experience will provide as much useful context as possible.  That said, it cannot replace the real thing.  Having a automatic staging website will help catch errors before publication.  It also gives translators the feeling that they are building something real, when they are working their way up to being accepted for final publication.  &lt;a href=&#34;https://staging.tails.boum.org/&#34;&gt;Tails&lt;/a&gt; and &lt;a href=&#34;https://staging.f-droid.org&#34;&gt;F-Droid&lt;/a&gt; both provide complete staging websites that include all of the the languages, not only the complete ones.  Static site generators like Hugo and Jekyll let more technically skilled contributors rapidly build a local copy, and services like GitLab Pages and GitHub Pages can host a staging website &lt;a href=&#34;https://eighthave.gitlab.io/fdroid-website/&#34;&gt;for&lt;/a&gt; &lt;a href=&#34;https://bubu.gitlab.io/fdroid-website/&#34;&gt;each&lt;/a&gt; &lt;a href=&#34;https://uniqx.gitlab.io/fdroid-website/&#34;&gt;fork&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;translation-setup-with-po4a&#34;&gt;Translation Setup with &lt;em&gt;po4a&lt;/em&gt;&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://po4a.org&#34;&gt;&lt;em&gt;po4a&lt;/em&gt;&lt;/a&gt; is a tool for customizing the representation of text in the translation workflow.  It is quite powerful, but also not simple to get started.  Each translation platform has its own documentation for directly using Markdown, so follow those docs for a simpler setup.  There is a lot to be said for having the translation platform directly handle the files that are being translated, without an intermediate localization format like XLIFF, &lt;em&gt;gettext&lt;/em&gt; PO, or JSON.  Sometimes other requirements mean that using &lt;em&gt;po4a&lt;/em&gt; in the middle will save a lot of effort, like the F-Droid example above.&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;po4a&lt;/em&gt; approach does work quite differently: the translations are stored in the &lt;em&gt;.po&lt;/em&gt; files rather than Markdown documents. This feels a bit unnatural at first, as compared to the regular workflow of a static site generator.  Translated pages are then converted from &lt;em&gt;.po&lt;/em&gt; to &lt;em&gt;.md&lt;/em&gt; just for building the site.  It gives a lot in return, especially for crowdsourced translation with specific requirements.  For example, it makes publishing and unpublishing translated documents happen automatically, based on the pre-configured specifications, like whether it is 100% translated.&lt;/p&gt;

&lt;p&gt;po4a gives fine grained control over how documents are grouped, and what percentage must be translated before the translated version is published.  The direct version means each document is represented by a single translation component.  Many websites are organized into three common buckets, folders of Markdown documents should count as a single translation component:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The base pages like &amp;ldquo;about&amp;rdquo;, &amp;ldquo;contact, etc.&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Blog posts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;projects-using-po4a&#34;&gt;Projects using &lt;em&gt;po4a&lt;/em&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Debian is using &lt;em&gt;po4a&lt;/em&gt; to &lt;a href=&#34;https://salsa.debian.org/manpages-l10n-team&#34;&gt;translate the &lt;em&gt;man&lt;/em&gt; pages&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The extensive &lt;a href=&#34;https://tails.boum.org/contribute/build/website/&#34;&gt;Tails documentation&lt;/a&gt; uses &lt;em&gt;po4a&lt;/em&gt; to make Markdown pages translatable in &lt;a href=&#34;https://ikiwiki.info/plugins/po/&#34;&gt;ikiwiki&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The Fedora project is using &lt;em&gt;po4a&lt;/em&gt; to translate the &lt;a href=&#34;https://pagure.io/fedora-docs/docs-fp-o&#34;&gt;documentation&lt;/a&gt; in &lt;a href=&#34;https://translate.fedoraproject.org/&#34;&gt;their own Weblate instance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://stellarium.org/&#34;&gt;Stellarium Astronomy&lt;/a&gt; uses &lt;em&gt;po4a&lt;/em&gt; to &lt;a href=&#34;https://github.com/Stellarium/stellarium/pull/908&#34;&gt;translate&lt;/a&gt; &amp;ldquo;sky culture descriptions&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;coming-soon&#34;&gt;Coming Soon:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://reproducible-builds.org/&#34;&gt;https://reproducible-builds.org/&lt;/a&gt; (built with Jekyll): &lt;a href=&#34;https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/56&#34;&gt;https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/56&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reuse.software&#34;&gt;https://reuse.software&lt;/a&gt; (built with Hugo): &lt;a href=&#34;https://github.com/fsfe/reuse-website/issues/26&#34;&gt;https://github.com/fsfe/reuse-website/issues/26&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>The Promise and Hazards of COVID Contact Tracing Apps</title>
      <link>https://guardianproject.info/2020/04/09/the-promise-and-hazards-of-covid-contact-tracing-apps/</link>
      <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/04/09/the-promise-and-hazards-of-covid-contact-tracing-apps/</guid>
      <description>&lt;p&gt;There has been increasing interest in the possibilities of tracking
people who are infected with Coronavirus using all of the various
methods that smart phones provide.  There is good reason: &amp;ldquo;&lt;a href=&#34;https://en.wikipedia.org/wiki/Contact_tracing&#34;&gt;contact
tracing&lt;/a&gt;&amp;rdquo; has been a
pillar of public health efforts for decades.  It is an effective means
to curtail the spread of infectious disease.  At the same time,
governments, companies, and organizations are acting fast to offer
services to help end this current pandemic.  The problem is that many
of these are taking advantage of these times to introduce more
tracking of people, more data collection, and more control over
people.  We must not let contact tracing be used to reduce privacy
and increase unnecessary data collection.&lt;/p&gt;

&lt;p&gt;Privacy International has been collecting examples of
&lt;a href=&#34;https://privacyinternational.org/examples/tracking-global-response-covid-19&#34;&gt;new data and tracking that are being introduced&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then there this is the specific issue of contact tracing apps that are
being introduced around the world.  These apps can be made in a way to
fully respect privacy, and to build trust with its users.  Unfortunately the majority of the ones introduced are failing to live up to this promise.  Singapore&amp;rsquo;s TraceTogether was the first to rise to prominence, it is proprietary software with obfuscated operations. (&lt;em&gt;update: the source for a &lt;a href=&#34;https://github.com/opentrace-community&#34;&gt;reference implementation&lt;/a&gt; has since been released, but TraceTogether is still proprietary&lt;/em&gt;)   A &lt;a href=&#34;https://medium.com/@zerotypic/reversing-tracetogether-initial-analysis-edc940e86aa8&#34;&gt;some&lt;/a&gt; &lt;a href=&#34;https://splira.com/2020-03-28/&#34;&gt;audits&lt;/a&gt; pointed to failings, including potentially sending location data to a third-party analytics service.  There are now many of these apps, and based on &lt;a href=&#34;https://forensic.defensive-lab.agency/covid/&#34;&gt;this analysis&lt;/a&gt;, most of them are sending data to third party tracking companies.&lt;/p&gt;

&lt;p&gt;On top of that, these audits took much more effort because the apps
were not open source.  There have been many pledges of making these
apps open source, but the only one that we have found that is actually
open source is &lt;a href=&#34;https://privatekit.mit.edu/&#34;&gt;Private Kit&lt;/a&gt;.  &lt;a href=&#34;https://fsfe.org/news/2020/news-20200402-02.en.html&#34;&gt;Free, open
source software is essential&lt;/a&gt;
for software that needs to be widely
trusted.  This is only key design element, the CCC has laid out a
complete list of &lt;a href=&#34;https://www.ccc.de/en/updates/2020/contact-tracing-requirements&#34;&gt;requirements for creating trustworthy contact
tracing apps&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We stand ready to help any of these efforts achieve real privacy and
build public confidence.  People must trust these apps for them to be
effective.  Transparency is essential to building trust.  They must be
secure so they do not leak personal data.  And they must be usable by
the vast majority of the population.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>We Support the Open COVID Pledge</title>
      <link>https://guardianproject.info/2020/04/09/we-support-the-open-covid-pledge/</link>
      <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/04/09/we-support-the-open-covid-pledge/</guid>
      <description>&lt;p&gt;Please join this &lt;a href=&#34;https://opencovidpledge.org&#34;&gt;Open COVID Pledge&lt;/a&gt; by
committing to freely share technology for all work that aims to end
the Coronavirus Disease 2019 (COVID-19) pandemic.&lt;/p&gt;

&lt;p&gt;We believe that free software licenses like the GNU GPL and the Apache
License already provide these key benefits.  We are making this
statement to make it clear that all of our code is available for any
effort to end the COVID Pandemic.&lt;/p&gt;

&lt;p&gt;We grant to every person and entity that wishes to accept it, a
non-exclusive, royalty-free, worldwide, fully paid-up license to fully
use, practice and exploit all our patent and copyright rights, for the
sole purpose of ending the COVID-19 pandemic and minimising the impact
of the disease, including diagnosis, prevention, containment, and
treatment.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Improving Crowdsourced Translation of Long Form Text</title>
      <link>https://guardianproject.info/2020/03/05/improving-crowdsourced-translation-of-long-form-text/</link>
      <pubDate>Thu, 05 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/03/05/improving-crowdsourced-translation-of-long-form-text/</guid>
      <description>

&lt;p&gt;We are happy to announce the start of work on another step in
improving crowdsourced localization, funded by the ISC Project.  This
is the second part of our ongoing &amp;ldquo;Linguine&amp;rdquo; collaboration to move
crowdsourced translation to privacy-respecting free software.&lt;/p&gt;

&lt;p&gt;Crowdsourced translation has proven enormously successful getting apps
and website software translated into many languages.  Using tools like
Weblate or Transifex, developers can quite easily incorporate
translated app strings into their mobile apps and websites.  Any kinds
of text that is easily broken down into phrases and sentences will fit
easily into the crowdsourced workflow.  Localization Lab enables a
wide range of volunteers to contribute to the most important projects
in a wide array of languages.&lt;/p&gt;

&lt;p&gt;For long form text, from blogs to documentation, large technical
hurdles prevent the same fluid workflow.  One clear example: Tor
Browser is available in 25 languages, but the documentation is still
largely just in English.  The standard workflow is to first complete
the English version, then submit that to translators, then wait for a
complete translation.  For the regular, small changes that come with
maintaining documentation, that workflow makes the update cycle heavy
and slow.&lt;/p&gt;

&lt;p&gt;Few webmasters can review translations. Tools like Weblate establish a
review process, then developers need only to run an automatic import
to get approved translations from trusted translators.&lt;/p&gt;

&lt;p&gt;The ideal workflow starts with the traditional method of translating
in one complete unit, but now, that work can easily be shared by
multiple contributors.  Whenever the original documents are updated,
those translations can then be maintained via the crowdsourcing.  Even
for organizations which directly cover their own translation needs,
like a blogger who writes in both English and Tibetan, the workflow
provided by tools like Weblate makes managing many small changes to
documents drastically easier.&lt;/p&gt;

&lt;p&gt;While blog posts generally do not need frequent updates, a smooth path
to crowdsourced translations means, given the same effort, a larger
audience can be reached since the information will be available in
more languages.&lt;/p&gt;

&lt;h2 id=&#34;how-we-are-doing-this&#34;&gt;How we are doing this&lt;/h2&gt;

&lt;p&gt;There are already many key building blocks in place:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Weblate and Transifex already have basic support for directly translating long form text&lt;/li&gt;
&lt;li&gt;&lt;em&gt;po4a&lt;/em&gt; provides good format conversion between &lt;em&gt;Markdown&lt;/em&gt; and other text formats&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Markdown&lt;/em&gt; is a widely adopted mark-up format for documentation and blog posts&lt;/li&gt;
&lt;li&gt;Weblate already supports validating &lt;em&gt;Markdown&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;po4a&lt;/em&gt; integration with Jekyll&lt;/li&gt;
&lt;li&gt;Static Site Generators like Jekyll and Hugo have existing methods of supporting localization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What needs doing is fixing lots of little issues here and there to
complete the whole workflow.  For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code blocks are quite common in technical documentation, and they often contain texts that should not be translated, e.g. the words from a programming language.  &lt;em&gt;po4a&lt;/em&gt; can be made to automatically recognize these blocks, and mark them as &amp;ldquo;do not translate&amp;rdquo; using standard tags, which Weblate communicates to translators.&lt;/li&gt;
&lt;li&gt;Most translators do not have strong technical skills, so specialized syntax like &lt;em&gt;Markdown&lt;/em&gt; or configuration examples need to be validated to ensure that the translator did not inadvertently break something with a typo.  There are existing methods and tools for validating a wide variety of markup, code, and configuration formats.  These will be integrated into the translation review process to ensure that translations will not break the website layout or generation.&lt;/li&gt;
&lt;li&gt;When using translation sites that do not have good support for long form text, &lt;em&gt;po4a&lt;/em&gt; can be integrated via &amp;ldquo;plugins&amp;rdquo; to static site generators like Jekyll or Hugo.&lt;/li&gt;
&lt;li&gt;Not all workflows allow for transparent integration, for example, Hugo to Weblate.  In these cases, there needs to be some “glue” tools to make it work.  We will produce and distribute tools for gluing together some common setups to work smoothly with Weblate and/or Transifex.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since this project is about getting lots of pieces to integrate nicely, all the code generated will be included in all the relevant projects.  That is also where we will be looking for feedback, so file issues with &lt;a href=&#34;https://github.com/WeblateOrg/weblate/issues/&#34;&gt;Weblate&lt;/a&gt;, &lt;a href=&#34;https://gitlab.com/fdroid/fdroid-website/issues&#34;&gt;&lt;em&gt;f-droid.org&lt;/em&gt;&lt;/a&gt;, &lt;a href=&#34;https://gitlab.com/guardianproject/info/issues&#34;&gt;&lt;em&gt;guardianproject.info&lt;/em&gt;&lt;/a&gt;, etc. and we will track them there!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>MASQUE Review</title>
      <link>https://guardianproject.info/2020/02/25/masque-review/</link>
      <pubDate>Tue, 25 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/02/25/masque-review/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/wg/masque/about/&#34;&gt;MASQUE&lt;/a&gt; is set of related IETF drafts for specifying flexible proxying built into a standard webserver.  It is meant to be deployed on a server that is serving public websites, then this connection can be reused for proxying generic connections.  It is very much a work in progress, so any of this can change.  It is currently built on top of the QUIC+HTTP/3 and HTTP/2+TLS+TCP protocols.  The website and proxy packets look the same, and all connections to the webserver will be shared and reused, regardless of whether its a web page request or proxy traffic.  Each new proxy/website request will reuse any existing connection, providing a key reduction in metadata that makes all the packets blend together from the point of view of the network observer.  For example, to prevent the network observer from corrolating requests to proxy with the outbound request to the destination, a client could first connect to the website, then some time later, connect to the proxy.&lt;/p&gt;

&lt;p&gt;QUIC is an Internet protocol on the verge of being standardized by the IETF, initially developed by Google.  Approximately 50% of traffic from Chrome browsers to Google sites currently use QUIC, so it already has some large scale adoption.  MASQUE is very similar to Meek and Encrypted &lt;em&gt;ClientHello&lt;/em&gt; (aka ECH or Encrypted SNI) domain fronting in how it functions, and all of them &amp;ldquo;hide in plain site&amp;rdquo; by making circumvention traffic look the same as traffic that censors are unwilling to block.  Like ESNI, MASQUE could be totally blocked in countries that deem QUIC too large a risk, e.g. China already blocks Google, so blocking the QUIC protocol right now would have very low cost to them.  So it must be rolled out and gain broad adoption before it can be an effective circumvention tool.&lt;/p&gt;

&lt;p&gt;One use case is individuals enabling MASQUE on their personal websites, or organizations on their websites.  Another use case is to provide travelling employees with VPN access even with local networks are blocking VPNs based on the protocols (e.g. DPI to identify OpenVPN or Wireguard traffic).  Hosting providers and CDNs are not likely to to deploy MASQUE behind their main TLS certificate, as they are not willing to take the risk of getting blocked, just like with domain fronting.  MASQUE/QUIC does not change the domain fronting formula, instead, it just provides a different mechanism to leverage.&lt;/p&gt;

&lt;p&gt;One key feature of MASQUE is a means of requiring authentication to the proxy before it gives any information back at all, including even if it exists.  It does this with a custom authentication method where the replies are defined only as &lt;code&gt;200 OK&lt;/code&gt; for successful authentication or &lt;code&gt;404 Not Found&lt;/code&gt; for everything else.  This is an idea that could also be used in Pluggable Transports in general.&lt;/p&gt;

&lt;h2 id=&#34;relation-to-pluggable-transports&#34;&gt;Relation to Pluggable Transports&lt;/h2&gt;

&lt;p&gt;The MASQUE Obsfuscation and HTTP Transport Authentication pieces of MASQUE are directly relevant to Pluggable Transports (PT), and could be included as part of the suite of standards for implementing complete PT solutions.  The non-discoverable authentication method is useful for any PT that already requires some kind of key and is served via an public network socket.   Standardizing the proxy setup and configuration makes sense to do both for MASQUE as much as PT.  Right now, there are a wide variety of proxy configurations for PT with circumvention and VPN service providers.&lt;/p&gt;

&lt;h2 id=&#34;masque-as-onion-routing-and-tor-components&#34;&gt;MASQUE as Onion Routing and Tor Components&lt;/h2&gt;

&lt;p&gt;There are also some efforts to expand the scope of MASQUE into a Tor replacement based on QUIC and HTTP CONNECT proxies.  This is a nice idea, but it should not distract from the core MASQUE pieces which will provide real value now.  This area of work is now represented by three drafts: HTTP Transport Authentication, MASQUE Obfuscation, and MASQUE.  Without a drastically expanded scope, MASQUE cannot replace Tor.  It can provide one key but small building block: the base mechanism for onion routing based on HTTP CONNECT and QUIC.  This could potentially allow Tor middle relay services to be implemented with a standard webserver like nginx with only a small custom plugin.  This would not change the requirement for all of the various Tor network management services.&lt;/p&gt;

&lt;h2 id=&#34;sources&#34;&gt;Sources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://tools.ietf.org/html/draft-ietf-quic-tls-27&#34;&gt;https://tools.ietf.org/html/draft-ietf-quic-tls-27&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lists.torproject.org/pipermail/tor-dev/2018-March/013026.html&#34;&gt;https://lists.torproject.org/pipermail/tor-dev/2018-March/013026.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://davidschinazi.github.io/masque-drafts/draft-schinazi-masque.html&#34;&gt;https://davidschinazi.github.io/masque-drafts/draft-schinazi-masque.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://davidschinazi.github.io/masque-drafts/draft-schinazi-masque-obfuscation.html&#34;&gt;https://davidschinazi.github.io/masque-drafts/draft-schinazi-masque-obfuscation.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://davidschinazi.github.io/masque-drafts/draft-schinazi-httpbis-transport-auth.html&#34;&gt;https://davidschinazi.github.io/masque-drafts/draft-schinazi-httpbis-transport-auth.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://mailarchive.ietf.org/arch/msg/masque/Cxh1phx6vFgn19jyANmt2YwLDqQ/&#34;&gt;https://mailarchive.ietf.org/arch/msg/masque/Cxh1phx6vFgn19jyANmt2YwLDqQ/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://datatracker.ietf.org/meeting/104/materials/slides-104-secdispatch-the-masque-protocol-draft-schinazi-masque-00&#34;&gt;https://datatracker.ietf.org/meeting/104/materials/slides-104-secdispatch-the-masque-protocol-draft-schinazi-masque-00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/2019/04/16/exploring-possibilities-of-pluggable-transports-on-android/&#34;&gt;https://guardianproject.info/2019/04/16/exploring-possibilities-of-pluggable-transports-on-android/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Tracking the Trackers: using machine learning to aid ethical decisions</title>
      <link>https://guardianproject.info/2020/01/16/tracking-the-trackers-using-machine-learning-to-aid-ethical-decisions/</link>
      <pubDate>Thu, 16 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2020/01/16/tracking-the-trackers-using-machine-learning-to-aid-ethical-decisions/</guid>
      <description>

&lt;p&gt;F-Droid is a free software community app store that has been working since 2010 to make all forms of tracking and advertising visible to users. It has become the trusted name for privacy in Android, and app developers who sell based on privacy make the extra effort to get their apps included in the F-Droid.org collection. These include &lt;a href=&#34;https://f-droid.org/packages/com.nextcloud.client&#34;&gt;Nextcloud&lt;/a&gt;, Tor Browser, &lt;a href=&#34;https://f-droid.org/packages/de.thecode.android.tazreader&#34;&gt;TAZ.de&lt;/a&gt;, and &lt;a href=&#34;https://f-droid.org/packages/de.tutao.tutanota&#34;&gt;Tutanota&lt;/a&gt;.  Auditing apps for tracking is labor intensive and error prone, yet ever more in demand. F-Droid already has tools to aide contributors in this process, visible in the &lt;a href=&#34;https://gitlab.com/fdroid/fdroiddata/merge_requests&#34;&gt;app submission&lt;/a&gt; and &lt;a href=&#34;https://gitlab.com/fdroid/rfp/issues&#34;&gt;Request For Packaging (RFP)&lt;/a&gt; issue trackers.  We also have functional prototypes of using machine learning to drastically speed up this process by augmenting humans, rather than replacing them.&lt;/p&gt;

&lt;p&gt;Since the prime motivation of the F-Droid community is ethical software distribution, algorithms will never replace humans in making ethical decisions. We have also explored using machine learning to detect tracking in a more generic way, without manually compiled lists of tracking libraries. With this funding, we will improve the F-Droid tools, and make them generally available for any use case needing to reliably detect trackers in Android apps. This builds upon our &lt;a href=&#34;https://f-droid.org/en/2017/12/14/new-collaborations-on-exposing-tracking.html&#34;&gt;collaboration&lt;/a&gt; with &lt;a href=&#34;https://exodus-privacy.eu.org/&#34;&gt;Exodus Privacy&lt;/a&gt; and &lt;a href=&#34;https://github.com/reddr/LibScout&#34;&gt;LibScout&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This project comes out of some proof of concept work that &lt;a href=&#34;https://www.lo-res.org/~aaron/&#34;&gt;Aaron Kaplan&lt;/a&gt; and Hans-Christoph Steiner did, working with students in the Vienna Economics University&amp;rsquo;s (WU) &lt;a href=&#34;https://www.wu.ac.at/en/infobiz/teaching/sbwl-data-science&#34;&gt;Data Science Lab&lt;/a&gt;.  We focused on using machine learning with Android apps, first to detect malware, then second to detect tracking libraries.  It is of course ultimately an outgrowth of the F-Droid community&amp;rsquo;s efforts, and Guardian Project&amp;rsquo;s funded efforts for building systems without any tracking at all.  And special thanks to F-Droid founder &lt;a href=&#34;https://en.wikipedia.org/wiki/Ciaran_Gultnieks&#34;&gt;Ciaran Gultnieks&lt;/a&gt; for setting the ethical tone that inspired us all, back in &lt;a href=&#34;https://f-droid.org/2010/09/30/no-free-beer.html&#34;&gt;2010&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;funding&#34;&gt;Funding&lt;/h2&gt;

&lt;p&gt;This current 44,500€ project is funded by NLnet&amp;rsquo;s &lt;a href=&#34;https://nlnet.nl/PET/&#34;&gt;Privacy &amp;amp; Trust Enhancing Technologies (PET) Fund&lt;/a&gt;.  F-Droid has received large, dedicated, computing resources from the &lt;a href=&#34;https://cfarm.tetaneutral.net/machines/list/&#34;&gt;GCC Compile Farm&lt;/a&gt;, as well as some shared resources from Aaron Kaplan.  The budget will be used entirely to pay for people&amp;rsquo;s time for the research, development, and integration work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Software development to get the existing LibScout and Exodus Privacy tools to be fully integrated into the F-Droid stack.&lt;/li&gt;
&lt;li&gt;Machine learning research and development.&lt;/li&gt;
&lt;li&gt;Community management, to coordinate with F-Droid contributors, app developers, tool developers, academic researchers, etc. as well to promote these tools&lt;/li&gt;
&lt;li&gt;Finalize and package up all the useful parts of this project, which also means getting them included in Debian&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;related-efforts&#34;&gt;Related Efforts&lt;/h2&gt;

&lt;p&gt;The general approach that we are taking here has been proven in the context of web pages. The Brave Browser includes &lt;a href=&#34;https://arxiv.org/pdf/1805.09155&#34;&gt;machine learning techniques&lt;/a&gt; for blocking ads and trackers in webpages.  It is a very similar idea to what we propose, but that example is embedded into a browser and only applies to web sites.&lt;/p&gt;

&lt;p&gt;Exodus Privacy has manually compiled an extensive list of tracking libraries and domains for receiving user data.  It then uses this to scan app from Google Play.  Those results are then reported on their website.  Exodus Privacy would directly benefit from this work, since they could use the tools we will create.&lt;/p&gt;

&lt;p&gt;Ghostery uses AI techniques to dynamically block ads in web pages. (&lt;a href=&#34;https://www.wired.com/story/ghostery-deploys-ai-in-fight-against-ad-trackers/&#34;&gt;https://www.wired.com/story/ghostery-deploys-ai-in-fight-against-ad-trackers/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;F-Droid has its own &lt;code&gt;fdroid scanner&lt;/code&gt; for doing checks based on manually prepared regular expressions.  This was combined with Exodus Privacy into F-Droid&amp;rsquo;s &lt;a href=&#34;https://gitlab.com/fdroid/rfp/issues&#34;&gt;issuebot&lt;/a&gt; which automatically scans apps that users request to be added to F-Droid.&lt;/p&gt;

&lt;p&gt;LibScout uses machine learning to detect which versions of which libraries are included in an Android app (APK).  Using the list of libraries from Exodus Privacy, we worked with the LibScout author to create a functional prototype of a tracking library detector.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.sec.cs.tu-bs.de/pubs/2014-ndss.pdf&#34;&gt;Drebin&lt;/a&gt; clearly demonstrated that machine learning can be used to automatically classify Android apps based on certain aspects of their behavior. Their aim was to find malware.  Working with CERT.at and the WU Data Science Lab, we reproduced the results of the Drebin paper.&lt;/p&gt;

&lt;h2 id=&#34;the-challenges&#34;&gt;The challenges&lt;/h2&gt;

&lt;p&gt;The biggest promise of this project is also the biggest technical challenge: finding a way to take datasets about what includes tracking libraries (e.g. F-Droid manual review, LibScout, Exodus Privacy), and turning that into a more general machine learning approach.  We will have to explore a wide range of possible features to include in the machine learning that are distinct from the tracking libraries themselves.  This general approach will provide tracking detection with more automation and less maintenance work of rerunning the machine learning on updated datasets as new tracking libraries are put into use.&lt;/p&gt;

&lt;p&gt;The technical methods for determining whether an app includes trackers are well known and described.  They currently require knowledge of Android development.  Machine learning has been proven to be able to reliably spot trackers in apps, this project will turn working prototypes into production software, integrate it into F-Droid community-driven processes, and make these new tools easily available for anyone else to apply to their specific use cases. Given an Android apps downloaded from anywhere, these new tools will be able to mark which ones have any kind of tracking in them, with a very high degree of certainty.  With the portion of the project that involves applying LibScout, at this point, the idea has been proven with prototypes.  Applying it is a straightforward matter of bringing a proven prototype to production.&lt;/p&gt;

&lt;p&gt;Organizations relying on proprietary apps that must follow strict data protection requirements, like banks under the GDPR, can use these tools to ensure that apps they rely on do not contain illegal tracking, and to ensure that such tracking is not added in future releases.&lt;/p&gt;

&lt;p&gt;These techniques are also applicable to other platforms, like Progressive Web Apps and Apple iOS.  Bootstrapping another platform would require a marked training set of apps to feed to the machine learning.  F-Droid already provides this set, and Android is the most popular OS in the world, making Android the ideal platform to start this work.&lt;/p&gt;

&lt;h2 id=&#34;humans-at-the-core&#34;&gt;Humans at the core&lt;/h2&gt;

&lt;p&gt;F-Droid is a community run free software project very much in the same spirit as Debian.  The community has always aimed to provide 100% verified free software, built from source.  From the beginning, there was also an interest in other ethical considerations as well, these are expressed via F-Droid&amp;rsquo;s &amp;ldquo;Anti-Features&amp;rdquo;.  These are things tagged with Tracking (contains tracking), Ads (includes advertising), and NonFreeNet (requires a non-free network service).  The process of ensuring that the apps are 100% free software as well as tagging apps with the required Anti-Features is a manual process that many people contribute to, that is aided by quite a bit of automation.  This project fits directly into this existing ecosystem.  It will both quickly provide improvements in contributors&amp;rsquo; workflow based on the existing prototype, as well as experiments towards drastically improving the whole workflow of anyone working to track trackers.&lt;/p&gt;

&lt;p&gt;F-Droid fits into the whole Android app ecosytem in a very specific role.   It is the one source that only distributes free software, and has built a well deserved reputation for not compromising on the ethics that guide the community.  This has led it to become the standard &amp;ldquo;clean set&amp;rdquo; in all manner of research into Android malware and tracking.  Many academic papers covering Android malware cite f-droid.org as the source of ground truth.&lt;/p&gt;

&lt;p&gt;In closing, it is important to highlight that it is essential to keep humans always at the center of of these tools.  We are building tooling to augment humans, not replace them. Since the prime motivation of the F-Droid community is to build ethical software distribution, algorithms will never replace humans in making decisions based on ethics.  The tools can automate the technical details, so that contributors do not need to understand them in order to meaningfully help with the process.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>NetCipher &#43; Conscrypt for the best possible TLS</title>
      <link>https://guardianproject.info/2019/12/17/netcipher-conscrypt-for-the-best-possible-tls/</link>
      <pubDate>Tue, 17 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/12/17/netcipher-conscrypt-for-the-best-possible-tls/</guid>
      <description>&lt;p&gt;A new NetCipher library has recently been merged:
&lt;a href=&#34;https://gitlab.com/guardianproject/NetCipher/merge_requests/86&#34;&gt;&lt;em&gt;netcipher-conscrypt&lt;/em&gt;&lt;/a&gt;.
In the same vein as the other NetCipher libraries,
&lt;em&gt;netcipher-conscrypt&lt;/em&gt; wraps the Google
&lt;a href=&#34;https://source.android.com/devices/architecture/modular-system/conscrypt&#34;&gt;Conscrypt&lt;/a&gt;
library, which provides the latest
&lt;a href=&#34;https://en.wikipedia.org/wiki/Transport_Layer_Security&#34;&gt;TLS&lt;/a&gt; for any
app that includes it.  &lt;em&gt;netcipher-conscrypt&lt;/em&gt; lets apps then disable old
TLS versions like TLSv1.0 and TLSv1.1, as well as disable TLS Session
Tickets.  This is an alpha release because it only works on recent
Android versions (8.1 or newer).  The actual functionality works well,
the hard part remains making sure that it is possible to inject
&lt;em&gt;netcipher-conscrypt&lt;/em&gt; as the TLS provider on all Android devices and
versions.  And the last missing piece is finding the right place in
Conscrypt to configure proxying to support Tor or other privacy
proxies&lt;/p&gt;

&lt;p&gt;Before Conscrypt, Android apps relied on the Android OS itself to
provide TLS.  Normally, software uses the TLS provided by the
operating system.  Since too often Android devices do not get software
updates, lots of users are stuck on old TLS versions.  So Google split
out the TLS stack from Android itself and made the Conscrypt library
from it so it can be independently updated.  Guardian Project has been
taking this approach for almost 10 years, starting with
SQLCipher-for-Android and IOCipher libraries.  We are happy to see
Google doing this themselves to give us more platform flexibility and
security.  We plan on using this as a platform for making &lt;a href=&#34;https://tools.ietf.org/html/draft-ietf-tls-sni-encryption&#34;&gt;ESNI
(Encrypted SNI)&lt;/a&gt;
available to all Android apps.&lt;/p&gt;

&lt;p&gt;It is exciting to see ideas that we have been championing over the
past decade to get mainstream adoption.  TLS Session Tickets have
always had serious &lt;a href=&#34;https://blog.filippo.io/we-need-to-talk-about-session-tickets/&#34;&gt;security&lt;/a&gt; and &lt;a href=&#34;https://www.theregister.co.uk/2018/10/19/tls_handshake_privacy/&#34;&gt;privacy&lt;/a&gt; issues, Android 10 &lt;a href=&#34;https://source.android.com/devices/architecture/modular-system/conscrypt#consrypt-q&#34;&gt;now
provides&lt;/a&gt;
an official API for disabling TLS Session Tickets:
&lt;a href=&#34;https://developer.android.com/reference/android/net/ssl/SSLSockets.html&#34;&gt;android.net.ssl.SSLSockets&lt;/a&gt;
and
&lt;a href=&#34;https://developer.android.com/reference/android/net/ssl/SSLEngines.html&#34;&gt;android.net.ssl.SSLEngines&lt;/a&gt;.
And the idea of per-app file encryption, which &lt;em&gt;IOCipher&lt;/em&gt; provides, can
now be largely provided by the built-in &lt;a href=&#34;https://source.android.com/security/encryption/file-based&#34;&gt;Android File-Based Encryption
(FBE)&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Trusted Update Channels vs. Scratching Your Itch</title>
      <link>https://guardianproject.info/2019/12/02/trusted-update-channels-vs.-scratching-your-itch/</link>
      <pubDate>Mon, 02 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/12/02/trusted-update-channels-vs.-scratching-your-itch/</guid>
      <description>&lt;p&gt;One of the great things about free software is that people can easily take a functional program or library and customize it as they see fit.  Anyone can come along, submit bug fixes or improvements, and they can be easily shared across many people, projects, and organizations.  With distribution systems like Python&amp;rsquo;s &lt;a href=&#34;https://pypi.python.org&#34;&gt;pypi&lt;/a&gt;, there is an update channel that the trusted maintainers can publish fixes so consumers of the library can easily get updates.  When talking about update channels and code, it is unavoidable to also talk about people and trust.  One key piece is the trust relationship between the consumer and the maintainer.  The ideal software distribution system would be a blind, trustworthy pipe between the software maintainers and each end user.&lt;/p&gt;

&lt;p&gt;Since we are talking about libraries of code, the natural relationship turns out to be different than the trust relationship: it is between the consumer and the library itself, not the maintainers.  I use Requests for handling HTTP, not @nateprewitt&amp;rsquo;s fork.  My &lt;em&gt;setup.py&lt;/em&gt; includes a reference to &lt;code&gt;&#39;requests&#39;&lt;/code&gt;, not to the maintainers who I trust to keep the library updated.&lt;/p&gt;

&lt;p&gt;There have been cases were libraries were &lt;a href=&#34;https://www.zdnet.com/article/backdoor-code-found-in-11-ruby-libraries/&#34;&gt;taken&lt;/a&gt; &lt;a href=&#34;https://www.theregister.co.uk/2018/07/12/npm_eslint/&#34;&gt;over&lt;/a&gt; and used to distribute malware.  Or &lt;a href=&#34;https://www.theregister.co.uk/2018/11/26/npm_repo_bitcoin_stealer/&#34;&gt;another case&lt;/a&gt; where someone offered to take over a popular library, then inserted malware into it.  If it is really easy for maintainers to hand over a library to someone else, then that will be abused.  If they are too hard to hand over, then many valuable libraries will be abandoned or forked.  Having to check for forks is an added cost for library consumers, so ideally there would always be a trusted maintainer.&lt;/p&gt;

&lt;p&gt;For large projects like Requests or distros like Debian, there is a process for ensuring that new maintainers are doing the right thing.  There are also many small libraries that are very valuable.  For example, &lt;a href=&#34;https://github.com/rory/apache-log-parser&#34;&gt;apache_log_parser&lt;/a&gt; or &lt;a href=&#34;https://pypi.org/project/PyMTP/&#34;&gt;pymtp&lt;/a&gt;.   In these cases, the cost of doing a proper process of handing over to a new maintainer is quite large as compared to the overall effort the library author put into the library.  Or it might be a single maintainer who is now overburdened with other work.&lt;/p&gt;

&lt;p&gt;In F-Droid, reviewing app merge requests, aka &lt;em&gt;fdroiddata&lt;/em&gt;, is also about reviewing whether the trust relationship is changing.  This is on top of making sure the new code works, ensuring its still free software, and that all of the Anti-Features are properly marked.  Getting this review right is important especially when you consider that in F-Droid, many apps are automatically updated without core contributors reviewing it.&lt;/p&gt;

&lt;p&gt;All developers must consider these trust issues at a number of key points in the process of developing software, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;when adding a library to any piece of software&lt;/li&gt;
&lt;li&gt;helping a new maintainer take over existing software&lt;/li&gt;
&lt;li&gt;reviewing changes to the URL of the source code reposistory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are also some ideas about how to better map who we need to trust to the process of including software.  One interesting example is &lt;a href=&#34;https://dpc.pw/cargo-crev-and-rust-2019-fearless-code-reuse&#34;&gt;&lt;em&gt;cargo-crev&lt;/em&gt;&lt;/a&gt; for the Rust ecosystem.  It provides a system of describing and cryptographically linking trusted developers and their reviews of software packages.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Onions on Apples: A New Release of Onion Browser for iOS</title>
      <link>https://guardianproject.info/2019/10/08/onions-on-apples-a-new-release-of-onion-browser-for-ios/</link>
      <pubDate>Tue, 08 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/10/08/onions-on-apples-a-new-release-of-onion-browser-for-ios/</guid>
      <description>&lt;p&gt;During 2019, Guardian Project has been working with developer Mike Tigas to make improvements to his Tor-enabled web browser for iOS, &lt;a href=&#34;https://onionbrowser.com/&#34;&gt;Onion Browser&lt;/a&gt;.  Here we re-cap the major improvements currently - and soon-to-be - available.&lt;/p&gt;

&lt;p&gt;Mike developed Onion Browser on his own, in close collaboration with the Tor Project.  Though we’ve worked with Mike in the recent-past, this 2019 project &amp;ndash; funded by the Open Technology Fund &amp;ndash; gave us significantly more bandwidth to address the challenges of running Tor on iOS, especially alongside a full web-browsing feature set.&lt;/p&gt;

&lt;p&gt;In Onion Browser, our Tor connectivity runs in the same process as the browser itself.  Tor Browser for Android uses a similar model, though the general purpose Orbot app for Android is separate from the applications using its services (apps configure Orbot as a proxy, in the same manner as SOCKS).  This latter model is not available on iOS and, it turns out, iOS puts some additional restrictions on apps like ours as well.  These have, over time, created some thorny problems for Onion Browser.&lt;/p&gt;

&lt;p&gt;The newest release of Onion Browser upgraded to Tor version 0.4.0.5 which greatly improves reliability when the app comes back from background. The application was updated with modern versions of all the incorporated 3rd-party libraries.  This includes an upgrade to the underlying Endless browser-core.  The often-requested ability to &amp;ldquo;open the app in its last state&amp;rdquo; feature was added as well as a mechanism to hide the browser’s content when switching between applications.  Advanced users of the app had reported issues configuring bridges in previous releases and these have been fixed.  It’s now possible to report a bug or rate the app from within the application.&lt;/p&gt;

&lt;p&gt;With our new work, an important network traffic leakage discovered in earlier releases have been mitigated.  Web browsers generally utilize the services of the Online Certificate Status Protocol (OCSP) to determine if a website’s security certificate is still valid. Status checks on iOS are provided by a system library that can’t use the Tor service, so these service calls leak.  A mechanism has been found to prevent leakage in a large number of circumstances, but not completely.&lt;/p&gt;

&lt;p&gt;We’re now completing our second big development push which will feature an upgraded and simplified on-boarding experience as well as improvements to the organization of application settings.  We’ve also upgraded the experience of setting per-website security parameters (which can be either one-time-only or “sticky”).  The leakage corrections we implemented will also allow us to implement the ability to download and save files in non-HTML content formats, or share such files with other applications. Additionally, we implemented an improved technique to limit Javascript “re-insertion” attacks in WebRTC pages. We expect this release to happen during October or early November.&lt;/p&gt;

&lt;p&gt;Onion Browser’s medium- and long-term maintenance are a volunteer effort.  If you wish to support this project into the future, please visit Mike Tigas’s Patreon page.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IOCipher 64-bit builds</title>
      <link>https://guardianproject.info/2019/10/07/iocipher-64-bit-builds/</link>
      <pubDate>Mon, 07 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/10/07/iocipher-64-bit-builds/</guid>
      <description>&lt;p&gt;IOCipher v0.5 includes fulil 64-bit support and works with the latest
SQLCipher versions.  This means that the minimum supported SDK version
had to be bumped to &lt;em&gt;android-14&lt;/em&gt;, which is still older than what
Google Play Services and Android Support libraries require.&lt;/p&gt;

&lt;p&gt;One important thing to note is that newer SQLCipher versions require
an upgrade procedure since they changed how the data is encrypted.
Since IOCipher does use a SQLCipher database, and IOCipher virtual
disks will have to be upgraded.  That can be done by directly using the
&lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-api/#cipher_migrate&#34;&gt;SQLCipher migration method&lt;/a&gt;
on your IOCipher database files before opening them again.  It should
be possible to stick with SQLCipher
&lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher/issues/446&#34;&gt;v3.5.9 to avoid this&lt;/a&gt;,
but this has not been tested.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tor Project: Orfox Paved the Way for Tor Browser on Android </title>
      <link>https://guardianproject.info/2019/09/03/tor-project-orfox-paved-the-way-for-tor-browser-on-android/</link>
      <pubDate>Tue, 03 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/09/03/tor-project-orfox-paved-the-way-for-tor-browser-on-android/</guid>
      <description>&lt;p&gt;Last month, we tagged the &lt;a href=&#34;https://github.com/guardianproject/Orfox/releases/tag/Orfox-Final-RIP-v16&#34;&gt;final release of Orfox&lt;/a&gt;, an important milestone for us in our work on Tor. Today, we pushed this final build out to all the Orfox users on Google Play, which forces them to upgrade to the official Tor Browser for Android..&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;orfoxrip.png&#34; alt=&#34;Orfox RIP app image&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Our goal was never to become the primary developer or maintainer of the &amp;ldquo;best&amp;rdquo; tor-enabled web browser app on Android. Instead, we chose to act as a catalyst to get the Tor Project and the Tor Browser development team themselves to take on Android development, and upstream our work into the primary codebase. This has happened, and it is a great news for everyone. The work for developing and updating Tor Browser on the desktop and Android are now coordinated and synchronized, and end-users benefit from more frequent updates and improvements.&lt;/p&gt;

&lt;p&gt;Most importantly, the &lt;a href=&#34;https://github.com/amoghbl1&#34;&gt;Amazing Amogh&lt;/a&gt; can focus on his PhD studies, and not on continuing the heroic task of trying to merge Firefox releases, Tor Browser patches, and Android proxy setting code for four different HTTP network libraries! Thanks, Amogh!&lt;/p&gt;

&lt;p&gt;From the &lt;a href=&#34;https://blog.torproject.org/orfox-paved-way-tor-browser-android&#34;&gt;Tor Project&amp;rsquo;s blog&lt;/a&gt; announcing the last release of Orfox:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Mobile browsing has increasingly become the primary way many people go online. In 2014, Tor Browser was used by millions of people on their desktop computers, but there was not yet a way to use Tor on a mobile device. We have long recognized the need for protecting people&amp;rsquo;s rights to privacy and freedom online, including on mobile devices, but as a small nonprofit organization, we were not yet ready to meet that demand. That&amp;rsquo;s when our friends at Guardian Project began exploring the possibility of providing Tor Browser on Android themselves. Their answer was Orfox.&lt;/p&gt;

&lt;p&gt;Orfox was first released 23 September 2015. Over the next three years, Orfox continously improved and became a popular way for people to browse the internet with more privacy than standard browsers, and Orfox was crucial for helping people circumvent censorship and access blocked sites and critical resources. It was installed over 14 million times, and maintained over 1 million active users.&lt;/p&gt;

&lt;p&gt;In late 2017, we began working on our own Tor Browser for Android. Because of Orfox&amp;rsquo;s success, the development path for us was clearer and more in reach. We were able to build upon Guardian Project&amp;rsquo;s work and bring a browser with the full protections of Tor Browser to Android. We released the alpha version of Tor Browser for Android in September 2018 and launched the stable version this May. After nearly a year since we released the alpha version of Tor Browser on Android, the time for sunsetting Orfox has come.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you have Orfox, you will see the upgrade and prompt to install Tor Browser for Android soon. Otherwise, you can just &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.torbrowser&amp;amp;hl=en_US&#34;&gt;go directly to install and get it now!&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>NetCipher update: global, SOCKS, and TLSv1.2</title>
      <link>https://guardianproject.info/2019/06/25/netcipher-update-global-socks-and-tlsv1.2/</link>
      <pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/06/25/netcipher-update-global-socks-and-tlsv1.2/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/code/netcipher&#34;&gt;NetCipher&lt;/a&gt; has been relatively quiet in recent years, because it kept
on working, doing it was doing. Now, we have had some recent
discoveries about the guts of Android that mean NetCipher is a lot easier
to use on recent Android versions.  On top of that, TLSv1.2 now reigns
supreme and is basically everywhere, so it is time to turn TLSv1.0 and
TLSv1.1 entirely off.&lt;/p&gt;

&lt;h2 id=&#34;a-single-method-to-enable-proxying-for-the-whole-app&#34;&gt;A single method to enable proxying for the whole app&lt;/h2&gt;

&lt;p&gt;As of Android 8.0 (26 aka Oreo), it is now possible to set a
&lt;code&gt;URLStreamHandlerFactory&lt;/code&gt;, which creates &lt;code&gt;URLConnection&lt;/code&gt; instances
with custom configurations.  If an app is using the built-in
&lt;code&gt;HttpURLConnection&lt;/code&gt; API for its networking, it is now possible to
enable global proxying with a single method call when the app starts:
&lt;a href=&#34;https://guardianproject.github.io/NetCipher/libnetcipher/info/guardianproject/netcipher/NetCipher.html#useGlobalProxy--&#34;&gt;&lt;code&gt;NetCipher.useGlobalProxy()&lt;/code&gt;&lt;/a&gt;.
Then the actual proxy configuration can be set dynamically, using
things like
&lt;a href=&#34;https://guardianproject.github.io/NetCipher/libnetcipher/info/guardianproject/netcipher/NetCipher.html#useTor--&#34;&gt;&lt;code&gt;NetCipher.useTor()&lt;/code&gt;&lt;/a&gt;
or
&lt;a href=&#34;https://guardianproject.github.io/NetCipher/libnetcipher/info/guardianproject/netcipher/NetCipher.html#clearProxy--&#34;&gt;&lt;code&gt;NetCipher.clearProxy()&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;URL.setURLStreamHandlerFactory()&lt;/code&gt; method is a little odd because it cannot be unset or changed after it has been set.  NetCipher handles this by letting the app configure the proxy settings separately, so they can be disabled even though the custom &lt;code&gt;URLStreamHandlerFactory&lt;/code&gt; is still active.  Also, it is possible to use &lt;code&gt;URL.setURLStreamHandlerFactory&lt;/code&gt; on Android 7.x also, but it leaks DNS, so it is not recommended for privacy proxies.  It would still be useful as a failsafe for apps that use &lt;a href=&#34;https://guardianproject.github.io/NetCipher/libnetcipher/info/guardianproject/netcipher/NetCipher.html#getHttpURLConnection-java.lang.String-&#34;&gt;&lt;code&gt;NetCipher.getHttpURLConnection()&lt;/code&gt;&lt;/a&gt;, in case there are any calls to &lt;code&gt;URL.openConnection()&lt;/code&gt; added with the right proxy setup.  At the very least, the content will be proxied on Android 7.x, even if it leaks DNS.&lt;/p&gt;

&lt;h2 id=&#34;native-socks-support&#34;&gt;Native SOCKS Support&lt;/h2&gt;

&lt;p&gt;In Android 7.0 (24 aka Nougat), Google switched over to OpenJDK, which brought working SOCKS support to Android.  SOCKS is the best protocol for effective proxying, and it is the protocol that Tor itself has always natively supported.  Orbot has always provided a separaete HTTP Proxy to support Android, but that has always proven brittle, and was often the source of problems.  Since Android 7.0 and above natively support SOCKS, calling &lt;code&gt;NetCipher.useTor()&lt;/code&gt; will now default to using SOCKS if the device is running Android 7.0 or higher.&lt;/p&gt;

&lt;h2 id=&#34;bye-bye-tlsv1-0-and-tlsv1-1&#34;&gt;Bye bye TLSv1.0 and TLSv1.1&lt;/h2&gt;

&lt;p&gt;Transport Layer Security (TLS) is the protocol that powers most of the internet these days.  It gives HTTPS the S for &amp;ldquo;Secure&amp;rdquo;. After many years of slow updates and an increasing number of vulnerabilities, there is finally critical mass to stop using the old, broken versions.  TLS version 1.2 is not seriously vulnerable and is supported basically everywhere.  TLSv1.2 was finalized in 2008, so this is very far from the bleeding edge.  TLSv1.2 is supported all the way back to &lt;a href=&#34;https://developer.android.com/reference/javax/net/ssl/SSLSocket#protocols&#34;&gt;Android 4.1&lt;/a&gt;.  TLSv1.0 and TLSv1.1 are due to be officially deprecated by the IETF, the standards body that actually creates the TLS standard.  The major browser vendors have all promised to drop them in 2020.&lt;/p&gt;

&lt;p&gt;One way to enforce TLSv1.2 support would be to configure the server-side to stop supporting TLSv1.0 and TLSv1.1, like is recommend with SSLv2 and SSLv3.  Using NetCipher to do this on the client side
means that old app versions and devices of F-Droid and old devices will continue to work.
Also, doing it client-side means that all TLS connections will gain this protection regardless of which server the client is connecting to.&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;NetCipher&lt;/em&gt; approach means apps will never use TLS older than v1.2 since they will refuse to connect unless TLSv1.2 is available.  The server-side can then safely support TLSv1.0 and TLSv1.1, so older clients and Android devices will still be able to connect, even if they do not support TLSv1.2.  It is win-win
for everyone.&lt;/p&gt;

&lt;p&gt;The one case that will fail entirely is connections to servers that do not support TLSv1.2.  If a webserver does not support TLSv1.2, it is really too old to be used safely anyway.  Even the oldest supported Red Hat Enterprise Linux release (6) supports TLSv1.2, and that was released in 2010.&lt;/p&gt;

&lt;h2 id=&#34;webview-proxying&#34;&gt;&lt;code&gt;WebView&lt;/code&gt; Proxying!&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://developer.android.com/reference/android/webkit/WebView&#34;&gt;&lt;code&gt;WebView&lt;/code&gt;&lt;/a&gt; provides an easy way to show a webpage or build a web app.  If you want that page to always go over Tor, that is difficult since &lt;code&gt;WebView&lt;/code&gt; has no API to configure proxying.  NetCipher has a long running collection of hacks that span the Android versions to get proxying working in &lt;code&gt;WebView&lt;/code&gt;.  We have revived those, modernized them, and added a full test suite to confirm whether the proxying is leaking.  The good news is that proxying is working pretty well on all but Android 5.x (21 and 22), where it totally fails.&lt;/p&gt;

&lt;p&gt;Another new Android API we discovered is &lt;a href=&#34;https://developer.android.com/reference/android/webkit/WebViewClient.html#shouldInterceptRequest(android.webkit.WebView,%20android.webkit.WebResourceRequest)&#34;&gt;&lt;code&gt;WebViewClient.shouldInterceptRequest()&lt;/code&gt;&lt;/a&gt;.  This is an official API for manipulating HTTP requests in &lt;code&gt;WebView&lt;/code&gt;.  It is an an easy place to insert custom &lt;code&gt;HttpURLConnection&lt;/code&gt; instances, like NetCipher needs to configure proxy support and stronger TLS.  Using this API means eliminating Java reflection hacks.  But it has a large caveat: it only works for &lt;em&gt;GET&lt;/em&gt; requests.  Since the request body is not accessible via this API, it is not possible to implement &lt;em&gt;POST&lt;/em&gt; or &lt;em&gt;PUT&lt;/em&gt; requests.  One nice approach for the best of both works is to handle &lt;em&gt;GET&lt;/em&gt; with &lt;code&gt;WebViewClient.shouldInterceptRequest()&lt;/code&gt;, then &lt;em&gt;POST&lt;/em&gt; and &lt;em&gt;PUT&lt;/em&gt; could then be implemented separately using the reflection methods in NetCipher WebView.&lt;/p&gt;

&lt;h2 id=&#34;tests&#34;&gt;Tests!&lt;/h2&gt;

&lt;p&gt;This release also brings with it an extensive, new test suite.  These let us confirm that things are working on all the supporting Android versions, while also serving as simple example cases.  For example, the tests now confirm which Android releases support &lt;code&gt;WebView&lt;/code&gt; proxying, based on Cure53&amp;rsquo;s very useful &lt;a href=&#34;https://github.com/cure53/HTTPLeaks&#34;&gt;HTTPLeaks&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>PanicKit 1.0: built-in panic button and full app wipes</title>
      <link>https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/</link>
      <pubDate>Tue, 04 Jun 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/</guid>
      <description>

&lt;p&gt;Panic Kit is 1.0!  After over three years of use, it is time to call
this stable and ready for widespread use.&lt;/p&gt;

&lt;link rel=&#34;stylesheet&#34; href=&#34;https://guardianproject.info/css/jquery.fancybox-3.4.0.min.css&#34; /&gt;
&lt;script src=&#34;https://guardianproject.info/js/jquery-3.3.1.min.js&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://guardianproject.info/js/jquery.fancybox.min.js&#34;&gt;&lt;/script&gt;
&lt;div class=&#34;gallery&#34;&gt;
  
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/Screenshot_1559551039.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/Screenshot_1559551039.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/Screenshot_1559551407.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/Screenshot_1559551407.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/screenshot_fdroid_destructive0.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/screenshot_fdroid_destructive0.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/screenshot_fdroid_destructive1.png.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/screenshot_fdroid_destructive1.png.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/screenshot_ripple.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/2019/06/04/panickit-1.0-built-in-panic-button-and-full-app-wipes/screenshot_ripple.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  
&lt;/div&gt;


&lt;h2 id=&#34;built-in-panic-button&#34;&gt;Built-in panic button&lt;/h2&gt;

&lt;p&gt;This round of work includes a new prototype for embedding PanicKit
directly into Android.  Android 9.0 Pie introduced a new &amp;ldquo;lockdown&amp;rdquo;
mode which follows some of the patterns laid out by PanicKit.  There
is an &lt;em&gt;Enter lockdown&lt;/em&gt; button available on the power button menu, so
it is rapidly available.  This is a great panic trigger button, so we
made a prototype of a System Settings app that lets users connect the
full flexibility of PanicKit responses to this &lt;em&gt;Enter lockdown&lt;/em&gt;
button.  The functionality that Google links to this new button is
extremely limited, it seems to be a &lt;a href=&#34;https://www.androidpolice.com/2018/03/08/android-p-feature-spotlight-new-lockdown-option-power-menu-turns-off-fingerprint-unlocking-something-called-extended-access/&#34;&gt;one time restriction on how you
login&lt;/a&gt;.
The PanicKit responses are in addition to what Google
included. CalyxOS is
&lt;a href=&#34;https://gitlab.com/calyxos/calyxos/issues/72&#34;&gt;working&lt;/a&gt; to integrate
this, look for test releases soon!&lt;/p&gt;

&lt;h2 id=&#34;full-wipes-of-selected-apps&#34;&gt;Full wipes of selected apps&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://f-droid.org&#34;&gt;F-Droid v1.7-alpha1&lt;/a&gt; has alpha support for
uninstalling and wiping all data from selected apps in response to a
panic trigger, including Ripple and F-Droid.  So the whole panic setup
could be wiped as part of the response.  It is essential to have a
complete, tested backup before trying this new feature, since it will
delete all of the data for each app that is uninstalled.&lt;/p&gt;

&lt;p&gt;This requires &lt;a href=&#34;https://f-droid.org/packages/org.fdroid.fdroid.privileged.ota&#34;&gt;F-Droid Privileged
Extension&lt;/a&gt;
be installed on the device, in order to uninstall apps without a
prompt for each app.  Android ROMs like CalyxOS, CopperheadOS,
Fairphone Open, Replicant, and Lineage-for-microG all include F-Droid
Privileged Extension.&lt;/p&gt;

&lt;h2 id=&#34;ripple-is-polished-up&#34;&gt;Ripple is polished up&lt;/h2&gt;

&lt;p&gt;Ripple also received some modernization and polish.  Google has
reinstated the Ripple app in Google Play, so it is again widely
available.  Ripple was of course available the whole time via F-Droid.
Google suspended Ripple without explanation, then a long while later
reinstated it without explanation.&lt;/p&gt;

&lt;p&gt;This work was made possible in part from donations from Handshake Foundation.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Location Privacy - BETA</title>
      <link>https://guardianproject.info/apps/info.guardianproject.locationprivacy/</link>
      <pubDate>Fri, 26 Apr 2019 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/info.guardianproject.locationprivacy/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Exploring possibilities of Pluggable Transports on Android</title>
      <link>https://guardianproject.info/2019/04/16/exploring-possibilities-of-pluggable-transports-on-android/</link>
      <pubDate>Tue, 16 Apr 2019 15:00:00 -0400</pubDate>
      
      <guid>https://guardianproject.info/2019/04/16/exploring-possibilities-of-pluggable-transports-on-android/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.pluggabletransports.info&#34;&gt;Pluggable Transports&lt;/a&gt; (PT) give software developers the means
to establishing reliable connections in &lt;a href=&#34;https://en.wikipedia.org/wiki/Deep_packet_inspection&#34;&gt;DPI-filtered&lt;/a&gt; network scenarios.
A variety of techniques are supported, all available by implementing just one
standard.  We looked into how this can be put to work in Android Apps.
Hence we crafted 3 fully functional
&lt;a href=&#34;https://gitlab.com/uniqx/anynews-android#anynews-pt&#34;&gt;PT-enabled&lt;/a&gt;
&lt;a href=&#34;https://gitlab.com/uniqx/fdroidclient-pt#f-droid-pt&#34;&gt;prototype&lt;/a&gt;
&lt;a href=&#34;https://gitlab.com/uniqx/apps-android-wikipedia-pt#wikipedia-android-pt&#34;&gt;Apps&lt;/a&gt;
based on well known open source projects.&lt;/p&gt;

&lt;p&gt;All our prototypes rely on &lt;a href=&#34;https://github.com/Yawning/obfs4&#34;&gt;obfs4&lt;/a&gt; which is a stable
PT implementation widely deployed by Tor.  Guardian Project published
a library called &lt;a href=&#34;https://github.com/guardianproject/AndroidPluggableTransports&#34;&gt;AndroidPluggableTransports&lt;/a&gt; for giving Android
developers access easy access to PT.  Since we could not find any easily
accessible sample code, we created a &lt;a href=&#34;https://gitlab.com/uniqx/pt-obfs4proxy-minimal-demo&#34;&gt;minimal demo project&lt;/a&gt;,
illustrating a minimal setup for sending a HTTP-request through a OBFS4
connection.&lt;/p&gt;

&lt;p&gt;Conceptually, a PT establishes point to point connections between a PT client
and a PT server.  PT servers are also known as &amp;ldquo;bridges&amp;rdquo;.  Most app back-ends,
on the other hand, consist of multiple services and third party APIs.  We&amp;rsquo;re
using SOCKS5 for multiplexing several connections over a single PT connection.
A nice benefit to this approach is that client side integration looks similar
to integrating Tor.&lt;/p&gt;

&lt;p&gt;Every PT bridge generates an individual set of parameters. These are required
for establishing connections to that bridge. In the context of Tor, these
parameters are often referred to as a &amp;ldquo;bridge line&amp;rdquo;, which also implies a
quasi-standardized formatting of these parameters.&lt;/p&gt;

&lt;p&gt;Starting a PT connection involves several layers of proxying.  This diagram
should give you an idea of what&amp;rsquo;s really going on when we start a PT
connection:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;apt-setup-socks5.png&#34; alt=&#34;Schematic overview of establishing a PT connection used&#34; /&gt;&lt;/p&gt;

&lt;p&gt;For many organizations it is not an option to run open proxies on the Internet
because the bandwidth bills would be too large, or the security risks too high.
This means we need to refine our SOCKS5 based approach a bit.  An obvious
solution is to restrict usage of a PT bridge for one specific app.  This can
be achieved simply by whitelisting outgoing connections on a bridge&amp;rsquo;s
SOCKS5 server.  Some SOCKS5 servers have built-in support for this, so we&amp;rsquo;re
covered.  We published the deployment script we&amp;rsquo;re using to set up our &lt;a href=&#34;https://gitlab.com/uniqx/pt-socks5-over-obfs4proxy&#34;&gt;SOCKS5-enabled bridges&lt;/a&gt; in our prototype environment.&lt;/p&gt;

&lt;p&gt;While SOCKS5 support is widespread these days, some apps might still need to
rely on HTTP-proxying.  That&amp;rsquo;s why we also included an embedded HTTP-proxy in
our prototype Apps.  This proxy is configured to transparently send requests
through the SOCK5 connection, which in turn runs through a PT connection.&lt;/p&gt;

&lt;p&gt;All that required from the app developer&amp;rsquo;s perspective is to configure APT
(and our soon-to-be upstreamed proxy helper library) with a bridge line,
then configure all network connections to use a either a SOCKS5 or HTTP proxy.&lt;/p&gt;

&lt;p&gt;We also looked into ways for distributing parameters for
&lt;a href=&#34;https://github.com/guardianproject/AndroidPluggableTransports/pull/15&#34;&gt;PT connections&lt;/a&gt;. We started out by supporting bridge-lines as
used in Tor browser and Orbot. Copy and pasting these is not very convenient
and probably looks arcane to most users. So we came up with the idea of
sharing bridge connection parameters as URLs.  HTTP(S) URLs are clickable in
most Android Apps which makes sharing a lot easier.  Apps can subscribe to
URL patterns.  This way it&amp;rsquo;s possible to intercept clicks on PT bridge
parameters and configure PT settings accordingly. While these URLs still
look somewhat arcane, they hopefully enable an improved user experience.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s an example of a bridge-line and how it looks like the in all URL formats:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Bridge obfs4 104.224.78.19:443 FD9DAEE45A2FDF70D462914A75ADE99A29957920 cert=LSOd9qOffpIFM4az+ueou7sY0eQRAsI/joW4QgCl/LSDo2ecQzAQHNu281oAivLDZuTQNA iat-mode=0
bridge://obfs4@104.224.78.19:443/FD9DAEE45A2FDF70D462914A75ADE99A29957920?cert=LSOd9qOffpIFM4az%2Bueou7sY0eQRAsI%2FjoW4QgCl/LSDo2ecQzAQHNu281oAivLDZuTQNA&amp;amp;iat-mode=0
http://bridge.onion/FD9DAEE45A2FDF70D462914A75ADE99A29957920?transport=obfs4&amp;amp;ip=104.224.78.19&amp;amp;port=443&amp;amp;cert=LSOd9qOffpIFM4az%2Bueou7sY0eQRAsI%2FjoW4QgCl/LSDo2ecQzAQHNu281oAivLDZuTQNA&amp;amp;iat-mode=0
https://bridges.torproject.org/FD9DAEE45A2FDF70D462914A75ADE99A29957920?transport=obfs4&amp;amp;ip=104.224.78.19&amp;amp;port=443&amp;amp;cert=LSOd9qOffpIFM4az%2Bueou7sY0eQRAsI%2FjoW4QgCl/LSDo2ecQzAQHNu281oAivLDZuTQNA&amp;amp;iat-mode=0
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;There&amp;rsquo;s still some room for refining this. Tor Browser, for example, will
happily accept but fail using our experimental SOCKS5 bridges.  Meanwhile our
prototype apps will accept but fail to connect to Tor bridges.  So it would
make sense to explore what metadata apps need to decide whether they are
capable of connecting to a specific bridge or not.&lt;/p&gt;

&lt;p&gt;An important missing puzzle piece in this regard also is to make sure DNS
queries can not get filtered.  &lt;a href=&#34;https://en.wikipedia.org/wiki/DNS_over_HTTPS&#34;&gt;DNS-over-HTTPS (DoH)&lt;/a&gt; could be
a suiteable mitigation. Further down the road, it certainly would make sense
to look into sending DNS requests over pluggable transports too.&lt;/p&gt;

&lt;p&gt;Many Android apps use &lt;code&gt;WebView&lt;/code&gt; for transparently embedding web content.
Sadly, proxy support of &lt;code&gt;WebView&lt;/code&gt; is not very developer friendly.  We are
shipping a well-tested helper library with &lt;a href=&#34;https://gitlab.com/guardianproject/NetCipher/#webview&#34;&gt;NetCipher&lt;/a&gt; to
ease this pain.&lt;/p&gt;

&lt;p&gt;We also explored an alternative approach to control the networking of
Android&amp;rsquo;s &lt;code&gt;WebView&lt;/code&gt;. It&amp;rsquo;s possible to replace all network requests
a &lt;code&gt;WebView&lt;/code&gt; sends by overriding &lt;code&gt;WebViewClient.shouldInterceptRequest()&lt;/code&gt;.
This technique will work well for read-only (HTTP GET) connections.  Sending
data (HTTP POST and PUT) is not feasible though. There is no interface,
either exposed or hidden, in Android&amp;rsquo;s API which would allow us to retrieve
a HTTP request&amp;rsquo;s body.&lt;/p&gt;

&lt;p&gt;Finally here&amp;rsquo;s a list of alternative scenarios we came up with for using PT
on Android.  They are not as generic as the approach we chose to implement in
the prototype Apps.  In some situations these might be easier to implement,
perform better or simply convey how PT can be put to use.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;apt-setup-scenarios.png&#34; alt=&#34;Schematic overview of establishing a PT connection used&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Use Onions/HTTPS for software updates</title>
      <link>https://guardianproject.info/2019/01/23/use-onions/https-for-software-updates/</link>
      <pubDate>Wed, 23 Jan 2019 06:35:40 -0400</pubDate>
      
      <guid>https://guardianproject.info/2019/01/23/use-onions/https-for-software-updates/</guid>
      <description>

&lt;p&gt;There is a new &lt;a href=&#34;https://lists.debian.org/debian-security-announce/2019/msg00010.html&#34; target=&#34;_blank&#34;&gt;vulnerability in Debian’s apt&lt;/a&gt; that allows anything that can Man-in-the-Middle (MITM) your traffic to get root on your Debian/Ubuntu/etc boxes. Using encrypted connections for downloading updates, like HTTPS or Tor Onion Services, reduces this vulnerability to requiring root on the mirror server in order to exploit it. That is a drastic reduction in exposure. We have been pushing for this &lt;a href=&#34;https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/&#34;&gt;since 2014&lt;/a&gt;, and &lt;a href=&#34;https://onion.debian.org&#34; target=&#34;_blank&#34;&gt;Debian&lt;/a&gt;, &lt;a href=&#34;https://ftp.fau.de&#34; target=&#34;_blank&#34;&gt;mirror&lt;/a&gt; &lt;a href=&#34;https://mirrors.kernel.org&#34; target=&#34;_blank&#34;&gt;operators&lt;/a&gt;, and others in the ecosystem have taken some big steps towards making this the standard. This should finally put to rest the idea that plain &lt;a href=&#34;https://whydoesaptnotusehttps.com/&#34; target=&#34;_blank&#34;&gt;HTTP is enough&lt;/a&gt; for software updates with signed metadata.&lt;/p&gt;

&lt;p&gt;To this end, we have always supported &lt;a href=&#34;https://f-droid.org/docs/Security_Model/&#34; target=&#34;_blank&#34;&gt;F-Droid’s practice&lt;/a&gt; of requiring HTTPS connections to f-droid.org and mirrors, even though the signed metadata file is the essential mechanism for providing security.&lt;/p&gt;

&lt;h2 id=&#34;using-encrypted-connections-on-your-server&#34;&gt;Using encrypted connections on your server&lt;/h2&gt;

&lt;p&gt;Over the years, we have been honing our &lt;code&gt;apt&lt;/code&gt; sources setup to use encrypted connections as much as possible, while getting updates as fast as possible. The hard part of this is that the &lt;a href=&#34;http://security.debian.org&#34; target=&#34;_blank&#34;&gt;official Debian security server&lt;/a&gt; only provides HTTP. There are mirrors of that that are available over HTTPS, but they can receive updates hours or days later. The best fix for this would be for Debian to provide an HTTPS connection to &lt;code&gt;security.debian.org&lt;/code&gt;. There are still things in the &lt;code&gt;apt&lt;/code&gt; source configuration that can help. There are three levels we use:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;only Tor Onion Services for all updates, this means always encrypted and over Tor, but can mean that updates are delayed, for example if Tor traffic is blocked.&lt;/li&gt;
&lt;li&gt;First try Tor Onion, then try HTTPS. This provides a backup connection method in case Tor is not working, for whatever reason, but still could get updates slower than the official security source&lt;/li&gt;
&lt;li&gt;First try Tor Onion, then try HTTPS, then try HTTP. But HTTP is only enabled for &lt;code&gt;security.debian.org&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can see an example of the final option by looking at &lt;a href=&#34;https://gitlab.com/fdroid/fdroid-cfarm-bootstrap/commit/24389018a164e110e7204f2b2c62a7b81863cdd4&#34; target=&#34;_blank&#34;&gt;F-Droid’s compile farm server config&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;fixing-your-boxes&#34;&gt;Fixing your boxes&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;@abelxluck&lt;/code&gt; aka &lt;code&gt;@abeluck&lt;/code&gt; put out an &lt;a href=&#34;https://gist.github.com/abeluck/67525909a17403060cd1722b53d57d00&#34; target=&#34;_blank&#34;&gt;Ansible Playbook&lt;/a&gt; to do this update. Here is a quick script for securely updating on Debian/stretch/amd64 based on the &lt;a href=&#34;https://lists.debian.org/debian-security-announce/2019/msg00010.html&#34; target=&#34;_blank&#34;&gt;info published&lt;/a&gt; on the debian-security list:&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
#!/bin/sh -ex&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apt -o Acquire::http::AllowRedirect=false update || true&amp;lt;br /&amp;gt;
apt -o Acquire::http::AllowRedirect=false upgrade --download-only || true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd /var/cache/apt/archives&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e apt-dbgsym_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;1da507155c7b1ad140739c62fdacceaf5b5ee3765b1a00c3a3527d9d82a8d533  apt-dbgsym_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e apt-transport-https-dbgsym_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;59f3e1c91664fe3b47048794560ebe9c41f1eeccbdd95f7715282f8cbe449060  apt-transport-https-dbgsym_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e apt-transport-https_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;c8c4366d1912ff8223615891397a78b44f313b0a2f15a970a82abe48460490cb  apt-transport-https_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e apt-utils-dbgsym_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;e3e157c291b05b2899a545331c7597ab36ca04e02cd9010562b9985b76af60db  apt-utils-dbgsym_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e apt-utils_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;fb227d1c4615197a6263e7312851ac3601d946221cfd85f20427a15ab9658d15  apt-utils_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e apt_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;dddf4ff686845b82c6c778a70f1f607d0bb9f8aa43f2fb7983db4ff1a55f5fae  apt_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e libapt-inst2.0-dbgsym_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;0e66db1f74827f06c55ac36cc961e932cd0a9a6efab91b7d1159658bab5f533e  libapt-inst2.0-dbgsym_1.4.9_amd64.deb&amp;quot; | sha256sum -c&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;test -e libapt-inst2.0_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;a099c57d20b3e55d224433b7a1ee972f6fdb79911322882d6e6f6a383862a57d  libapt-inst2.0_1.4.9_amd64.deb&amp;quot; | sha256sum -c&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;test -e libapt-pkg-dev_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;cfb0a03ecd22aba066d97e75d4d00d791c7a3aceb2e5ec4fbee7176389717404  libapt-pkg-dev_1.4.9_amd64.deb&amp;quot; | sha256sum -c&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;test -e libapt-pkg5.0-dbgsym_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;cdb03ddd57934e773a579a89f32f11567710a39d6ac289e73efb20e8825874d1  libapt-pkg5.0-dbgsym_1.4.9_amd64.deb&amp;quot; | sha256sum -c&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;test -e libapt-pkg5.0_1.4.9_amd64.deb &amp;amp;&amp;amp; \&amp;lt;br /&amp;gt;
echo &amp;quot;03281e3d1382826d5989c12c77a9b27f5f752b0f6aa28b524a2df193f7296e0b  libapt-pkg5.0_1.4.9_amd64.deb&amp;quot; | sha256sum -c&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&lt;/code&gt;``````````````````&lt;code&gt;apt -o Acquire::http::AllowRedirect=false upgrade&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Círculo</title>
      <link>https://guardianproject.info/apps/circulo/</link>
      <pubDate>Mon, 21 Jan 2019 14:57:14 -0400</pubDate>
      
      <guid>https://guardianproject.info/apps/circulo/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Wind is a Mozilla &amp; National Science Foundation Grand Prize Winner</title>
      <link>https://guardianproject.info/2018/09/26/wind-is-a-mozilla-national-science-foundation-grand-prize-winner/</link>
      <pubDate>Wed, 26 Sep 2018 10:54:38 -0400</pubDate>
      
      <guid>https://guardianproject.info/2018/09/26/wind-is-a-mozilla-national-science-foundation-grand-prize-winner/</guid>
      <description>&lt;p&gt;On August 14th, members of the Guardian Project team traveled to Mountain View to compete in the final round of the &lt;a href=&#34;https://wirelesschallenge.mozilla.org/&#34;&gt;Wireless Innovation for a Networked Society (WINS) Challenge&lt;/a&gt;. We learned in July that our &lt;a href=&#34;https://guardianproject.info/2018/07/20/our-wind-project-is-a-mozilla-nsf-challenge-finalist/&#34;&gt;Wind  project was a finalist&lt;/a&gt;, and we now had the opportunity to compete for one of the grand prizes, in a TED-meets-SharkTank style event, at Mozilla HQ.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wind&#34;&gt;Wind&lt;/a&gt; is a network designed for opportunistic communication and sharing of local knowledge that provides off-grid services for everyday people, using the mobile devices they already have. In the Wind network, Chime is the hyperlink, but one that exists in time and space, discoverable through beacon broadcasts and human-to-human sharing. All of this is powered by free and open-source software, running on readily available consumer hardware, and can be deployed at little to no cost, in a very short amount of time.&lt;/p&gt;

&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/fGuiy3rlOVQ&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p style=&#34;font-size:23px&#34;&gt;
  Yesterday, on the Mozilla blog, the &lt;a href=&#34;https://blog.mozilla.org/blog/2018/09/25/1-6-million-to-connect-unconnected-americans-our-nsf-wins-competition-grand-prize-winners/&#34;&gt;winners were announced.&lt;/a&gt; We are honored to be one of them, claiming the 4th Grand Prize.
&lt;/p&gt;

&lt;p&gt;&lt;p class=&#34;has-background has-pale-cyan-blue-background-color&#34;&gt;
  You can watch our 5 minute power presentation below, or jump to the &lt;a href=&#34;https://guardianproject.info/wind/&#34;&gt;project page&lt;/a&gt; or &lt;a href=&#34;https://github.com/guardianproject/wind&#34;&gt;github repo&lt;/a&gt; for more detail. We have also published our entire &lt;a href=&#34;https://github.com/guardianproject/wind/blob/master/Mozilla%20NSF%20Off-Grid%20Challenge_%20Wind.pdf&#34;&gt;Wind Concept Proposal Submission paper.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;

&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/FOWrappjLsY&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;We are so grateful to be associated not only with the challenge itself, but with all the other impressive finalists and winners. Our work on Wind took quite a different approach than the others, and thus fills some niches and gaps not addressed by the other systems. We believe there are numerous opportunities for collaboration, and looking forward to helping fulfill the complete vision set forth by the WINS challenges.&lt;/p&gt;

&lt;p&gt;We will use the funding to continue development work on our &lt;a href=&#34;https://github.com/sabzo/ayanda&#34;&gt;Ayanda&lt;/a&gt; and &lt;a href=&#34;https://github.com/guardianproject/chimeapp&#34;&gt;Chime&lt;/a&gt; apps, protocols and libraries. We will also support partners like F-Droid, OpenArchive, LibraryBox to help promote adoption. We will travel and work in the field, finding communities in need both in the U.S., and abroad, who can benefit from a Wind deployment. Lastly, we’ll reach out to colleagues in the humanitarian response communities, to gain feedback and build awareness about our suite of tools and capabilities.&lt;figure class=&#34;wp-block-image&#34;&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5.jpg&#34; alt=&#34;&#34; class=&#34;wp-image-13904&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5.jpg 1275w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-768x768.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-1024x1024.jpg 1024w&#34; sizes=&#34;(max-width: 1275px) 100vw, 1275px&#34; /&gt; &lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Some thanks are definitely in order for members of the Guardian Project team and community. Hans’ leadership and collaboration with the &lt;a href=&#34;https://f-droid.org/&#34;&gt;F-Droid.org team&lt;/a&gt; over the last few years, provided innovative and fully functional foundation for the “Off Grid App Store”. In particular, his work implementing USB sharing with F-Droid (see the video above for that in action), enabled a true sneakernet mode, that was a key part of our demo.&lt;br /&gt;
&lt;figure class=&#34;wp-block-image&#34;&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2018/09/disaster_1-1.jpg&#34; alt=&#34;&#34; class=&#34;wp-image-14002&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2018/09/disaster_1-1.jpg 1920w, https://guardianproject.info/wp-content/uploads/2018/09/disaster_1-1-300x182.jpg 300w, https://guardianproject.info/wp-content/uploads/2018/09/disaster_1-1-768x466.jpg 768w, https://guardianproject.info/wp-content/uploads/2018/09/disaster_1-1-1024x622.jpg 1024w&#34; sizes=&#34;(max-width: 1920px) 100vw, 1920px&#34; /&gt; &lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://okthanks.com/&#34;&gt;Okthanks&lt;/a&gt;, our design team, created amazing &lt;a href=&#34;https://okthanks.com/blog/peronas-latin-america&#34;&gt;user-centered foundations, personas and methods&lt;/a&gt; as our guide, and that helped our video presentations turn out great. Rosa and Fabiola ensured we stayed true to communities in Latin America who could benefit from this effort. Fabiola also was a fantastic presenter in front of the judges (again, to the video!). Early on, David conceived of a geocaching based concept that led to the Chime protocol, and which we plan to keep exploring. &lt;a href=&#34;http://sabelo.io/about/&#34;&gt;Sabelo&lt;/a&gt; pushed forward our work on our nearby communications with his &lt;a href=&#34;https://github.com/sabzo/ayanda&#34;&gt;Ayanda software library&lt;/a&gt;. Natalie and the &lt;a href=&#34;https://open-archive.org/&#34;&gt;OpenArchive&lt;/a&gt; team let us prototype support for nearby media publishing. Jason and his &lt;a href=&#34;http://librarybox.us/&#34;&gt;LibraryBoxen&lt;/a&gt; provided some early inspiration for how an off-grid system can be useful in everyday life.&lt;/p&gt;

&lt;p&gt;Again, our sincere thanks to Mozilla and the National Science Foundation for this wonderful opportunity and financial support. Here’s to a more Windy future for the unconnected world ahead.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IOCipher is the antidote to “Man-in-the-Disk” attack</title>
      <link>https://guardianproject.info/2018/08/17/iocipher-is-the-antidote-to-man-in-the-disk-attack/</link>
      <pubDate>Fri, 17 Aug 2018 16:56:00 -0400</pubDate>
      
      <guid>https://guardianproject.info/2018/08/17/iocipher-is-the-antidote-to-man-in-the-disk-attack/</guid>
      <description>&lt;p&gt;Recently, at DEFCON 2018, researchers at Check Point &lt;a href=&#34;https://blog.checkpoint.com/2018/08/12/man-in-the-disk-a-new-attack-surface-for-android-apps/&#34;&gt;announced a new kind of attack&lt;/a&gt; made possible by the way many Android apps are implemented. In summary, developers use the shared external storage space in an unsafe manner, by not taking into consideration that other apps also have read and write access to the same space. A malicious app can modify data used by another app, as a vector for compromising that app, causing it to be compromised or crash.&lt;/p&gt;

&lt;p&gt;While Google does provide &lt;a href=&#34;https://developer.android.com/training/articles/security-tips&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;guidelines&lt;/a&gt; on safe external storage use, most developers ignore them. Here is what they say:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Perform input validation when handling data from external storage”&lt;/li&gt;
&lt;li&gt;“Do not store executables or class files on External Storage”&lt;/li&gt;
&lt;li&gt;“External Storage files should be signed and cryptographically verified prior to dynamic loading”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is most likely due to lack of time or knowledge…. and, that is where our &lt;a href=&#34;https://guardianproject.info/code/iocipher/&#34;&gt;IOCipher encrypted virtual filesystem library for Android&lt;/a&gt; comes in!&lt;/p&gt;

&lt;p&gt;IOCipher provides a virtual encrypted disk for Android apps without requiring the device to be rooted. It uses a clone of the standard &lt;code&gt;java.io&lt;/code&gt; API for working with files, so developers already know how to use it. Only password handling, and opening the virtual disk are what stand between the developer and working encrypted file storage. It is based on and &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQLCipher&lt;/a&gt;, and designed to work with &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CacheWord&lt;/a&gt; for handling the keys and passwords.&lt;/p&gt;

&lt;p&gt;Regarding the three guidelines from Google, by storing downloaded data into an IOCipher virtual volume, you both benefit from the use of external storage, while ensuring, thanks to cryptography, that your data or executable code has not been read or modified by another application. If a malicious application tries to access or modify the encrypted volume, it will be detected and not able to load, without causing a crash in the application.&lt;/p&gt;

&lt;p&gt;You can find IOCipher on Github today (and likely get it implemented in your app today, as well!)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34;&gt;https://github.com/guardianproject/IOCipher&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Our “Wind” project is a Mozilla-NSF challenge finalist!</title>
      <link>https://guardianproject.info/2018/07/20/our-wind-project-is-a-mozilla-nsf-challenge-finalist/</link>
      <pubDate>Fri, 20 Jul 2018 14:28:23 -0400</pubDate>
      
      <guid>https://guardianproject.info/2018/07/20/our-wind-project-is-a-mozilla-nsf-challenge-finalist/</guid>
      <description>&lt;p&gt;For the last few years, we’ve been working on the &lt;a href=&#34;https://guardianproject.info/wind/&#34;&gt;Wind network concept&lt;/a&gt;, as a nearby, local, off-grid companion, or alternative, to the Web. This year, we decided to participate in the &lt;a href=&#34;https://wirelesschallenge.mozilla.org/&#34;&gt;Wireless Innovation Challenge&lt;/a&gt;, sponsored by Mozilla and the National Science Foundation. Today, it was announced that we are a finalist in, as they put it, &lt;a href=&#34;https://blog.mozilla.org/blog/2018/07/19/a-science-fair-with-1-6-million-in-prizes/&#34;&gt;“A Science Fair with $1.6 Million in Prizes”&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Watch the video below to learn more about Wind, or jump right over to the &lt;a href=&#34;https://guardianproject.info/wind/&#34;&gt;Wind project page&lt;/a&gt;.&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/fGuiy3rlOVQ&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;_&lt;br /&gt;
When disaster strikes, connectivity becomes difficult. Information can save your life, guiding you to safety and services. Networks today are fragile and easy overloaded. There has not been enough investment in the many other possible nets, that may be better suited for situations where connections to the global internet are not available or affordable. The potential in radios, sensors and processing available in the cheapest of smartphones and routers are not fully utilized or realized._&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot: Over 20 Million Served, Ready for the Next Billion</title>
      <link>https://guardianproject.info/2018/05/16/orbot-over-20-million-served-ready-for-the-next-billion/</link>
      <pubDate>Wed, 16 May 2018 07:42:38 -0400</pubDate>
      
      <guid>https://guardianproject.info/2018/05/16/orbot-over-20-million-served-ready-for-the-next-billion/</guid>
      <description>&lt;p&gt;We recently published the &lt;a href=&#34;https://github.com/n8fr8/orbot/releases/tag/16.0.2-RC-1&#34;&gt;latest release of Orbot (16.0.2!)&lt;/a&gt;, and as usual, we make it available via &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&amp;amp;hl=en_US&#34;&gt;Google Play&lt;/a&gt;, as well &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid&lt;/a&gt;, and through &lt;a href=&#34;https://guardianproject.info/releases/&#34;&gt;direct download&lt;/a&gt; on our website. Whether we like it or not, Google keeps tracks of things like total installs and active installs (i.e. not uninstalled), and reports on that for us through their dashboard. While publishing this release, we noticed a milestone that made us a bit proud… so pardon this humblebrag.&lt;/p&gt;

&lt;p&gt;Since we release Orbot roughly 8 years ago, it has been &lt;strong&gt;installed more than 20 million times&lt;/strong&gt;, by people from hundreds of different countries and walks of life. Even better, we have cross the &lt;strong&gt;2 million active user&lt;/strong&gt; mark, with growing adoption in many “mobile first” parts of the world.&lt;/p&gt;

&lt;p&gt;Of course, none of this would be possible without Tor Project itself, at the core of what we do, and empowering us through the years, to pave the way on free, open, mobile circumvention. We are also especially excited about the direction things are headed with &lt;a href=&#34;https://blog.torproject.org/announcing-tors-next-executive-director-isabela-bagueros&#34;&gt;Tor’s new executive director, Isabela Bagueros.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is because Isa understands that the vast majority of the world, including her home country of Brazil, accesses the internet using smartphones, which essentially include surveillance, censorship and privacy invasion as core features. Fortunately, she shares our optimism that with the right software and service, we can fight back against this and provide working solutions for human rights defenders, activists, journalists and everyday people. We are really excited about &lt;a href=&#34;https://blog.torproject.org/blog/upping-support-mobile-browsing&#34;&gt;Tor’s new mobile initiative&lt;/a&gt; and their new stewardship of Orfox (soon to be Tor browser for Android!). &lt;em&gt;Also, if you didn’t know Isa is the one responsible for &lt;a href=&#34;https://guardianproject.info/2012/05/02/orbot-your-twitter/&#34;&gt;Twitter adding proxy features&lt;/a&gt; into their Android app many years ago!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With that global population in mind, we’ve focused this latest release of Orbot on size and efficiency, with the goal of making the app &lt;strong&gt;less than 10 megabytes in size&lt;/strong&gt;. This 10MB limit qualifies Orbot to be promoted to &lt;a href=&#34;https://www.android.com/versions/oreo-8-0/go-edition/&#34;&gt;Android Go devices&lt;/a&gt;, which is Google’s attempt to serve &lt;a href=&#34;https://www.blog.google/topics/next-billion-users/&#34;&gt;“the next billion”&lt;/a&gt;. You might have heard about lightweight “Go” editions of apps like YouTube, that are both smaller in size, and have features that enable data saving and offline use. With Orbot, we have started by focusing on reducing our binary size (which adds up over time with regular updates, etc), to reduce it by nearly &lt;sup&gt;1&lt;/sup&gt;&amp;frasl;&lt;sub&gt;3&lt;/sub&gt;, instead of just letting it grow bigger and bigger with each release. Over the next year, we will be working with the core Tor team to improve the core efficiency of the service running on mobile architectures, and to implement new features for data management, battery saving and more.&lt;/p&gt;

&lt;p&gt;A deep, onion-infused thank you to the multitudes who have helped us get to this point. We couldn’t have done it with out all of your patches, bug reports, complaints, praise, donations and encouragement. Now, let’s keep it up until we get to the billion install mark!&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot v16: a whole new look, and easier to use!</title>
      <link>https://guardianproject.info/2018/01/05/orbot-v16-a-whole-new-look-and-easier-to-use/</link>
      <pubDate>Fri, 05 Jan 2018 13:14:17 -0400</pubDate>
      
      <guid>https://guardianproject.info/2018/01/05/orbot-v16-a-whole-new-look-and-easier-to-use/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/orbot/&#34;&gt;Orbot: Tor for Android&lt;/a&gt; has a new release (&lt;a href=&#34;https://gitweb.torproject.org/orbot.git/tag/?h=16.0.0-RC-2&#34;&gt;tag&lt;/a&gt; and &lt;a href=&#34;https://gitweb.torproject.org/orbot.git/diff/CHANGELOG?h=16.0.0-RC-1-CHANGELOG&amp;amp;id=5542e8e192fcff24284179e7fdb31cf877f79efd&#34;&gt;changelog&lt;/a&gt;), with a major update to the user experience and interface. This is the 16th major release of Orbot, since it was launched in late 2009.&lt;/p&gt;

&lt;p&gt;The main screen of the app now looks quite different, with all the major features and functions exposed for easy access. We have also added a new onboarding setup wizard for first time users, that assists with configuring connections to the Tor network for users in places where Tor itself is blocked. This release also continues to support users looking to use Orbot to unblock specific apps, that may not be available on their network or country. From the main screen, users can activate Orbot’s built-in VPN feature, and easily choose which specific apps they want to be routed over the Tor network. You can also refresh your Tor identity, rebuilding all circuit connections through the network, using the circular reload icon in the expanded notification provided by Orbot.&lt;/p&gt;

&lt;p&gt;The update is rolling out on &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34;&gt;Google Play&lt;/a&gt;, and will also be available on &lt;a href=&#34;https://guardianproject.info/fdroid/&#34;&gt;Guardian Project’s F-Droid Repo&lt;/a&gt; soon. You can also find &lt;a href=&#34;https://github.com/n8fr8/orbot/releases&#34;&gt;Android APKs on Github&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;THANKS TO: pgerber, syphyr, Khsed4, BjarniRunar, Unpublished, igortoliveira, goapunk, SpotComms, AkshatAgrawal05, dixidroid, arrase and others for the bug reports and fixes on the Orbot app. Thanks to &lt;a href=&#34;https://twitter.com/wwwiretap&#34;&gt;Sina&lt;/a&gt; with Team Cymru for the extra infrastructure provided to help users in places where Tor itself is blocked. Also, &lt;a href=&#34;https://twitter.com/mrphs&#34;&gt;Nima&lt;/a&gt; for the guidance, support and motivation to get this release out sooner rather than later!&lt;/p&gt;

&lt;div id=&#39;gallery-13&#39; class=&#39;gallery galleryid-13934 gallery-columns-3 gallery-size-medium&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122015.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122015-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122015-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122015-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122015-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122015.png 1440w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122035.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122035-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122035-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122035-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122035-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122035.png 1440w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122111.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122111-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122111-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122111-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122111-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122111.png 1440w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122301.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122301-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122301-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122301-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122301-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122301.png 1440w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122344.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122344-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122344-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122344-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122344-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2018/01/device-2018-01-05-122344.png 1440w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#39;clear: both&#39; /&gt;
&lt;/div&gt;

&lt;p&gt;/** v16.0.0 RC 1 / 5 Jan 2018 / 309c42be916d866a28adacb0a4f92d692cbd6009 **/&lt;/p&gt;

&lt;p&gt;7e9890e tweak default bridge behavior based on locale&lt;br /&gt;
fec853c updates to notification for Android O / SDK26&lt;br /&gt;
b161043 Merge pull request #106 from Unpublished/fix_binary_search&lt;br /&gt;
ab472d5 Merge branch ‘syphyr-master’&lt;br /&gt;
4fc3e7e Merge branch ‘master’ of &lt;a href=&#34;https://github.com/syphyr/orbot&#34;&gt;https://github.com/syphyr/orbot&lt;/a&gt; into syphyr-master&lt;br /&gt;
792ee2b Merge branch ‘BjarniRunar-master’&lt;br /&gt;
0d4a735 Merge branch ‘master’ of &lt;a href=&#34;https://github.com/BjarniRunar/orbot&#34;&gt;https://github.com/BjarniRunar/orbot&lt;/a&gt; into BjarniRunar-master&lt;br /&gt;
c7b1441 add comment about app updates URL&lt;br /&gt;
d21ff80 update strings and code for switching Locale in app&lt;br /&gt;
5c5790c fix binary search&lt;br /&gt;
38b0063 update build to &lt;sup&gt;16000005&lt;/sup&gt;&amp;frasl;&lt;sub&gt;6&lt;/sub&gt; for 16.0.0-BETA-2&lt;br /&gt;
7da26a3 update strings from transifex&lt;br /&gt;
ce714fa use the proper localized start/end params&lt;br /&gt;
38cc29c externalize more strings&lt;br /&gt;
8bcc9a4 update gitignore&lt;br /&gt;
6e3b6ba add onboarding strings localizatoin&lt;br /&gt;
154e373 ensure appupdater check starts up&lt;br /&gt;
703f8a1 move update back to older (reduce version code)&lt;br /&gt;
b556518 move update back to older version&lt;br /&gt;
680d108 update json for testing&lt;br /&gt;
e4f6348 test updating json&lt;br /&gt;
dafcdd7 enable AppUpdater notificatoins through Github&lt;br /&gt;
3b5a361 update handling of vpn enabled and app onclick&lt;br /&gt;
e21474c updates to layout and strings for bridge wizard&lt;br /&gt;
2a9691c make sure the back arrow works&lt;br /&gt;
244231c remove activity no longer used&lt;br /&gt;
0284130 remove out activity no longer used&lt;br /&gt;
e487f34 update strings&lt;br /&gt;
8fd0bd0 update tor-android to 0.3.19b (updated geoip databases)&lt;br /&gt;
ad51bed update transifex configuration&lt;br /&gt;
a08c707 update app store descriptions&lt;br /&gt;
2ced17a update build SDK targets to 26&lt;br /&gt;
5c22de2 manifest updates: remove superuser, enable chromebooks&lt;br /&gt;
b4aa9d8 more improvements for bridge wizard&lt;br /&gt;
df37b8c add bridge wizard testing code&lt;br /&gt;
14ce4f6 big update for new onboarding, bridge wizard&lt;br /&gt;
2ceacf6 move bridges to raw resources&lt;br /&gt;
938a740 improve vpn app enable view on main activity&lt;br /&gt;
ba358a4 add new orfox and settings icon&lt;br /&gt;
5bd5a56 VPN should be off by default&lt;br /&gt;
e464044 connection might be null&lt;br /&gt;
51216a4 Add new preference: pref_open_proxy_on_all_interfaces&lt;br /&gt;
21b4521 Update version strings in help-&amp;gt;about&lt;br /&gt;
5500b50 update spuport library version&lt;br /&gt;
546310a improve notifications, add refresh/newnym button&lt;br /&gt;
877406f tweak layout&lt;br /&gt;
b68132b fix title for tor app section&lt;br /&gt;
7210223 fix handling of intents&lt;br /&gt;
47e10e7 fix issues with bridge selection UI&lt;br /&gt;
e6bd23a more UI updates and small improvements&lt;br /&gt;
d9bd32a more UI updates&lt;br /&gt;
7303a33 work on the new UI update&lt;br /&gt;
6a19bf6 update UI tweaks for next release&lt;br /&gt;
3741434 don’t show app selection each time you turn VPN on/off&lt;br /&gt;
4df2fcf move “other” installer back to tor resource installer&lt;br /&gt;
f3f9162 don’t delete installed binaries&lt;br /&gt;
6493d8d Merge pull request #104 from igortoliveira/remove-java-file&lt;br /&gt;
fc4d6aa improve app loading time for VPN app dialog&lt;br /&gt;
fbeff25 Remove leftover Java file&lt;br /&gt;
544ea7b update build to use tor version constant from tor-android-binary&lt;br /&gt;
977167b ZMerge branch ‘master’ of github.com:n8fr8/orbot&lt;br /&gt;
b07d4fe removed unused submodules, moved to gradle tor-android&lt;br /&gt;
d392ecd remove unneeded external dirs for making tor&lt;br /&gt;
3d729fc switch to using tor-android binary in TorService&lt;br /&gt;
6f364de use the new tor-android gradle dependency &lt;a href=&#34;https://github.com/n8fr8/tor-android&#34;&gt;https://github.com/n8fr8/tor-android&lt;/a&gt;&lt;br /&gt;
c7f834b moving binary files, use tor-android gradle&lt;br /&gt;
3b5e27e removing external depends, moving to tor-android gradle&lt;br /&gt;
898f64a Merge pull request #99 from goapunk/update-BUILD-instructions&lt;br /&gt;
e14d647 update BUILD&lt;br /&gt;
fce5bde add autopoint to dependencies&lt;br /&gt;
72c7e04 Merge pull request #97 from SpotComms/padding&lt;br /&gt;
8cf412a Merge pull request #98 from goapunk/add-lzma-zstd-as-dependency&lt;br /&gt;
c1dfc29 Update BUILD instructions&lt;br /&gt;
9ca36e1 Add lzma and zstd&lt;br /&gt;
6e4b700 Expose *ConnectionPadding&lt;br /&gt;
71e3464 Merge pull request #94 from Unpublished/fix88&lt;br /&gt;
cbffc1d remove some transproxy left overs&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Haven: Building the Most Secure Baby Monitor Ever?</title>
      <link>https://guardianproject.info/2017/12/22/haven-building-the-most-secure-baby-monitor-ever/</link>
      <pubDate>Fri, 22 Dec 2017 09:07:00 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/12/22/haven-building-the-most-secure-baby-monitor-ever/</guid>
      <description>&lt;p&gt;About eight months ago, friends at the &lt;a href=&#34;https://freedom.press/&#34;&gt;Freedom of the Press Foundation&lt;/a&gt; reached out to us, to see if we were interested in prototyping an idea they had been batting around. They knew that from projects like &lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;CameraV&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/2017/02/24/combating-fake-news-with-a-smartphone-proof-mode/&#34;&gt;ProofMode&lt;/a&gt;, that we knew how to tap into the sensors on smartphones to do interesting things. They also knew we could connect devices together using encrypted messaging and onion routing, through our work on &lt;a href=&#34;https://chatsecure.org&#34;&gt;ChatSecure&lt;/a&gt; and Tor (&lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot!&lt;/a&gt;). They also knew of our deep interest in bringing ideas to life that can solve real problems faced by people out on the front lines (both at home and abroad), who often are more in danger from physical threats, than digital. They had a concept that would bring all of these things together, and just wanted to see if it was even possible. We were game, and well, here we are today, announcing a real working public beta, and a new open-source project, that we are extremely excited about.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IT’S NOT JUST A PHONE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At some point soon, we should stop calling the smartphones that over two billion people carry with them everyday and everywhere, phones at all. These devices have powerful processors with multiple cores, at gigahertz speeds, and gigabytes of RAM and storage. They have at least two cameras, now often three, arrays of microphones to capture sound near and far, and high definition, hyper sensitive touch screens for controlling them. They contain multiple radios and signal processors, that allow you to make crystal clear calls to someone on the other side of the planet, live stream 4K video, and download a game all at once. Most importantly, for the work we are announcing today, they contain an amazing variety of sensors, that can measure gravity, motion, air pressure, ambient light, temperature, and your precise location on the planet. I don’t think Alexander Graham Bell ever imagined a telephone doing all of these things. Once you step back from thinking of these devices as phones, and instead as powerful general purpose portable computing platforms, a world of possibilities and potential uses opens up wide. Even better, many people have an old second-hand, last generation device lying around, ready to be transformed into a computing platform much more powerful than a Raspberry Pi or some generic Internet of Shoddy (!) Things platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A SAFE ROOM IN YOUR POCKET&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This re-imagining of a smartphone as something more, is what inspired the development of &lt;a href=&#34;https://guardianproject.github.io/haven/&#34;&gt;Haven&lt;/a&gt;, a new open-source project and mobile app we are announcing today, built in partnership with Freedom of the Press Foundation. The concept of &lt;a href=&#34;https://guardianproject.github.io/haven/&#34;&gt;Haven&lt;/a&gt;, as imagined by Micah F. Lee and Edward Snowden, is based on the notion that any smartphone could be turned into a personal, portable security device, to watch for unexpected intrusions into physical spaces.&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/Fr0wEsISRUw&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;They call it a “safe room” in your pocket, or way to defeat “evil maid” attacks, that lets you know when you’ve been targeted by a “black bag” operation. I also like to think that through Haven, we have unexpectedly created the most powerful, secure and private baby monitor system ever. By tapping into the sensors and processing power on these devices with custom software, a system could feel the vibrations of someone walking, detect the shine of a flashlight, hear the sound of a door opening (or a child crying), or see someone entering into the view of a camera. All of these “intruder alerts” are recorded on the device, so that the victim can have evidence of their unwanted guest. Even better, they can receive real-time secure and private notifications, with images and sound, as it happens, and take appropriate actions.&lt;/p&gt;

&lt;p&gt;**YOU ARE THE WATCHER&lt;br /&gt;
**&lt;/p&gt;

&lt;p&gt;An important design goal of Haven, is to not require the user to share data with any third-party, or to have centralized infrastructure. It was clear that some might see Haven as a surveillance device (or “self” sous-veillance), which, regardless of who is in control of it, can be problematic and a vulnerability. Thus, it was a fundamental tenet to not require people to give up privacy, in order to gain security. The person we aim to help must have complete control of the system, the sensors and the captured data and media. In addition, the device must not simply record a stream of video, audio and sensors, hoover-ing up all things. Only when configurable sensor thresholds are crossed, is any data recorded permanently in the log. All of the processing and analysis of the sensor data happens locally on the device, and is only stored locally, and not in a cloud. The device itself can be protected by a strong password and disk encryption, to stop intruders from meddling or accessing any data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SIGNAL’D AND ONION’D&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If the intruders chooses to destroy or make off with a Haven device, thats fine. The every act of vandalism and theft is detected in progress, and the owner of the device is notified in real-time. All photos and audio can be sent remotely via notifications, ensuring the evidence is safe. Haven does currently support optional plaintext SMS notifications. This does leak some data to the mobile operator or anyone who can access your text messages, that you are using Haven.&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.github.io/haven/docs/preso/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img class=&#34;aligncenter wp-image-13927 size-large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-11-1024x576.jpg&#34; alt=&#34;&#34; width=&#34;945&#34; height=&#34;532&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-11-1024x576.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-11-300x169.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-11-768x432.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-11.jpg 1500w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;&lt;/a&gt;&lt;em&gt;Click to view our &lt;a href=&#34;https://guardianproject.github.io/haven/docs/preso/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;online presentation on Haven&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;We provided SMS support because we wanted Haven to be used in parts of the world where mobile internet access isn’t available, is too expensive, or is heavily censored. The notification message sent over SMS provide minimal information to an attacker. Better than SMS, however, is the integrated support for sending fully end-to-end encrypted notifications, with photo and audio attachments, over Signal. This method allows you to use a device without a SIM card, or in airplane mode, since Signal utilizes the internet for communication, not the mobile operator network. Haven also includes support for Tor’s Onion Services, through integration with Orbot, the Tor app for Android. This allows you to activate a web service on your device, and make it accessible via a “.onion” address, which you can access from any Tor-enabled browser, like Tor Browser, Orfox or Onion Browser. This provides a surveillance-free, end-to-end encrypted channel between you and your device, through which you can access all data stored in Haven, past and present.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INTERNET OF SHODDY THINGS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At this point, you might be saying to yourself “Wait, did these paranoid privacy hackers just building a surveillance camera? Are they trying to sell me on some kind of IoT crap?”. While we didn’t set out to try to address the insane amount of vulnerabilities, insecurities, and fundamental flaws that most most commercial home security devices have, we do admit that our work on Haven crosses over into that problem space. We knew that journalists, activists and others were not interested in setting up cameras and microphones watching themselves &lt;sup&gt;24&lt;/sup&gt;&amp;frasl;&lt;sub&gt;7&lt;/sub&gt;, streaming to the cloud, as a solution to their threat. We also knew, as discussed before, that linking any solution to a centralized cloud service that asked you to trust them, also didn’t make sense.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-07.jpg&#34;&gt;&lt;img class=&#34;aligncenter size-large wp-image-13929&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-07-1024x576.jpg&#34; alt=&#34;&#34; width=&#34;945&#34; height=&#34;532&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-07-1024x576.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-07-300x169.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-07-768x432.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/12/havenpreso-07.jpg 1500w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What we’ve built then could be seen as a competitor to commercial solutions, except for a few key points. First, it is freely licensed, and open-source, enabling anyone to audit it, improve it, remix it, and use as they see fit. It runs on any hardware that can support the Android operating system back to version 4.1. This includes not just smartphones, but also tablets, Raspberry Pi’s, TV set top boxes and sticks, and the emerging Android Things platform. This makes it portable, battery powered, and able to run on devices that are readily available for very little money, anywhere in the world. It takes advantage of many more sensors than a typical home security product, and can easily be expanded to support more. Most importantly, all network communications can be encrypted using other open-source gold standards such as Signal and Tor. You can receive notifications from and access in real-time your Haven device anywhere in the world, completely privately, without any third-party even knowing you are doing so. This addresses the primary threat of remote network intruders, device botnets, and legal actions, as well. The goal is for someone to be able to use Haven, without anyone knowing they are.&lt;/p&gt;

&lt;p&gt;With these innovations, we have set the bar for what a personal security device should be, and do. We know that many people this holiday season will be setting up new cameras around the house, on their front door, in their car… pretty much everywhere, and letting a third-party tap into all of that content. We think that Haven shows a better way, that provides just as much, if not more, peace of mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;THE ROAD AHEAD AND YOU!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today, we are announcing our public beta, and beginning to promote the open-source project. Haven was originally built upon our previous work with CameraV and ProofMode, as well as a project called SecurIt from developer Marco Ziccardi (&lt;a href=&#34;https://github.com/mziccard&#34;&gt;https://github.com/mziccard&lt;/a&gt;), which is how we went from an idea to a pretty cool app in about eight months. The team at Guardian Project, has been doing the bulk of the work up to this point, but as with all of our projects, we look to expand our contributions to the community. If you are interested in this project, for your own use, as an activist, or as a developer, designer or hardware hacker, we need your help. Here’s a quick set of things to do to join:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check out the &lt;a href=&#34;https://github.com/guardianproject/haven/issues&#34;&gt;Github issues&lt;/a&gt; and the &lt;a href=&#34;https://github.com/guardianproject/haven/projects&#34;&gt;Prototype Project board,&lt;/a&gt; pick some things to work on or provide feedback on&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Come talk with us at the Guardian Project through our points of contact: &lt;a href=&#34;https://guardianproject.info/contact&#34;&gt;https://guardianproject.info/contact&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Test Haven out on your hardware and let us know if you find any issues (see &lt;a href=&#34;http://havenapp.org&#34;&gt;havenapp.org&lt;/a&gt; for links)&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Share your user stories, personas, threats and more, to ensure we are keeping your needs in mind&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Donate (Bitcoin accepted!) to support our ongoing efforts: &lt;a href=&#34;https://freedom.press/donate-support-haven-open-source-project/&#34;&gt;https://freedom.press/donate-support-haven-open-source-project/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for reading this far, and being interested in our ongoing work, to ensure people are empowered by mobile technology, and not endangered by it. Happy Holidays, and remember: keep watch, stay safe!&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Building a Signing Server</title>
      <link>https://guardianproject.info/2017/12/18/building-a-signing-server/</link>
      <pubDate>Mon, 18 Dec 2017 05:43:34 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/12/18/building-a-signing-server/</guid>
      <description>

&lt;p&gt;The Android APK signing model sets the expectation that the signing key will be the same for the entire lifetime of the app. That can be seen in the recommended lifetype of an Android signing key: &lt;a href=&#34;https://developer.android.com/studio/publish/app-signing.html#considerations&#34;&gt;20+ years&lt;/a&gt;. On top of that, it is difficult to &lt;a href=&#34;https://guardianproject.info/2015/12/29/how-to-migrate-your-android-apps-signing-key/&#34;&gt;migrate an app to a new key&lt;/a&gt;. Since the signing key is an essential part to preventing APKs from impersonating another, Android signing keys must be kept safe for the entire life of the app.&lt;/p&gt;

&lt;p&gt;The F-Droid repo signing keys follow a very similar model: the signing key is the essential way to safely identify an F-Droid repo. So the same considerations apply to F-Droid repo signing keys as to APK signing keys. This also provides some really useful benefits. Since the integrity of the repo index file and the APKs are guaranteed by the repo signature, the files can be delivered via whatever method is most convenient, and their integrity will be automatically verified by the F-Droid client app, the &lt;em&gt;f-droid.org&lt;/em&gt; deploy process, and Repomaker.&lt;/p&gt;

&lt;p&gt;This means the security burden is shifted from the online, public webserver to a private signing machine. Just keeping that machine out of the public eye goes a long way towards improving security. There are a number of additional measures that can be taken to further improve the security of the signing process. Here are some approaches, starting with the easiest and least security, and going on to more secure setups that require more work to setup and run. Signing is not an resource intensive process, so any machine will work, even a 10 year old, basic laptop. We recommend using a minimal &lt;a href=&#34;https://www.debian.org&#34;&gt;Debian&lt;/a&gt; install, and rebuilding the machine from scratch.&lt;/p&gt;

&lt;h3 id=&#34;automated-signing-server-with-with-hsm&#34;&gt;Automated Signing Server with with HSM&lt;/h3&gt;

&lt;p&gt;For a fully automated signing setup, the machine running the signing needs to be online and running. Ideally this machine would have no remote access, at the very least remote access should be very carefully controlled and monitored. A laptop makes it easy to work with even when remote access is disabled, since it provides a built-in keyboard and monitor. If remote access is required, then any basic PC will work fine. Using a Hardware Security Module (HSM) to store the keys prevents them from being stolen if the server is broken into. An attacker could only run the signing process on that server.&lt;/p&gt;

&lt;p&gt;Ideally, this machine would only be accessible via Tor. That hides the physical location of the server, and hides the traffic from network. This makes it much harder attackers to find the actual machine to attack.&lt;/p&gt;

&lt;p&gt;For the HSM, we recommend using &lt;a href=&#34;https://www.nitrokey.com/&#34;&gt;Nitrokey&lt;/a&gt; hardware, since they are free software/hardware, and provide a wide range of options. Use a separate machine to put the signing keys on HSM. A good HSM will keep an audit trail of how many signatures have been made, so that information could be used to create an automatic auditing process to raise alarms if too many signatures have been made. That could mean that this server was breached and used to sign unauthorized packages.&lt;/p&gt;

&lt;p&gt;Other possibility it to use a setup like &lt;a href=&#34;https://pagure.io/sigul&#34;&gt;Fedora&lt;/a&gt;‘s &lt;a href=&#34;http://www.devops-blog.net/koji/gpg-signing-rpms-with-sigul-signing-server-koji-integration&#34;&gt;Sigul&lt;/a&gt; that involves three machines.&lt;/p&gt;

&lt;h3 id=&#34;basic-laptop-dedicated-to-signing&#34;&gt;Basic laptop dedicated to signing&lt;/h3&gt;

&lt;p&gt;Start with a laptop that can be wiped clean and rebuilt from scratch. What is most important is that only the essential software is installed on it, and nothing else. Do not include any browser at all, for example, since that is the most common vector of attack. No remote access setup (e.g. SSH or VNC) should be installed or configured. To sign apps and repos, someone would take out this laptop, connect it to the network, and run the signing process. The signed results can then be published via the network connection. When the signing is complete, the machine can be turned off and disconnected and kept in a safe place.&lt;/p&gt;

&lt;p&gt;This could be made quite automatic with some custom scripts. The person running the process would only need to take out the machine, connect it, turn it on, wait until the process completes, then put it all away again.&lt;/p&gt;

&lt;h3 id=&#34;fully-offline-signing-laptop-with-usb-thumb-drives&#34;&gt;Fully offline signing laptop with USB thumb drives&lt;/h3&gt;

&lt;p&gt;_&lt;strong&gt;update&lt;/strong&gt;: apt-offline has a &lt;a href=&#34;https://bugs.debian.org/871656&#34;&gt;security bug&lt;/a&gt; so it was removed from Debian/buster. It is no longer recommended! Instead, use the Debian &amp;ldquo;&lt;a href=&#34;https://www.debian.org/doc/manuals/apt-offline&#34;&gt;apt offline&lt;/a&gt;&amp;rdquo; setup._&lt;/p&gt;

&lt;p&gt;This process is based on the same basic, stripped down laptop as the previous example. But this time, the networking should be entirely disabled before the install process. For example, it is easy in many laptops to physically remove the WiFi card. Therefore, it makes sense to use a laptop that does not include an ethernet jack, which are usually not possible to remove. Otherwise, blacklisting all kernel modules related to neworking can suffice. Since this machine is fully offline, the extra work of using an HSM is not as important, but it can’t hurt to include it.&lt;/p&gt;

&lt;p&gt;Download the full &amp;ldquo;CD&amp;rdquo; or &amp;ldquo;DVD&amp;rdquo; image of Debian to run the install. Be sure to &lt;a href=&#34;https://www.debian.org/CD/verify&#34;&gt;verify&lt;/a&gt; the GPG signatures and the SHA-256 hashes. One essential utility is &lt;em&gt;apt-offline&lt;/em&gt;, which automates the process of downloading Debian packages, verifying their signatures, and copying them over to an offline machine.&lt;/p&gt;

&lt;p&gt;To be extra careful, all of the software used should be verified. Chromebooks are nice, cheap laptops that run Linux natively. They also use Coreboot for the BIOS.&lt;/p&gt;

&lt;p&gt;&lt;li id=&#34;buy-a-computer-off-the-shelf-with-cash-avoid-having-it-shipped-especially-across-borders&#34;&gt;
  Buy a computer off the shelf with cash, avoid having it shipped, especially across borders
&lt;/li&gt;
&lt;li id=&#34;buy-a-debian-supported-chromebook-with-removeable-wifi-hardware-and-needs-no-binary-blobs&#34;&gt;
  Buy a Debian-supported &lt;a href=&#34;https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/acer-c720-chromebook&#34;&gt;Chromebook&lt;/a&gt; with removeable WiFi hardware, and needs no binary blobs
&lt;/li&gt;
&lt;li id=&#34;install-a-reproducibly-built-coreboot-binary&#34;&gt;
  Install a reproducibly built coreboot binary
&lt;/li&gt;
&lt;li id=&#34;install-from-a-reproducibly-built-debian-image-wiping-out-chrome-os-entirely&#34;&gt;
  Install from a reproducibly built Debian image, wiping out Chrome OS entirely
&lt;/li&gt;&lt;/p&gt;

&lt;h2 id=&#34;the-physical-environment&#34;&gt;The Physical Environment&lt;/h2&gt;

&lt;p&gt;The last thing to consider is the physical location where signatures happen, and where essential equipment is stored. The signing environment must be physically secure. Otherwise, there is no way to prevent laptops or HSMs from being lost or used to sign inappropriate content. For the offline machines, keeping them in a locked room is a good start. For an online machine, forcing all network traffic and remote access over Tor hides the physical location of the machine from network observers.&lt;/p&gt;

&lt;p&gt;For high risk signing keys, using multiple layers of defense is important:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restricted physical access to HSMs or smart cards&lt;/li&gt;
&lt;li&gt;Security cameras&lt;/li&gt;
&lt;li&gt;Onsite security guards&lt;/li&gt;
&lt;li&gt;Visitor logging&lt;/li&gt;
&lt;li&gt;A tools-resistant server safe for online code-signing servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The signing server should be physically separate from the rest of the infrastructure. And the logs, machine, and network should be periodically audited.&lt;/p&gt;

&lt;h2 id=&#34;difficult-decisions&#34;&gt;Difficult decisions&lt;/h2&gt;

&lt;p&gt;Ideally all of these practices would be put into place, but each of these security measures comes at a cost of difficulty, expense, and complexity. They can also delay the process of getting regular updates out. So there are risks of implementing too strict security policies, much like the risks of not implementing enough.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Wind: Off-Grid Services for Everyday People</title>
      <link>https://guardianproject.info/code/wind/</link>
      <pubDate>Wed, 15 Nov 2017 18:11:44 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/wind/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://github.com/guardianproject/wind&#34; target=&#34;_blank&#34; title=&#34;Wind on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://guardianproject.info/tags/wind&#34; target=&#34;_blank&#34; title=&#34;Wind blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;When disaster strikes, connectivity becomes difficult. Information can save your life, guiding you to safety and services. Networks today are fragile and easy overloaded. There has not been enough investment in the many other possible nets, that may be better suited for situations where connections to the global internet are not available or affordable. The potential in radios, sensors and processing available in the cheapest of smartphones and routers are not fully utilized or realized.&lt;/p&gt;

&lt;p&gt;Wind is a network designed for opportunistic communication and sharing of local knowledge. It is built on impermanence, movement, and spontaneity.  Wind is a direct counterpoint to the metaphor of the Web, a system built upon the concept of fixed physical nodes, centralized authorities and permanent links. It is rooted in the mindsets and needs of people and communities who face challenges communicating. Wind is shaped by the movements and density of people in time and space.&lt;/p&gt;

&lt;h2 id=&#34;background-information&#34;&gt;Background Information&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/wind/video/&#34;&gt;Videos about the Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/wind/code/&#34;&gt;Simulations, Code, and Design Info&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;source-code-public-works&#34;&gt;Source code &amp;amp; Public Works&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/wind&#34;&gt;Wind Project Primary Repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/n8fr8/windfarm&#34;&gt;WindFarm Concept and Workshops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/viento&#34;&gt;Github: Viento Latin America Localization Efforts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div id=&#39;gallery-16&#39; class=&#39;gallery galleryid-13885 gallery-columns-1 gallery-size-large&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;img width=&#34;945&#34; height=&#34;945&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-1-1024x1024.jpg&#34; class=&#34;attachment-large size-large&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-1-1024x1024.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-1-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-1-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-1-768x768.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-1.jpg 1275w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;img width=&#34;945&#34; height=&#34;945&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-2-1024x1024.jpg&#34; class=&#34;attachment-large size-large&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-2-1024x1024.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-2-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-2-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-2-768x768.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-2.jpg 1275w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;img width=&#34;945&#34; height=&#34;945&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-3-1024x1024.jpg&#34; class=&#34;attachment-large size-large&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-3-1024x1024.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-3-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-3-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-3-768x768.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-3.jpg 1275w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;img width=&#34;945&#34; height=&#34;945&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-4-1024x1024.jpg&#34; class=&#34;attachment-large size-large&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-4-1024x1024.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-4-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-4-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-4-768x768.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-4.jpg 1275w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;img width=&#34;945&#34; height=&#34;945&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-1024x1024.jpg&#34; class=&#34;attachment-large size-large&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-1024x1024.jpg 1024w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5-768x768.jpg 768w, https://guardianproject.info/wp-content/uploads/2017/11/wind_v3-5.jpg 1275w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Wind Poster Credits:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Written by Nathan Freitas, Guardian Project&lt;/p&gt;

&lt;p&gt;Editing and graphics by Carrie Winfrey, Okthanks&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Starlings—“&lt;/span&gt;&lt;a href=&#34;https://www.flickr.com/photos/aaddaamn/5196833268/in/photolist-8Ve8tA-bnhGui-8VYWvL-n6QNW6-quZbvB-kbMjgm-dPLU92-5UrUaL-4Lsy65-b41NaM-3xZDq1-iRTAf4-79knxP-c1aj9Y-ZKS7KG-5ZgEFz-aAVfHW-aASykr-7FpmSM-GQD9rb-ThFKXR-fJrWmx-c4n5pf-aAVfY1-84jiWw-t2zJq8-awFd1o-7e2hk4-98vFR6-7Ftgas-5ZkSbE-buNgx5-d355eo-9vsxzx-3TjpyT-jDmwUz-69zuaC-dbioDU-SJbyqE-r5uAFS-igNVC9-cznfHs-Ctjvvh-pRjFGX-6qxUmM-3ToRYA-atpB9i-ULiew8-dMhLvh-qU8qc4&#34;&gt;&lt;span&gt;A murmuration of starlings&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” by Adam is licensed under CC BY 2.0.&lt;/span&gt; &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;&lt;span&gt;The image is a derivative of the original. &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Survivor—“&lt;/span&gt;&lt;a href=&#34;https://www.flickr.com/photos/11401580@N03/12024210833/in/photolist-jjxdXT-7Pvvvy-7PvvtQ-qTg64L-pYLEJt-kyDQkz-4FiN3C-7XA986-7GWBYW-7GSFSH-EYcWsg-qD8rZe-6ZANRo-qD6LY2-7ZhJp9-8BrGxG-7XA8Xa-8rmXYp-5bxFWE-9A4JC6-8rbVJJ-7XPzUg-7CdEpg-7ChtS7-7of72j-87zH7W-kq1WDX-8rbVd1-ach6FJ-8QLHQd-qD8r7T-7wCxrF-7512Ws-7XA9kV-qVtAwJ-eKKBXf-hucSca-7PrwEB-7PrwrR-gHXPXR-7GWBWq-9fwLth-7PrwHz-bVsoe7-6zpwL7-9AqNAS-7kzB4h-gHWARA-7PrwG8-7PrwKe&#34;&gt;&lt;span&gt;Wat Pathum Wanaram&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” by Adaptor-Plug is licensed under CC BY-NC 2.0&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Community Organizer—“&lt;/span&gt;&lt;a href=&#34;https://www.flickr.com/photos/chabadlubavitch/36571284030/in/photolist-XHFoBQ-XsH3xS-qJMexo-Yah2cN-5nrQZQ-5ns88Y-5m5dc2-89ZKZN-5nrCSh-5m6Y8a-5mRrrf-63N762-5myMwP-5mbf99-5myM5Z-5mD2ms-5mQ6bT-5opTZP-5oudCE-5myMkV-XZG52Y-7CPBy3-5mD2DU-5nnPdA-Y461cD-Y2mqzy-X1qQrA-WXjfD5-X3VmVU-Y3LKzu-X3VmwN-Y2mrrU-X6fP1D-X3VnwU-5mD2zf-5myMoz-quC8nx-5myMrR-5mQ5Li-5mQ652-5mUmhu-5mUkYA-5mQ6fg-5mQ5Qx-5mUmo5-7CKq5t-63N75n-5mD2e3-5mUm9q-YoFPpr&#34;&gt;&lt;span&gt;DSC_2318&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” by Chabad Lubavitch is licensed under CC BY 2.0&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Medical worker—“&lt;/span&gt;&lt;a href=&#34;https://www.flickr.com/photos/leecannon/7168489648/in/photolist-bVsoe7-6zpwL7-9AqNAS-7kzB4h-gHWARA-7PrwG8-7PrwKe-9wsZpY-a5LQun-oYfy4C-gHWPSJ-ozVYaS-pfsVa8-8SQ4KC-8SPMEW-dS6BQY-Des66N-JuBs3u-avt7mZ-qCZPp7-JdjwY3-8QLJ2y-7GSFUn-92Z3YP-h5NuC3-9wpZci-jHGmmK-qpgv79-5rZktF-qCZR5b-pYLFBR-aqqxF1-qCZQaW-qCZP2o-pYLEFx-5mP98E-kyG2C9-5pmwpc-bHguS4-jdYkSF-7Chtef-5SGGe9-pYxYvh-5S8Z2M-bYtuVu-949wzU-7MmMZW-akK9uZ-pYxZPj-SLnrTd&#34;&gt;&lt;span&gt;Me&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” by Lee Cannon is licensed under CC BY-SA 2.0&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Journalist—“&lt;/span&gt;&lt;a href=&#34;https://www.flickr.com/photos/chabadlubavitch/36787344602/in/photolist-Y3LKU7-X3VmE3-Y39j6j-Y2mtwq-XHFmUm-XHFn51-Y3vyyF-X6fNwc-YiVAxr-XDQL3m-Y7n7rc-Y3vywM-Y2msXu-XHFnby-5mQ6Cv-63Sk4u-5Mtwn4-XUVKh5-Yh9oWM-X3VnuE-63N752-Yah2aJ-Y39iVu-X3VnrU-Y7nj4R-WZsgmZ-WZsghR-X3VmSN-YCWSd4-5mpVHZ-X7PRHw-YAhjsE-XzxMQm-WZsgkg-WZsgg8-WZsgeV-X1qQpw-WZsgoc-Y39iPN-XDQKyf-Y3LLyJ-XDXUeN-XDQKEC-X2zCEz-XZSuty-XZSutU-Y3vyxP-XZSVRs-X2zcp4-X6fNEP&#34;&gt;&lt;span&gt;DSCF52321&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” by Chabad Lubavitch is licensed under CC BY 2.0&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;“&lt;/span&gt;&lt;a href=&#34;https://thenounproject.com/search/?q=beacon&amp;amp;i=757256&#34;&gt;&lt;span&gt;Headlight&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” icon by Identidea, from&lt;/span&gt; &lt;a href=&#34;https://thenounproject.com/&#34;&gt;&lt;span&gt;the Noun Project&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;“&lt;/span&gt;&lt;a href=&#34;https://thenounproject.com/search/?q=network&amp;amp;i=1334022&#34;&gt;&lt;span&gt;Network&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” icon by UNiCORN, from &lt;/span&gt;&lt;a href=&#34;https://thenounproject.com/&#34;&gt;&lt;span&gt;the Noun Project&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;“&lt;/span&gt;&lt;a href=&#34;https://thenounproject.com/search/?q=router&amp;amp;i=1406112&#34;&gt;&lt;span&gt;Router&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” icon by Focus, from&lt;/span&gt; &lt;a href=&#34;https://thenounproject.com/&#34;&gt;&lt;span&gt;the Noun Project&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;“&lt;/span&gt;&lt;a href=&#34;https://thenounproject.com/search/?q=verified&amp;amp;i=1248910&#34;&gt;&lt;span&gt;Verified&lt;/span&gt;&lt;/a&gt;&lt;span&gt;” icon by Bestdesignmarket, from&lt;/span&gt; &lt;a href=&#34;https://thenounproject.com/&#34;&gt;&lt;span&gt;the Noun Project&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>No more “Root” features in Orbot… use Orfox &amp; VPN instead!</title>
      <link>https://guardianproject.info/2017/10/27/no-more-root-features-in-orbot-use-orfox-vpn-instead/</link>
      <pubDate>Fri, 27 Oct 2017 13:02:02 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/10/27/no-more-root-features-in-orbot-use-orfox-vpn-instead/</guid>
      <description>&lt;p&gt;Since I first announced the available of Orbot: Tor for Android about &lt;a href=&#34;https://nathan.freitas.net/2009/10/22/orbot-proxy/&#34;&gt;8 years ago&lt;/a&gt; (wow!), myself and others have been working on various methods in which to make the capabilities of Tor available through the operating system. This post is to announce that as of the next, imminent release, &lt;a href=&#34;https://github.com/n8fr8/orbot/releases/tag/15.5.0-RC-1-multi-SDK16&#34;&gt;Orbot v15.5,&lt;/a&gt; we will no longer be supporting the Root-required “Transproxy” method. This is due to many reasons.&lt;/p&gt;

&lt;p&gt;First, it turns out that allowing applications to get “root” access on your device seems like a good idea, it can also be seen as huge security hole. I am on the fence myself, but considering that the ability to access root features hasn’t been standardized as part of Android, which 8 years ago I hoped it would, it means there are a whole variety of ways that this capability is managed and safeguarded (or not, in most cases). At this point in time, given the sophistication we are seeing mobile malware and rootkits, it seems like a capability that we did not want to focus time and energy on promoting.&lt;/p&gt;

&lt;p&gt;Second, for those who do want to use root features, and know what they are doing, there are a bunch of other apps that do that job better than Orbot did. I admit, we let our code in that area degrade a bit, as the dev team themselves moved away from phones with root features. So, instead, if you really want to do cool things with iptables rules, you can use AFWall+, available on &lt;a href=&#34;https://f-droid.org/packages/dev.ukanth.ufirewall/&#34;&gt;F-Droid&lt;/a&gt; and &lt;a href=&#34;https://play.google.com/store/apps/details?id=dev.ukanth.ufirewall&#34;&gt;Google Play&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone &#34; src=&#34;https://raw.githubusercontent.com/ukanth/afwall/0502e6f17ceda08069720ff2f260902690e65e9b/screenshots/Main_2.0.png&#34; width=&#34;240&#34; height=&#34;384&#34; /&gt;&lt;/p&gt;

&lt;p&gt;In order to make AFWall+ work with Orbot, you can follow Mike Perry’s excellent &lt;a href=&#34;https://blog.torproject.org/mission-impossible-hardening-android-security-and-privacy&#34;&gt;“Mission Impossible Android”&lt;/a&gt; guide in which he provides “DroidWall Scripts” necessary to enable automatic Tor routing on boot. You can also check out the sadly no longer maintained, but useful, &lt;a href=&#34;https://orwall.org/&#34;&gt;Orwall app&lt;/a&gt; which was meant to take on all the root features of Orbot.&lt;/p&gt;

&lt;p&gt;Third, we really, really think it is a bad idea to just send all of the traffic of your device through the Tor network. While it sounds like a great idea in theory, much like many “magical” Tor router kickstarter projects, it turns out that unless you can be assured an app is using TLS properly, then there is a chance that bad things could happen to your traffic as it exits the Tor network. Rather than promote some kind of auto-magical “enable Tor for my whole device”, we want to focus on ways to enable specific apps to go through Tor, in a way we can ensure is as safe as possible.&lt;/p&gt;

&lt;p&gt;For instance, we now have an excellent browser app, &lt;a href=&#34;https://guardianproject.info/apps/orfox&#34;&gt;Orfox&lt;/a&gt;, that is based on Tor Browser, and works perfectly with Orbot. If you just want to access the web and onion services, like the &lt;a href=&#34;https://open.nytimes.com/https-open-nytimes-com-the-new-york-times-as-a-tor-onion-service-e0d0b67b7482&#34;&gt;new New York Times onion&lt;/a&gt; at &lt;a href=&#34;https://www.nytimes3xbfgragh.onion/&#34;&gt;https://www.nytimes3xbfgragh.onion/&lt;/a&gt;, then just use &lt;a href=&#34;https://guardianproject.info/apps/orfox&#34;&gt;Orfox&lt;/a&gt;. There is no need for any fancy rooting or transproxying. There are also many others that supporting routing through Orbot directly, such as Conversations.im, Facebook for Android, DuckDuckGo, F-Droid, OpenArchive and many more to come! If you are interested in enabling your app to work with Orbot, check out our &lt;a href=&#34;https://github.com/guardianproject/netcipher&#34;&gt;NetCipher SDK&lt;/a&gt;, which makes it easy to do just that.&lt;/p&gt;

&lt;p&gt;Fourth, Orbot has for some time supported use of Android’s VPN features as a way to tunnel traffic through Tor. You just open the left-side menu, and tap “Apps VPN Mode” or tap on “Apps…” on the main screen. Choose the apps you want to run through Tor, press the back button, and then the VPN will start up, rerouting outbound traffic back through the local Tor port. This method is 100% support by Android, and requires no vulnerabilities or exploits of your device to gain root access.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn3.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-13829&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn3-169x300.png&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn3-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn3-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn3-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn3.png 1080w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn2.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-13830&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn2-169x300.png&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn2-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn2-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn2-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn2.png 1080w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn1.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-13831&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn1-169x300.png&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn1-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn1-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn1-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2017/10/orbotvpn1.png 1080w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;br /&gt;
Orbot Apps VPN view, home screen with Apps… button, and VPN sidebar&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know that even with all of these justifications, some users will be disappointed with the fact we have removed root features from Orbot. Perhaps that will motivate some to reignite development of Orwall, or maybe help us make the VPN features in Orbot work even better. Another route is to support the &lt;a href=&#34;https://blog.torproject.org/mission-impossible-hardening-android-security-and-privacy&#34;&gt;Tor’s Android phone prototype&lt;/a&gt; or perhaps integrate Tor “root” features directly into a community Android OS project like Copperhead or Legacy. We would be happy to see all of these happen.&lt;/p&gt;

&lt;p&gt;For us, though, removing root means we can focus on making Orbot more streamlined, more stable, and more compatible with Android, for our 2 million+ active users, who are mostly focused on finding an easy solution for unblocking sites and apps, and allowing them to communicate and browse freely without fear of reprisal.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ostel.co is permanently offline</title>
      <link>https://guardianproject.info/2017/08/10/ostel.co-is-permanently-offline/</link>
      <pubDate>Thu, 10 Aug 2017 17:16:51 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/08/10/ostel.co-is-permanently-offline/</guid>
      <description>&lt;p&gt;We are sad to announce that the &lt;a href=&#34;https://guardianproject.info/apps/ostel/&#34;&gt;Ostel service&lt;/a&gt; is officially discontinued and permanently offline. While Guardian Project had a hand &lt;a href=&#34;https://dev.guardianproject.info/projects/ostel/wiki&#34;&gt;in its conception and initial implementation&lt;/a&gt;, the actual operation of the service was &lt;a href=&#34;https://guardianproject.info/2013/12/03/ostel-co-secure-voip-network-partners-with-open-hosting/&#34;&gt;spun out long ago&lt;/a&gt; to be run by a new venture a member of our original team. They have kept Ostel running free of charge for many years of reliable service, but at this point it seems, they have decided they can no longer do so.&lt;/p&gt;

&lt;p&gt;In recent months, we had discussed with them a gentle transition period to a new platform or service. Unfortunately, it seems like they decided to just pull the plug. Our apologies for the abruptness of this closure.&lt;/p&gt;

&lt;p&gt;The good news is that since the server has no user data, logs, or other sensitive content, you have lost nothing, and have nothing to fear related to your personal information. The even better news is that encrypted video and voice calling over the Internet, is easier than ever, with Signal, Wire, JitsiMeet, Matrix, Riot, Linphone and many, many other options.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Repomaker Usability Trainers Worldwide, June 2017</title>
      <link>https://guardianproject.info/2017/06/29/repomaker-usability-trainers-worldwide-june-2017/</link>
      <pubDate>Thu, 29 Jun 2017 08:13:04 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/06/29/repomaker-usability-trainers-worldwide-june-2017/</guid>
      <description>

&lt;h1 id=&#34;repomaker-usability-trainers-worldwide-study-p&#34;&gt;Repomaker Usability, Trainers Worldwide Study&lt;/p&gt;&lt;/h1&gt;

&lt;p&gt;Prepared by Carrie Winfrey and Tiffany Robertson, Okthanks, in partnership with F-Droid and Guardian Project&lt;/p&gt;

&lt;div id=&#34;attachment_13844&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/06/okt-gp.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13844&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/okt-gp-300x72.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;72&#34; class=&#34;size-medium wp-image-13844&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/06/okt-gp-300x72.png 300w, https://guardianproject.info/wp-content/uploads/2017/06/okt-gp-768x184.png 768w, https://guardianproject.info/wp-content/uploads/2017/06/okt-gp-1024x246.png 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13844&#34; class=&#34;wp-caption-text&#34;&gt;
    OK Thanks – Guardian Project
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;For more information, contact ca&amp;#x72;&amp;#x72;&amp;#x69;e@o&amp;#x6b;&amp;#x74;han&amp;#x6b;&amp;#x73;.co&amp;#x6d;.&lt;/p&gt;

&lt;h1 id=&#34;purpose&#34;&gt;Purpose&lt;/h1&gt;

&lt;p&gt;The purpose of this study was to understand the following things.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are users able to complete basic tasks including, creating a repo, adding apps from other repos, removing apps, editing app details, and creating a second repo?&lt;/li&gt;
&lt;li&gt;Do participants understand how to get the apps from a repo installed on an Android phone?&lt;/li&gt;
&lt;li&gt;Word choice—Do people understand the word repo?&lt;/li&gt;
&lt;li&gt;Is repomaker a useful tool to participants?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;methodology&#34;&gt;Methodology&lt;/h1&gt;

&lt;p&gt;The study was hosted via video calls with potential users within our target audience. It was focused on the trainer use case. The narrative below describes the target use case.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Narrative.&lt;/strong&gt; You live or teach people in a location with poor internet quality. Your wifi and data connection are not reliable, and rarely can you use Google Play to get apps and app updates on your phone. This makes it difficult to do your job. As an instructor, your job is to train journalists how to stay safe while using their phones. You teach them ways to keep their communications and media private.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;The study consisted of 3 parts.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Usability study.&lt;/strong&gt; Participants were asked to use Repomaker to complete tasks as we prompted them to do so. After completing the tasks, participants were asked to rate its level of difficulty.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&#34;task-list&#34;&gt;Task List:&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Login to the app. Create a repo and add three apps that are useful for the journalists you train.&lt;/li&gt;
&lt;li&gt;Add the Twitter app.&lt;/li&gt;
&lt;li&gt;Add the Courier app from the Guardian Project’s repo.&lt;/li&gt;
&lt;li&gt;Add a description to the Courier app.&lt;/li&gt;
&lt;li&gt;Remove an app from your repo.&lt;/li&gt;
&lt;li&gt;Create a second repo. You don’t need to add any apps.&lt;/li&gt;
&lt;li&gt;Reopen your first repo.&lt;/li&gt;
&lt;li&gt;Share your first repo with your journalists.&lt;/li&gt;
&lt;li&gt;Open the page you just shared.&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Talk through how your journalists would add this repo to their android phone.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Debrief.&lt;/strong&gt; The following questions were discussed. &lt;ol type=&#34;a&#34;&gt;
&lt;li&gt;
Would the individuals you train feel comfortable downloading F-Droid in order to get access to the apps in a repo? (Note: F-droid cannot be downloaded from the Google Play store. It can be downloaded directly from the fdroid.org website or received over bluetooth from someone in the same room. Also, downloading F-Droid requires you to enable unknown sources on your phone.)
&lt;/li&gt;
&lt;li&gt;
Please tell me how Repomaker would be useful for you?
&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Survey.&lt;/strong&gt; Users were asked to complete the survey immediately after the video call:&lt;a href=&#34;https://goo.gl/forms/Acq4zYB3KOtQPxBa2&#34;&gt;https://goo.gl/forms/Acq4zYB3KOtQPxBa2&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&#34;what-was-tested-link-to-youtube-video-https-youtu-be-do9bxqsex4g-p&#34;&gt;What was tested: &lt;a href=&#34;https://youtu.be/do9bxqSeX4g&#34;&gt;Link to youtube video&lt;/a&gt;. &lt;/p&gt;&lt;/h4&gt;

&lt;h1 id=&#34;participants&#34;&gt;Participants&lt;/h1&gt;

&lt;p&gt;9 people participated in the study from countries including Guyana, India, Pakistan, United States and Zimbabwe. 50% of have experience training. View Demographic stats&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Participants were thanked with a $20 gift card to Amazon or Google Play.&lt;/p&gt;&lt;/p&gt;

&lt;h1 id=&#34;main-takeaways&#34;&gt;Main Takeaways&lt;/h1&gt;

&lt;p&gt;In general, people are excited about this tool. A majority of the participants feel that the interface is straight-forward and easy to use. 8 of 9 participants felt that Repomaker is a useful tool and would use it. It is most useful for distributing apps in cases where there is no internet connection. See notable survey results &lt;a href=&#34;#heading=h.paz3gb4hmvya&#34;&gt;Biggest Challenge&lt;/a&gt;.&lt;/p&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Users need a core understanding of F-Droid and how it works&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The majority of participants felt that they would need to understand F-Droid first before using Repomaker. More info in task 10&lt;/li&gt; &lt;/ul&gt;&lt;/p&gt;

&lt;h4 id=&#34;suggested-improvements&#34;&gt;Suggested Improvements:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;We need to talk about F-Droid in a way that is familiar to non-technical users.

&lt;ul&gt;
&lt;li&gt;For example: F-Droid is an independent, community-sourced app store. You can customize it by adding repos, collections of apps shared by sources you trust.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Make a strong brand connection between Repomaker and F-Droid. Users need to understand that Repomaker is part of F-Droid.&lt;/li&gt;
&lt;li&gt;Provide step-by-step instructions for installing F-Droid and installing apps from a repo on an Android phone.&lt;/li&gt;
&lt;li&gt;Consider the touchpoints for a first time user—

&lt;ul&gt;
&lt;li&gt;Goes to the F-Droid website&lt;/li&gt;
&lt;li&gt;Views Repomaker page (on the F-Droid website)&lt;/li&gt;
&lt;li&gt;Launches Repomaker&lt;/li&gt;
&lt;li&gt;Opens in a new tab to Login/Signup view.&lt;/li&gt;
&lt;li&gt;Select Sign Up. Enter info. Action button says “Create my first repo”&lt;/li&gt;
&lt;li&gt;New repo view&lt;/li&gt;
&lt;li&gt;Single repo empty view
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;p&#34;&gt;&lt;/p&gt;&lt;/h2&gt;

&lt;h2 id=&#34;2-repo-is-an-abstract-concept&#34;&gt;2. Repo is an abstract concept&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Most participants understood this after they started using the app. Link to survey result&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Though, upon first use, many participants tapped the ‘Add’ button instead of ‘Add from repos’ because they were unsure what ‘Add from repos’ meant. More info in task 1&lt;/li&gt; &lt;/ul&gt;&lt;/p&gt;

&lt;h4 id=&#34;suggested-improvements-1&#34;&gt;Suggested Improvements:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Use the wording “Browse gallery” instead of “Add from repos”.&lt;/li&gt;
&lt;li&gt;Indicate how much stuff is there (2,000 apps, …)&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Use less words in the single repo empty state view. **TICKET #120&lt;/li&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provide blurbs about what a repo and and what they can be used for.&lt;/ul&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;3-participants-had-questions-and-concerns-about-editing&#34;&gt;3. Participants had questions and concerns about editing&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Many participants were surprised they could edit apps from other people and commented that they wouldn’t have known they could do it if we hadn’t asked them to do so.&lt;/li&gt;
&lt;li&gt;One participant was unsure if the editing function worked like a Wiki and would update everywhere, or if it would only appear in her repo.&lt;/li&gt;
&lt;li&gt;One participant commented that liked that she could add her own translations.&lt;/li&gt;
&lt;li&gt;Some participants expressed their concern about the security of this feature.&lt;/li&gt;
&lt;li&gt;UI for editing is confusing. Description box takes a long time to load and requires scrolling to see.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#heading=h.om0y9gk1w74z&#34;&gt;More info in task 4&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;suggested-improvements-2&#34;&gt;Suggested Improvements:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Address questions and concerns in a FAQ page&lt;/li&gt;
&lt;li&gt;Show bar on editing page, when editing a file from another repo. Ticket ..&lt;/li&gt;
&lt;li&gt;Allow the name and developer to be entered only when the first version of a file is added. Do not allow this to be changed afterward.&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Add hints to summary and description field. **TICKET #103&lt;/li&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provide ‘save’ buttons under text sections rather than one ‘done’ button for the entire page.&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Offer translation option within Repomaker **TICKET #58&lt;/li&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If it comes from a remote repository AND there is text in the field, then make it read-only.&lt;/li&gt;
&lt;li&gt;Hook into FAQ about why you can edit things.&lt;/ul&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;4-people-have-concerns-about-the-security-of-repomaker&#34;&gt;4. People have concerns about the security of Repomaker&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Some participants shared concern about people being able to masquerade an app with the editing feature.&lt;/li&gt;
&lt;li&gt;One participant was unsure how public the repo was when she was creating it, and was hesitant about how she named it.&lt;/li&gt;
&lt;li&gt;One participant commented that she didn’t want to be responsible for sharing non-secure apps.
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;suggested-improvements-3&#34;&gt;Suggested Improvements:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Allow the name and developer to be entered only when the first version of a file is added. Do not allow this to be changed afterward.&lt;/li&gt;
&lt;li&gt;Provide clear information when a repo is created about who has access to the repo.&lt;/li&gt;
&lt;li&gt;Provide a clear ‘publish’ step, so that users know when I repo is made visible to others.&lt;/li&gt;
&lt;li&gt;Address concerns in a FAQ.
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;5-ui-for-search-and-filters-in-the-other-repo-browse-view-is-unclear&#34;&gt;5. UI for search and filters in the ‘Other Repo/Browse’ view is unclear&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It’s unclear that you’re searching within a category if you have one selected.&lt;/li&gt;
&lt;li&gt;Most participants commented that they wanted a clear way to go back from this view. Some would tap back in the browser and changes wouldn’t be saved.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#heading=h.iximbencraon&#34;&gt;More info in task 2&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;suggested-improvements-4&#34;&gt;Suggested Improvements:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Redesign how search and filters work together in the UI **TICKET #119&lt;/li&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add apps immediately once selected. Offer the option to remove rather than being able to ‘uncheck’.&lt;/li&gt;
&lt;li&gt;Count apps when added.&lt;/ul&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;****&lt;/p&gt; &lt;/p&gt;&lt;/p&gt;

&lt;h1 id=&#34;page-break-pagebreak&#34;&gt;PAGE_BREAK: PageBreak&lt;/h1&gt;

&lt;h1 id=&#34;usability-metrics&#34;&gt;Usability Metrics&lt;/h1&gt;

&lt;p&gt;Usability metrics refers to participant performance when completing the assigned tasks. This is includes completion success rates, error rates, time to task completion and subjective evaluations/interviews. &lt;/p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Critical Errors&lt;/strong&gt;: Critical errors are reported as errors that result in failure to complete the task. Participants may or may not be aware that the task goal is incorrect or incomplete. Independent completion of the task is the goal; help from the test facilitator or others is to be marked as a critical error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-critical Errors&lt;/strong&gt;: Non-critical errors are errors that the participant recovers from alone and are not such that the participant can no longer complete the task. They can include errors such as excessive steps taken to complete a task or initially using an incorrect function but recovering from that incorrect step.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Problem&lt;/strong&gt;: A qualitative analysis of users ability to complete the task with seemingly ‘no problems’. However, this does not mean that non-critical errors were &lt;em&gt;not&lt;/em&gt; made while completing the task. &lt;/p&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Level of Difficulty:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The participants were asked to rate the level of difficulty per task as they completed them.&lt;/p&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p style=&#34;text-align:center;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null2.png&#34; width=&#34;624&#34; height=&#34;393&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;
&lt;/p&gt;
                            

&lt;ul&gt;
&lt;li&gt;Task 1: Create a repo and add 3 apps.

&lt;ul&gt;
&lt;li&gt;Users becoming familiar with interface also many believed once they hit ‘add’ and saw the blue button their app had been added or saved to their repo.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Task 3: Add the Courier app from the Guardian Project’s repo.

&lt;ul&gt;
&lt;li&gt;Rated lowest level of difficulty because users have become familiar with the interface.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Task 5: Remove an app.

&lt;ul&gt;
&lt;li&gt;Rated highest level of difficulty because users felt there were too many steps involved and most expected to be able to remove an app from the repos view.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Task 6: Create a second repo.&lt;/li&gt;
&lt;li&gt;Task 8: Share your first repo with the journalist you train.
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Average Critical Error Rate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Critical errors are reported as errors that result in failure to complete the task. Participants may or may not be aware that the task goal is incorrect or incomplete. Independent completion of the task is the goal. Help from the test facilitator or others is to be marked as a critical error. &lt;/p&gt;&lt;/p&gt;

&lt;p style=&#34;text-align:center;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null3.png&#34; width=&#34;624&#34; height=&#34;390&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;
&lt;/p&gt;
                            

&lt;p style=&#34;text-align:center;&#34;&gt;
  &lt;p style=&#34;text-align:center;&#34;&gt;
    &lt;ul&gt;
      &lt;li&gt;
        Task 1: One participant unable to complete the task without help from the facilitator. &lt;ul&gt;
          &lt;li&gt;
            Participant thought she could add anything from her applications folder on her computer. 
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
                                  
      &lt;li&gt;
        Task 3: One participant unable to compete the task without her from the facilitator. &lt;ul&gt;
          &lt;li&gt;
            The Courier app was already in their repo and they didn’t see the error so when clicking the ‘done’ button they were not brought back to their repo.
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
                                  
      &lt;li&gt;
        Task 4: Two participants unable to complete the task. &lt;ul&gt;
          &lt;li&gt;
            Added the description to the summary field only (instead of the correct text box).
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
                                  
      &lt;li&gt;
        Task 5: One participant unable to complete the task. &lt;ul&gt;
          &lt;li&gt;
            Opened and closed app index and app details twice.
          &lt;/li&gt;
          &lt;li&gt;
            Couldn’t figure it out from the repo view and didn’t choose ‘edit’ in the app details view because they weren’t making edits to the app just the repo.
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
                                  
      &lt;li&gt;
        Task 8: One person was unable to complete the task. &lt;ul&gt;
          &lt;li&gt;
            They tried to get the repo added to their phone first, but was technically unable to do so because of storage limitations.
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
                                
    &lt;p&gt;
      &lt;b&gt;&lt;/b&gt;
    &lt;/p&gt;
                                

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;
  &amp;lt;b&amp;gt;Average Non-critical Error Rate:&amp;lt;/b&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  Non-critical errors are errors that the participant recovers from alone and are not such that the participant can no longer complete the task. They can include errors such as excessive steps taken to complete a task or initially using an incorrect function but recovering from that incorrect step. 
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;text-align:center;&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null4.png&#34; width=&#34;612&#34; height=&#34;354&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;
  &lt;/p&gt;
&lt;/p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task 1 &amp;amp; 2: Participants learning the interface and multiple steps required to complete the task.

&lt;ul&gt;
&lt;li&gt;Unfamiliar with the word repo.&lt;/li&gt;
&lt;li&gt;Were distracted by the ‘add’ button on repo page.&lt;/li&gt;
&lt;li&gt;Issues with adding from other repos-See details in tasks 1 &amp;amp; 2.&lt;/li&gt;
&lt;li&gt;Blue check didn’t conform to their expectations.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Task 5: Too many steps involved. Many thought this action would be found within the repo view.&lt;/li&gt;
&lt;li&gt;Task 8: Participants tapped the ‘copy link’ button and after seeing the blue check thought they were finished, but not confident in what just happened. Afterwards, copying and pasting the link in a new tab.&lt;/p&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;page-break-pagebreak-1&#34;&gt;PAGE_BREAK: PageBreak&lt;/h1&gt;

&lt;h1 id=&#34;task-specific-findings-p&#34;&gt;Task Specific Findings&lt;/p&gt;&lt;/h1&gt;

&lt;h2 id=&#34;task-1-login-to-the-app-create-a-repo-and-add-three-apps-that-are-useful-for-the-journalists-you-train&#34;&gt;Task 1: Login to the app. Create a repo and add three apps that are useful for the journalists you train.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Difficulty&lt;/strong&gt;: 1.83&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No problem&lt;/strong&gt; – &lt;sup&gt;4&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (44%)&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/image.png&#34; width=&#34;693&#34; height=&#34;381&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p style=&#34;text-align:center;&#34;&gt;
  &lt;i&gt;“I wouldn’t actually put the country name, because I’m not sure how public this is.” (Participant 9)&lt;/i&gt;
&lt;/p&gt;
                            

&lt;p style=&#34;text-align:center;&#34;&gt;
  &lt;i&gt;&lt;/i&gt;
&lt;/p&gt;
                            

&lt;p style=&#34;text-align:center;&#34;&gt;
  &lt;i&gt;“I don’t want to be responsible for sending out non-secure apps.” &lt;/i&gt;
&lt;/p&gt;
                            

&lt;p style=&#34;text-align:center;&#34;&gt;
  (Participant 5)
&lt;/p&gt;
                            

&lt;h4 id=&#34;observations&#34;&gt;Observations:&lt;/h4&gt;

&lt;p&gt;Apps Index View – Before Apps are Added&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clicked ‘add’ first – &lt;sup&gt;4&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (44%)&lt;/li&gt;
&lt;li&gt;Thought the ‘+’ in the nav bar was to add apps – &lt;sup&gt;2&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (22%)&lt;/li&gt;
&lt;li&gt;Unclear that this was only for Android apps; Was confused about which apps could be added; thought she could add things from her applications folder on her computer – &lt;sup&gt;1&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (11%)&lt;/li&gt;
&lt;li&gt;Confused about adding .apk files – &lt;sup&gt;1&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (11%)&lt;/p&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add from Repos View&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Thought when they tapped ‘add’ it would add the app, but it didn’t until they tapped done&lt;/li&gt;
&lt;li&gt;The problem was that people went to the next page or changed the filter and their selections were cleared- &lt;sup&gt;3&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (33%)&lt;/li&gt;
&lt;li&gt;Users noticed that some apps showed up multiple times – &lt;sup&gt;2&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (22%)&lt;/li&gt;
&lt;li&gt;Some left the page without hitting done (ie. used the back button in the browser) – &lt;sup&gt;1&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (11%)
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;participant-feedback&#34;&gt;Participant Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Wanted to sign up using a google account – &lt;sup&gt;1&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (11%)&lt;/li&gt;
&lt;li&gt;Participants glad to see the apps they wanted are available&lt;/li&gt;
&lt;li&gt;Be specific about what file types can be added&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“Can I add my own files?” (Participant 9)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Create buttons appears to ‘lag’ – &lt;sup&gt;7&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; or (77%)&lt;/li&gt;
&lt;li&gt;How do I ensure my repo is private?&lt;/p&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;task-2-add-the-twitter-app&#34;&gt;Task 2: Add the Twitter app.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Difficulty&lt;/strong&gt;: 1.55&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No problem&lt;/strong&gt; – &lt;sup&gt;4&lt;/sup&gt;&amp;frasl;&lt;sub&gt;9&lt;/sub&gt; (44%)
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/image1.png&#34; width=&#34;702&#34; height=&#34;356&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;“I don’t know what ‘other repos’ means.” &amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;(Participant 9)&amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        #### Observations:

                        Apps Index View – After (task 2)

                          * Big shiny add button was distracting; thought they would click there to add more apps – 2/9 (22%)
                          * Were confused or didn’t like that the initial action cards merged – 4/9 (44%)

                        #### Participant Feedback:

                          * ‘Add from repos’ button needs to be more visual and bigger
                          * Thought the explore icon looked like an eyeball

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                            &amp;lt;i&amp;gt;“I wasn’t sure how to get back to the page I was on.” &amp;lt;/i&amp;gt;
                          &amp;lt;/p&amp;gt;

                          &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                            &amp;lt;i&amp;gt;(22% of Participants)&amp;lt;/i&amp;gt;
                          &amp;lt;/p&amp;gt;

                          &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                            &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;
                          &amp;lt;/p&amp;gt;

                          &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                            &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;
                          &amp;lt;/p&amp;gt;

                          &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                            &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;
                          &amp;lt;/p&amp;gt;
                        &amp;lt;/p&amp;gt;

                        Add from Repos View

                          * Need better categories (ex: ‘internet’ category is a little abstract – includes browser’s, privacy twitter and facebook) A social media category would be more relevant __– 2/9 (22%)
                          * It’s not immediately clear that categories filter – 2/9 (22%) 
                              * Participant chose a category filter, then searched. The app didn’t show up, because it was searching within the category.
                          * Search was not easy to find- 1/9 (11%) 

                        #### Participant Feedback:

                          * “Categories aren’t specifically clear.” (Participant 1)
                          * _“I’m used to finding search on the right side.” (Participant 7)_

                        #### Bugs:

                          * Bug filed for adding an app that is already in your repo #108 &amp;lt;/p&amp;gt; 

                        ## 

                        ## PAGE_BREAK: PageBreak

                        ## Task 3: Add the Courier app from the Guardian Project’s repo.

                          * **Average Difficulty**: 1.22
                          * **Number of Participants with Critical Errors**: 1
                          * **No problem** – 8/9 (88%)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/image2.png&#34; width=&#34;714&#34; height=&#34;340&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                        #### Observations:

                          * Participants familiar enough with interface to easily complete task

                        #### Participant Feedback:

                          * One participant made 7 redundant taps on the ‘done’ button during this task. They assumed the page was stalling or the internet connection was unreliable. When in fact, they already had the app in their repo and didn’t see the error/warning message at the top of the page. Wasn’t able to get out of this view unless they reloaded the page or unchecked the blue check mark. &amp;lt;/p&amp;gt; 

                        ## 

                        ## PAGE_BREAK: PageBreak

                        ## Task 4: Add a description to the Courier app.

                          * **Average Difficulty**: 1.5
                          * **Number of Participants with Critical Errors**: 2
                          * **No problem**– 5/9 (55%)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/image3.png&#34; width=&#34;692&#34; height=&#34;348&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;“It seems really strange to be able to edit someone else’s app. I’m really concerned about the security feature of publishing repos. People putting out virtually similar apps, but changing just slightly. Because I can edit almost everything except for the icon. I can upload my own app file but still use their icon. Suggest ways to have warnings about masquerading.” &amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;(Participant 1) &amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;“Does it work like a wiki when I make changes, or does it only change it in my repo?” &amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;(Participant 5)&amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        #### Observations:

                          * Added description to the summary field – 3/9 (33%)
                          * Commented that they wouldn’t have known they could edit an app, unless we asked them to do it – 3/9 (33%)
                          * Description view takes too long to load – 2/9 (22%)
                          * No indication in the description text box that this is where you add a description – 2/9 (22%)
                          * Want a ‘save’ button with the description box – 2/9 (22%)
                          * Want a back button on this page (wants it to say ‘back to repo’) – 2/9 (22%)

                        __

                        #### Participant Feedback:

                          * If you tap back in the browser, your changes are not saved.
                          * Attach save buttons to sections that are edited, rather than having 1 ‘done’ button
                          * Talk about editing in the FAQ or overview of the app
                          * Simplify edit view&amp;lt;/p&amp;gt; 

                        ## Task 5: Remove an app from your repo.

                          * **Average Difficulty**: 2.16
                          * **Number of Participants with Critical Errors**: 1
                          * **No problem** – 4/9 (44%)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/image4.png&#34; width=&#34;713&#34; height=&#34;328&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;“Edit makes me think that I would edit something within it, rather than removing it.” &amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          (Participant 3)
                        &amp;lt;/p&amp;gt;

                        #### Observations

                          * Expected to be able to remove apps from the main apps index view – 7/9 (77%) 
                              * Most people searched main page, but remembered that they had seen something in the edit view previously.
                              * _I’m not making any changes to the app._ 
                              * _Wasn’t immediately apparent_ 
                              * _Not difficult, just requires a lot of clicks_
                              * I would expect to hover over or long press an app and get the option to remove
                              * I want a ‘remove app’ button on the app page
                          * Likes confirmation to remove the app – 1/9 (11%)&amp;lt;/p&amp;gt; 

                        ## Task 6: Create a second repo. You don’t need to add any apps.

                          * **Average Difficulty**: 1.72
                          * **Number of Participants with Critical Errors**: 0
                          * **No problem**– 6/9 (66%)

                        ####&amp;lt;img src=&amp;quot;https://guardianproject.info/wp-content/uploads/2017/06/image5.png&amp;quot; width=&amp;quot;740&amp;quot; height=&amp;quot;333&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt; 

                        #### Observations:

                          * Not completely clear, but figured it out – 3/9 (33%)
                          * Trying to find empty state of My Repo view – 2/9 (22%)
                          * Many had tapped + by mistake already (thought it was to add apps)- 2/9 (22%)
                          * Wanted to tap on the name of the repo or near it – 1/9 (11%)

                        Participant Feedback:

                          * Would help to have the option in the My Repos home view
                          * Hover label for new repo (near +)
                          * “Add button says it all.” (Participant 4)
                          * Would like a visual notification that the first repo was saved

                        ## 

                        ## Task 7: Reopen your first repo.

                          * **Average Difficulty**: 1.44
                          * **Number of Participants with Critical Errors**: 0
                          * **No problem** – 8/9 (88%)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/image6.png&#34; width=&#34;709&#34; height=&#34;324&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          &amp;lt;i&amp;gt;“Home conformed to my expectations.” &amp;lt;/i&amp;gt;
                        &amp;lt;/p&amp;gt;

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          (Paricipant 5)
                        &amp;lt;/p&amp;gt;

                        #### Observations:

                          * Had figured out how to do it in a previous task – 1/9 (11%)
                          * Tapped back in browser – 1/9 (11%)

                        #### Bug:

                          * Bug with duplicate repos appearing in home screen 1/9 (11%)&amp;lt;/p&amp;gt; 

                        ## 

                        ## Task 8: Share your first repo with your journalists.

                          * **Average Difficulty**: 1.72
                          * **Number of Participants with Critical Errors**: 1
                          * **No problem**– 3/9 (33%)&amp;lt;img src=&amp;quot;https://guardianproject.info/wp-content/uploads/2017/06/image7.png&amp;quot; width=&amp;quot;716&amp;quot; height=&amp;quot;305&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;

                        #### 

                        #### Observations:

                          * Copy and pasted the link in a new tab (without prompting) – 4/9 (44%)
                          * Went to share right away – most everyone
                          * Participants tapped ‘copy link,’ saw a blue check and did nothing else – 2/9 (22%)
                          * Used Facebook – 1/9 (11%) 
                          * Used Twitter – 1/9 (11%)
                          * Opened the public link right away. Was going to add it to F-Droid then share with people from there 1/9 (11%)
                          * Not clear how to publish the repo – 1/9 (11%)

                        #### Participant Feedback:

                          * Wants to make sure the link is secure
                          * Don’t want to make it public (Password protection, unlisted?)
                          * Check doesn’t go away after copying link
                          * _“Sending a QR or link doesn’t do anything.” (Participant 1)_
                          * “What does the blue check mean?” (22% of Participants)
                          * Would be nice to be able to email from this page, maybe linkedin
                          * Like the QR code, because very familiar using these
                          * Steps aren’t extremely clear
                          * Likes that it shows how many apps are in your repo
                          * Step by step — this is how you share it with journalists (3 step process)
                          * Having the QR code and link on the same page is helpful
                          * Would like to see a reminder about F-Droid on the share screen
                          * Need to have a clear understanding about F-Droid and how it works

                        ## 

                        ## Task 9: Open the page you just shared.

                          * **Average Difficulty**: 1
                          * **Number of Participants with Critical Errors**: 0
                          * **No problem**– 9/9 (100%)&amp;lt;img src=&amp;quot;https://guardianproject.info/wp-content/uploads/2017/06/image8.png&amp;quot; width=&amp;quot;704&amp;quot; height=&amp;quot;320&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;

                        #### Observations:

                          * Everyone highlighted link, copied and pasted it in a new tab to view &amp;lt;/p&amp;gt; 

                        ## 

                        ## PAGE_BREAK: PageBreak

                        ## Task 10: Talk through how your journalists would add this repo to their android phone.

                        #### Main Takeaways:&amp;lt;/p&amp;gt; 

                          1. **The majority of participants felt that they needed a core understanding of F-Droid first**

                        __

                        _“Most people wouldn’t have a problem installing F-Droid. The biggest challenge is knowing how F-Droid works.” (Participant 3)_

                        __

                        _“The concept of a repo is very abstract – the hardest part would be understanding what it is.” (Participant 6)_

                        __

                          * First need to understand F-Droid in order to install a repo
                          * Understood that you need F-Droid first, but believe you would need to spend time explaining FDroid to someone before setting up a repo
                          * Relationship between F-Droid and repomaker is unclear
                          * Might be a challenge if F-Droid is not already adopted into their workflow
                          * People need to be comfortable and familiar with F-Droid first in trainings
                          * If they are educated about F-Droid and info comes from a trusted source, they will be likely to use it
                          * How do I get it if I only have one device

                          1. **Step-by-step instructions needed (beginning with F-Droid installation)**

                        __

                        “Most of the journalists I work with are lazy. They would need step by step instructions.” (Participant 8)&amp;lt;/p&amp;gt; 

                          * Step-by- step instructions would help
                          * If I share it on Facebook, they will have it on their phone. 
                          * Provide info up front that you need F-Droid for it to work
                          * QR code scanner in F-Droid would be helpful. Participant didn’t have a QR code scanner or room to download it
                          * The Pakistani testers liked QR code option for sharing
                          * Wants to make sure the link is secure &amp;lt;/p&amp;gt; 

                        # 

                        # PAGE_BREAK: PageBreak

                        # Is it Useful?

                        &amp;lt;p style=&amp;quot;text-align:center;&amp;quot;&amp;gt;
                          8 out of 9 participants agreed Repomaker is a useful tool and would utilize it
                        &amp;lt;/p&amp;gt;

                        ##### YES 

                          * Yes! Participant does multiple trainings in rural areas with students who couldn’t download apps prior to trainings, making talking about the specific apps during the actual trainings too abstract. 
                          * Repomaker is a great idea! Very, very useful! 
                          * See this being a very useful tool for trainings. Easily send a link to trainees prior to the training/conference ask them to install FDroid and download this repo with all the materials needed for our training. 
                          * In a context where people don’t have Google Play, F-Droid makes a lot of sense. 
                          * Yes, because when teaching labs (at university) we must download a few network simulators and apps, but because of the proxies network (restrictions on the internet, sites or apps being blocked) we aren’t able to use wifi in this way, making it difficult or impossible to get the needed materials for lab. Therefore, we could utilize Repomaker in these instances (Nearby tool or bluetooth)
                          * Some people would find it very useful! 
                          * Very useful to host trainings, give people a landing page with a customized repo!
                          * If there is some prior education about FDroid and Repomaker and this education/introduction comes from a trusted source, believes many people would not hesitate to use the tool.
                          * Participant is really struggling with the problem of unreliable internet connectivity, so they are very interested in this app specifically for training purposes and the ability to share repos with people whenever needed.

                        ##### NO OR MAYBE

                          * Not sure, I’m not an Android user. 
                          * How does this make my use case easier? 
                          * Want to know more about F-Droid

                        ##### COUNTRY-SPECIFIC POINTS

                        #### Pakistan

                          * In Pakistan everyone uses Android.
                          * In Pakistan mobile data is expensive and not all areas have good coverage, however, about 70-90% of people have mobile phones with airdrop being a very familiar sharing tool. 
                          * In big cities within Pakistan people are very familiar and comfortable using QR scanners and codes, however, within the smaller, rural areas people are skeptical. 
                          * Access to mobile phones ubiquitous, so mobile platforms really useful.

                        #### Sri Lanka

                          * In Sri Lanka, physical and device checks (army checkpoints) are very common. The guards will check your phone apps and photos, but people would be storing these repos in F-Droid, so apps wouldn’t appear on their home screen. 
                          * F-Droid doesn’t look attractive, so it won’t attract officials attention. 
                          * The galaxy y doesn’t have very much capacity. Storage space is an issue.
                          * If there’s patchy network, people use bluetooth, to save data, because data is money and also to save data.
                          * Most people are using phones that are given by organizations—like World Vision. Some organizations feel that it can be used as a personal device, so they block things so they won’t use data (ex: some block facebook or IMO apps). Sometimes they come with their own apps (like World Nation); blocking other apps. 

                        #### Zimbabwe

                          * Challenge of internet very real in Zimbabwe. Repomaker is very practical and useful. Being able to store apps all in one location. 
                              * Too many people using Google Play at once.

                        #### Participant Feedback:

                          * Could offer a FAQ’s section
                          * On home screen have a few quick questions and answers regarding Repomaker– _What’s a repo? What would I use repomaker for? Learn more here.&amp;lt;/li&amp;gt; 

                              * Additional verification step?
                              * How much will it cost to run the apps? 
                              * How much data will repomaker require?
                              * What about storage? Will repos be able to store on external storage devices?&amp;lt;/ul&amp;gt; &amp;lt;/p&amp;gt; 

                            # 

                            # PAGE_BREAK: PageBreak

                            # Survey Results&amp;lt;/p&amp;gt; 

                            ## Follow-Up
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null5.png&#34; width=&#34;624&#34; height=&#34;316&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null6.png&#34; width=&#34;624&#34; height=&#34;357&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null7.png&#34; width=&#34;624&#34; height=&#34;356&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null8.png&#34; width=&#34;624&#34; height=&#34;404&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null9.png&#34; width=&#34;624&#34; height=&#34;312&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null10.png&#34; width=&#34;624&#34; height=&#34;410&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null11.png&#34; width=&#34;624&#34; height=&#34;404&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null12.png&#34; width=&#34;624&#34; height=&#34;310&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                            ## 

                            ## PAGE_BREAK: PageBreak

                            ## App Distribution&amp;lt;/p&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null13.png&#34; width=&#34;624&#34; height=&#34;309&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null14.png&#34; width=&#34;624&#34; height=&#34;469&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null15.png&#34; width=&#34;624&#34; height=&#34;300&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                            #### Notable: How many app?

                            From our responses, a majority of trainers share 2-5 apps during trainings.&amp;lt;/p&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null16.png&#34; width=&#34;624&#34; height=&#34;345&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null17.png&#34; width=&#34;624&#34; height=&#34;330&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                            ####&amp;lt;img src=&amp;quot;https://guardianproject.info/wp-content/uploads/2017/06/null18.png&amp;quot; width=&amp;quot;624&amp;quot; height=&amp;quot;340&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt; 

                            #### Notable: Biggest challenge?

                            _**The biggest challenge this set of trainers face is that ‘Participants can’t connect to the internet during a training (75%).&amp;lt;/i&amp;gt;**&amp;lt;/p&amp;gt; 

                            _**Second to that (50%), ‘Participants can’t connect to the internet before the training’ and ‘Sharing an app requires unknown sources to be turned on in the phone settings’.&amp;lt;/i&amp;gt;**&amp;lt;/p&amp;gt; 

                            _**&amp;lt;/i&amp;gt;**&amp;lt;/p&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null19.png&#34; width=&#34;624&#34; height=&#34;313&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                            ## 

                            ## PAGE_BREAK: PageBreak

                            ## Basic Info&amp;lt;/p&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null20.png&#34; width=&#34;624&#34; height=&#34;304&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null21.png&#34; width=&#34;624&#34; height=&#34;294&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null22.png&#34; width=&#34;624&#34; height=&#34;313&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null23.png&#34; width=&#34;624&#34; height=&#34;352&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null24.png&#34; width=&#34;624&#34; height=&#34;317&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null25.png&#34; width=&#34;624&#34; height=&#34;325&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null26.png&#34; width=&#34;613&#34; height=&#34;329&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null27.png&#34; width=&#34;624&#34; height=&#34;422&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;                            ## 

                            ## PAGE_BREAK: PageBreak

                            ## Would you do it again?&amp;lt;img src=&amp;quot;https://guardianproject.info/wp-content/uploads/2017/06/null28.png&amp;quot; width=&amp;quot;624&amp;quot; height=&amp;quot;324&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;

                            ###&amp;lt;img src=&amp;quot;https://guardianproject.info/wp-content/uploads/2017/06/null29.png&amp;quot; width=&amp;quot;624&amp;quot; height=&amp;quot;278&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt; PAGE_BREAK: PageBreak

                            # Possible FQA’s&amp;lt;/p&amp;gt; 

                            How much data will repomaker require?

                            How much data is required to install F-Droid?

                            How much storage needed?

                            Will repos be able to store on external storage devices?

                            What is F-Droid?

                            What is a repo?

                            What files can I add to my repo?

                            Can apps be downloaded directly from the public repo view?

                            Why do I need F-droid?

                            Can I edit any app?

                            Can others edit my apps?

                            Can others edit my personal repo?

                            How can I customize to a specific training?

                            How public is my repo? Who has access to my repo?

                            How secure is my repo?

                            How do I verify the apps I’m adding to my repo?

                            How do I know apps are coming from the original source?

                            How do I guard against malware?

                            If there are two of the same app, how do I know which one to trust?

                            Can other people masquerade my apps?

                            Is it safe to enable unknown sources?

                            How do I install apps from my repo?

                            Is this a secure tool? Is it safe to use?

                            How much storage will Repomaker and F-Droid need?

                            Can the apps from my repo be downloaded onto an external storage device?&amp;lt;/p&amp;gt; 

                            **How to use F-Droid Repos**

                            – how to add one / how to get a repo on your phone

                            – how to get a repo from the desktop computer to your phone

                            – how to share a repo link

                            – how to share a repo from F-Droid when there’s no internet; how to share one offline / how to share apps with peers when there’s no internet.

                            – how to remove one

                            – how do I update files and apps I add?
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Tracking usage without tracking people</title>
      <link>https://guardianproject.info/2017/06/08/tracking-usage-without-tracking-people/</link>
      <pubDate>Thu, 08 Jun 2017 10:58:53 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/06/08/tracking-usage-without-tracking-people/</guid>
      <description>&lt;p&gt;One thing that has become very clear over the past years is that there is a lot of value in data about people. Of course, the most well known examples these days are advertising and spy agencies, but tracking data is useful for many more things. For example, when trying to build software that is intuitive and easy to use, having real data about how people are using the software can make a massive difference when developers and designers are working on improving their software. Even in the case of advertisers, they mostly do not care exactly who you are, they want to know what you are interested in so that they can more effectively promote things to you.&lt;/p&gt;

&lt;p&gt;From the beginning Guardian Project has focused on privacy, and worked to practice what we preach in our own software. For example, we have entirely disabled Apache web logs on our website for the past couple of years, so that we would not even have access to that rich data. We felt that we could not even store that data without fear of violating people’s privacy, let alone working with it.&lt;/p&gt;

&lt;p&gt;Things have changed in the past few years, and there are now a number of well tested techniques for tracking how people are using software without actually tracking who they are. It is now possible to keep some usage data while feeling safe that no one who might get that data could use it to identify individuals. One good example of this is the &lt;a href=&#34;https://metrics.torproject.org/&#34; target=&#34;_blank&#34;&gt;Tor Project’s tracking data&lt;/a&gt;. They provide a wide variety of tracking data to follow how Tor is being used, and how well the Tor network is operating.&lt;/p&gt;

&lt;p&gt;So we believe that it is now possible to responsibly track usage without violating anyone’s privacy. One piece of work along these lines is the new &lt;a href=&#34;https://github.com/cleaninsights/cleaninsights-android-sdk&#34; target=&#34;_blank&#34;&gt;Clean Insights Android SDK&lt;/a&gt;. Nathan is leading the development of that effort. And this blog post announces another new development that we are starting: tracking usage data from F-Droid app repositories.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/06/bycountry.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/bycountry-300x133.png&#34; alt=&#34;tracking by country&#34; width=&#34;300&#34; height=&#34;133&#34; class=&#34;aligncenter size-medium wp-image-13632&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/06/bycountry-300x133.png 300w, https://guardianproject.info/wp-content/uploads/2017/06/bycountry.png 747w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To start with, the Apache web logs for this site will be configured to store, but only information that is not fine-grained enough to identify people:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;only the date is stored, not the time or time zone&lt;/li&gt;
&lt;li&gt;Referer, IP Addresses, User Agent are never stored&lt;/li&gt;
&lt;li&gt;country is stored by looking up the IP Address in the &lt;em&gt;geoip&lt;/em&gt; database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Normally, a log entries look like:&lt;/p&gt;

&lt;pre&gt;189.4.73.81 testy.at.or.at - [08/Jun/2017:13:55:46 +0200] &#34;GET /fdroid/repo/index-v1.jar HTTP/1.1&#34; 200 147950 &#34;-&#34; &#34;F-Droid&#34;
119.29.81.134 199.119.112.126 - [08/Jun/2017:14:46:48 -0400] &#34;GET /fdroid/repo/index-v1.jar HTTP/1.1&#34; 200 147950 &#34;http://testy.at.or.at/fdroid/repo/index-v1.jar&#34; &#34;Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)&#34;
&lt;/pre&gt;

&lt;p&gt;This stripped version looks like:&lt;/p&gt;

&lt;pre&gt;0.0.0.0 - - [08/Jun/2017:00:00:00 +0000] &#34;GET /fdroid/repo/index-v1.jar HTTP/1.1&#34; 200 147950 &#34;-&#34; &#34;-&#34; AT
0.0.0.0 - - [08/Jun/2017:00:00:00 +0000] &#34;GET /fdroid/repo/index-v1.jar HTTP/1.1&#34; 200 147950 &#34;-&#34; &#34;-&#34; ZH
&lt;/pre&gt;

&lt;p&gt;Since the raw data is processed by the webserver, the extra information will be discarded and never written to disk. Only the sanitized usage tracking information is ever stored. This is based on Tor Project’s &lt;a href=&#34;https://gitweb.torproject.org/webstats.git/tree/src/sanitize.py&#34; target=&#34;_blank&#34;&gt;web tracking&lt;/a&gt;. It is possible to do this with &lt;em&gt;Apache&lt;/em&gt;, &lt;em&gt;lighttpd&lt;/em&gt;, &lt;em&gt;nginx&lt;/em&gt;, and probably other webservers. For &lt;em&gt;Apache&lt;/em&gt;, &lt;a href=&#34;https://github.com/maxmind/geoip-api-mod_geoip2/blob/master/INSTALL.md#configuration&#34;&gt;&lt;i&gt;mod_geoip&lt;/i&gt;&lt;/a&gt; needs to be installed, then only a single line is needed to configure this private logging mode:&lt;/p&gt;

&lt;pre&gt;LogFormat &#34;0.0.0.0 - %u %{[%d/%b/%Y:00:00:00 %z]}t \&#34;%r\&#34; %&gt;s %b \&#34;%{Referer}i\&#34; \&#34;-\&#34; %{GEOIP_COUNTRY_CODE}e&#34; privacy+geo
CustomLog ${APACHE_LOG_DIR}/access.log privacy+geo
&lt;/pre&gt;

&lt;p&gt;Now, we hope that we can work towards providing value from tracking data, without violating anyone’s privacy. Indeed, we are still prioritizing privacy over any value derived from tracking data. So anyone else who also wants to go follow this route needs to be fully aware that any tracking must be very carefully done, since it can easily result in inadvertent leaks. Do not take this as a stamp of approval on any tracking activity!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>fdroidserver UX Testing Report</title>
      <link>https://guardianproject.info/2017/06/01/fdroidserver-ux-testing-report/</link>
      <pubDate>Thu, 01 Jun 2017 04:36:14 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/06/01/fdroidserver-ux-testing-report/</guid>
      <description>

&lt;p&gt;We ran user tests of &lt;a href=&#34;https://gitlab.com/fdroid/fdroidserver&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;fdroidserver&lt;/em&gt;&lt;/a&gt;, the tools for developers to create and manage F-Droid repositories of apps and media. This test was set up to gather usability feedback about the tools themselves and the related documentation. These tests were put together and run by Seamus Tuohy/Prudent Innovation.&lt;/p&gt;

&lt;h1 id=&#34;methodology&#34;&gt;Methodology&lt;/h1&gt;

&lt;p&gt;Participants completed a pretest demographic/background information questionnaire. The facilitator then explained that the amount of time taken to complete the test task will be measured and that exploratory behavior within the app should take place after the tasks are completed. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;The participant was then provided a laptop with a browser window open to the F-Droid documentation. The facilitator let the participant know that if they felt they need anything external that they could ask the facilitator for that. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;At the start of each task, the participant was provided the task, and shown the resources that were available for them to use on a USB stick provided by the facilitator. The participant was then instructed to read the task description from the printed copy and begin the task. Time-on-task measurement began when the participant started the task. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;The facilitator instructed the participant to ‘think aloud’ so that they could capture their otherwise internal thoughts about interactions with the F-Droid server software. The facilitator observed and entered participant behavior, participant comments, and system actions into their record of the event. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;After each task, the participant spoke with the facilitator about the task. After all task scenarios were attempted, the participant completed a post-test satisfaction questionnaire.&lt;/p&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-completion-p&#34;&gt;Task Completion&lt;/p&gt;&lt;/h1&gt;

&lt;p&gt;Each participant was asked to complete six specific tasks. At the start of each task, the participant was read the task, and shown the resources that are available for them to use. The participant was then instructed to read the task description from the printed copy and begin the task. &lt;/p&gt;&lt;/p&gt;

&lt;h2 id=&#34;tasks&#34;&gt;Tasks&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Set Up an F-Droid application repository with the applications on this USB Drive.&lt;/li&gt;
&lt;li&gt;Connect to that repository using the F-Droid client.&lt;/li&gt;
&lt;li&gt;Group the applications under your repositories name in the F-Droid interface.&lt;/li&gt;
&lt;li&gt;Download the barcode scanner application using the F-Droid client.&lt;/li&gt;
&lt;li&gt;Update your F-Droid repository with an update to the barcode scanner app.&lt;/li&gt;
&lt;li&gt;Download the update using the phone.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tasks are marked as “complete” after the participant says they have completed the task or after the test facilitator has enough evidence that the task has been completed. Tasks are marked as “uncompleted” after the participant says they cannot complete the task and requests assistance.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://annoyingtechnicaldetails.files.wordpress.com/2017/06/null2.png&#34; width=&#34;574&#34; height=&#34;353&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-completion-time&#34;&gt;Task Completion Time&lt;/h1&gt;

&lt;p&gt;Test time will begin after the participant says they have understood the task and will begin. Testing time will end after the participant says they have completed the task or after the test facilitator has enough evidence that the task has been completed. In the case of a critical error, test time will stop after the participant says they cannot complete the task and request assistance.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null3.png&#34; width=&#34;577&#34; height=&#34;356&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;usability-metrics&#34;&gt;Usability Metrics&lt;/h2&gt;

&lt;p&gt;Usability metrics refers to participant performance when completing the assigned tasks. This is includes completion success rates, error rates, time to task completion and subjective evaluations/interviews. &lt;/p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Critical Errors&lt;/strong&gt;: Critical errors are reported as errors that result in failure to complete the task. Participants may or may not be aware that the task goal is incorrect or incomplete. Independent completion of the task is the goal; help from the test facilitator or others is to be marked as a critical error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-critical Errors&lt;/strong&gt;: Non-critical errors are errors that the participant recovers from alone and are not such that the participant can no longer complete the task. They can include errors such as excessive steps taken to complete a task or initially using an incorrect function but recovering from that incorrect step.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exploratory Behavior&lt;/strong&gt;: Errors that are off task from the main task attempting to be completed will be marked as exploratory behavior.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null4.png&#34; width=&#34;600&#34; height=&#34;370&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;It should be noted that many of the errors that were encountered in tasks two, four, and six were the result of configuration decisions and non-critical errors in tasks one and five. More information about why this is the case can be found in the “Task Specific Findings.”&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null5.png&#34; width=&#34;600&#34; height=&#34;370&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-specific-findings-p&#34;&gt;Task Specific Findings&lt;/p&gt;&lt;/h1&gt;

&lt;h2 id=&#34;task-1-set-up-an-f-droid-application-repository-with-the-applications-on-this-usb-drive&#34;&gt;Task 1: Set Up an F-Droid application repository with the applications on this USB Drive.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Time&lt;/strong&gt;: 53 Minutes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 1&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;docs-needed-for-configuring-the-remote-server&#34;&gt;Docs needed for configuring the remote server&lt;/h3&gt;

&lt;p&gt;The participants were provided a remote server that was pre-configured to host F-Droid applications. The research team did this because setting up a web-server to host an F-Droid repository seemed out of scope, and it would increase the length of the UX session to an unacceptable length.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;During this activity the participants were consistently confused by the documentation related to setting up the F-Droid host server (even though the server was pre-configured for them.) Documentation around file permissions on the remote server were especially troublesome.FOOTNOTE: Footnote&lt;/p&gt;

&lt;h4 id=&#34;feedback&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The participant was confused about where the documentation begins to start deploying the server.&lt;/li&gt;
&lt;li&gt;The participant stated that there is not enough information on how to configure the remote server.&lt;/li&gt;
&lt;li&gt;It is missing in the documentation that before doing “fdroid server update” the permissions of the files to be served can be changed locally since they are transmitted to the remote server with the same local permissions.&lt;/li&gt;
&lt;li&gt;In the documentation, the information about the file permissions and configuration of the server at Fdroid level is missing. The documentation should say what permissions contain the generated files, (or what permissions they should contain).&lt;/li&gt;
&lt;li&gt;It is missing in the documentation that before doing “fdroid server update” the permissions of the files to be served can be changed locally since they are transmitted to the remote server with the same local permissions.&lt;/li&gt;
&lt;li&gt;The participant did not use the command fdroid server update to push the apps to the remote server, instead of that, he used the command SCP to send the data of manually.&lt;/li&gt;
&lt;li&gt;The participant was confused about the location of the files hosted on the web server. Doubt resolved after reviewing the documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;confusing-ordering-of-documentation&#34;&gt;Confusing ordering of documentation&lt;/h3&gt;

&lt;p&gt;The participants felt that the documentation was confusingly ordered. While a few noted that the individual pieces of documentation were correct, and even clear once a participant is familiar with themFOOTNOTE: Footnote, the overall organization and ordering of documentation made it made it difficult to use.&lt;/p&gt;

&lt;h4 id=&#34;feedback-1&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;There were many doubts regarding the order of the steps, there was also a sensation of ordered list of steps when in practice the information were related to different activities (eg. Local Demo and Real World setup)&lt;/li&gt;
&lt;li&gt;The documentation is not understandable, not in terms of language but in the way of explaining, it should be more detailed. It feels difficult to understand for entry level people.&lt;/li&gt;
&lt;li&gt;The way information is presented and how it is structured seems to be disconcerting and overloaded.&lt;/li&gt;
&lt;li&gt;In outlines, poorly structured, getting started should have the section “set repo” and “install”, should not make emphasis on FAQs.&lt;/li&gt;
&lt;li&gt;The participant considers that documentation is confusing as to the step by step, he ends up diverting from the task received.&lt;/li&gt;
&lt;li&gt;The participant said that the content of the list in the overview section is not detailed in subsequent sections in the Setup an Fdroid App Repo page.&lt;/li&gt;
&lt;li&gt;It seems more logical for him if in the main page of the documentation are placed first the tutorials and in the end the FAQs.&lt;/li&gt;
&lt;li&gt;The participant had to use the Ctrl + F function several times to find keywords in the index file of the documentation. It seemed unclear and messy to him.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;metadata&#34;&gt;MetaData&lt;/h3&gt;

&lt;p&gt;All but one of the participants left their app and repository metadata empty during this task. There is a possibility that this is because it was not explicitly stated in the tasks requirements, because it is not clearly marked in the instructions, or because the overall difficulty of the other components of this task distracted them from this component of the task.&lt;/p&gt;

&lt;h4 id=&#34;feedback-2&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The participant did not complete the repository or application metadata.&lt;/li&gt;
&lt;li&gt;The metadata of the apps and the server was not configured, however the server was running with the given applications.&lt;/li&gt;
&lt;li&gt;The participant did not place the metadata of applications or repository.&lt;/li&gt;
&lt;li&gt;The participant generated the skeleton metadata and did not update the information.&lt;/li&gt;
&lt;li&gt;The participant modifies the metadata files in the visual environment of the local machine (Nautilus and Gedit) because it was more comfortable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;docs-to-help-address-errors&#34;&gt;Docs to help address errors&lt;/h3&gt;

&lt;p&gt;When participants did encounter errors there was little assistance to be found in the existing documentation. The current documentation assumes success. Participants who encountered errors desired that the documentation also included guidance about what could have gone wrong when they encounter errors.&lt;/p&gt;

&lt;h4 id=&#34;feedback-3&#34;&gt;Feedback&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The participant felt frustrated because he did not find a place in the documentation where he could consult errors.In many times, he wanted to use Google to help with the debug process but would not find relevant information there either. The participant wanted a section in the documentation showing how to validate the steps of the process and again a section with common problems in the implementation and configuration.&lt;/li&gt;
&lt;li&gt;Documentation should have a guide of error messages which can be received, e.g. those related to the metadata.&lt;/li&gt;
&lt;li&gt;The participant says that it could be useful a section in the documentation for Troubleshooting&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;android-dependencies&#34;&gt;Android Dependencies&lt;/h3&gt;

&lt;p&gt;Multiple participants were unclear about what android related dependencies were required and how to obtain them.&lt;/p&gt;

&lt;h4 id=&#34;feedback-4&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The participant seeks for information on how to download Android Studio&lt;/li&gt;
&lt;li&gt;The participant was confused about the need to install the dependencies related to Android in order to complete the task. After reviewing the documentation, the participant decided not to install these dependencies.&lt;/li&gt;
&lt;li&gt;Documentation should be more evident regarding to dependency management. e.g. If the binary installation includes Android dependencies.&lt;/li&gt;
&lt;li&gt;The participant doubts whether to do the setup to create app builds, and if the installation of the corresponding dependencies is covered with the installation itself of Fdroid server.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;task-2-connect-to-that-repository-using-the-f-droid-client&#34;&gt;Task 2: Connect to that repository using the F-Droid client.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Time&lt;/strong&gt;: 13 Minutes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 2&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;https-defaults-on-repository-address&#34;&gt;HTTPS Defaults on Repository Address&lt;/h3&gt;

&lt;p&gt;Even though the developers thought the client was relatively easy to use some encountered issues related to the assumptions that F-Droid makes around the security of a repository. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;When adding a new repository to the client application if the participant leaves the protocol blank (e.g. no HTTP or HTTPS) the client defaults to using HTTPS. If the server does not support HTTPS the repository will fail to set up. A repository that does not support HTTPS is clearly undesirable. But, even so, F-Droid’s implicit assumption, without accompanying documentation and/or errors to alert the developer and participant, caused issues for participants.&lt;/p&gt;

&lt;h4 id=&#34;feedback-5&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The error the participant was experiencing was that the client by default adds the HTTPS protocol to URLs that don’t explicitly state HTTP(s), and the server used for the task did not support HTTPS.&lt;/li&gt;
&lt;li&gt;It should have had documentation on how to input the URL of the repository to be properly recognized.&lt;/li&gt;
&lt;li&gt;The participant received errors when setting the repository address incorrectly with HTTPS as was suggested by default on the client application on the android phone. Then the participant noticed the situation and changed the address to HTTP.&lt;/li&gt;
&lt;li&gt;The client is intuitive to use.&lt;/li&gt;
&lt;li&gt;The solution to the issue presented does not seem complex to the participant but is not documented and is liable to make mistakes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;interconnected-documentation-needed&#34;&gt;Interconnected Documentation Needed&lt;/h3&gt;

&lt;p&gt;When switching from building a repository to using the repository the participants had to search for client documentation in other parts of the F-Droid website and online. Multiple participants suggested that client documentation related to the use of the F-Droid server being set up should be more easily accessed from the server setup documentation. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;It should be noted that the participants were using a development build of the new documentation, and, as such it was not directly linked to the F-Droid website where the client documentation is available.&lt;/p&gt;

&lt;h4 id=&#34;feedback-6&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;In the documentation, there was no information about how setup the client’s app.&lt;/li&gt;
&lt;li&gt;The client documentation should be accessible in the server-setup documentation. For example, including how to install and setup the client.&lt;/li&gt;
&lt;li&gt;The participant claimed the task was completed, however the connection was not successful because he wrongly placed the URL repository in the Android client (root@1xx.1xx.1xx.1xx:/var/www/html /). The participant was then assisted to move on to the next activity.He explains that in the client FAQ does not appear how to fill the URL of new repositories in the client&lt;/li&gt;
&lt;li&gt;Very confused about how to get started.&lt;/li&gt;
&lt;li&gt;Within the app was easy to complete the task, since it is an intuitive application. It becomes necessary to have a step-by-step list of how to set the repositories in the client, especially the URLs.&lt;/li&gt;
&lt;li&gt;A link to home of fdroid.org could be placed in the documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;task-3-group-the-applications-under-your-repositories-name-in-the-f-droid-interface&#34;&gt;Task 3: Group the applications under your repositories name in the F-Droid interface.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Time&lt;/strong&gt;: 1 Minute&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 0&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;metadata-1&#34;&gt;MetaData&lt;/h3&gt;

&lt;p&gt;Participants had quick success and no critical errors during this task. But, the participants achieved this by circumventing the aim of the test. Instead of appropriately setting the metadata of their app, and searching for it within the Client, they disabled all other repositories to make it so that only their apps showed in the client. This rapid and common adoption of this specific method of circumventing the need to set, and use, metadata is specifically troubling.&lt;/p&gt;

&lt;h4 id=&#34;feedback-7&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The participant felt confused about what was expected in the task. However, he thought that disabling other repositories on the client list could be enough.&lt;/li&gt;
&lt;li&gt;There should be an option to disable all repositories included in the software.&lt;/li&gt;
&lt;li&gt;At the beginning, it was confusing to understand which switches had to be disabled and which ones to enabled in order to see the applications of the own repository. It was simple a few seconds later but it should be specified in the documentation.&lt;/li&gt;
&lt;li&gt;There should be in the documentation an instructive manual on the use of the client to manage repositories.&lt;/li&gt;
&lt;li&gt;The participant found very easy to disable other repositories in order to see only the applications of the server used&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;task-4-download-the-barcode-scanner-application-using-the-f-droid-client&#34;&gt;Task 4: Download the barcode scanner application using the F-Droid client.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Time&lt;/strong&gt;: 15 Minutes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The issues that the participants faced in this task were actually related to earlier tasks with “critical issues” that were undetectable until this point. Without the file permission issues, described below, downloading apps was seen as a very easy task. This highlights the overall feeling by the developer participants that the client is generally easy and intuitive to use.&lt;/p&gt;&lt;/p&gt;

&lt;h3 id=&#34;server-permissions&#34;&gt;Server Permissions&lt;/h3&gt;

&lt;p&gt;The participants encountered multiple difficult to diagnose issues related to file permissions on the remote server. These issues only appear once a participant is attempting to download an application from a F-Droid repository. As such, permission issues can easily slip past a repo maker who merely updates their repository and checks to ensure that it can be connected to.&lt;/p&gt;

&lt;h4 id=&#34;feedback-8&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The participant received in the Android client the error “Unsuccessful Non-critical error download”, understood at the time as a permissions error on the (min 1) remote server, which he modified directly at the time by accessing through SSH before re-testing the download.&lt;/li&gt;
&lt;li&gt;Extremely comfortable and fast if the operation of permissions on the Subjective remote server is known. The participant works with this permissions evaluation management every day and says that’s why it became so easy, but perhaps for another person without such familiarity on web servers could be more complicated.&lt;/li&gt;
&lt;li&gt;“It’s easy once you know how to configure file permissions.”&lt;/li&gt;
&lt;li&gt;The participant did not locate any documentation about remote server configuration, especially related to file permissions on the web server. The participant suggests that for many people this would be necessary.&lt;/li&gt;
&lt;li&gt;In the documentation, the information about the file permissions and configuration of the server at Fdroid level is missing. The documentation should say what permissions contain the generated files, (or what permissions they should contain).&lt;/li&gt;
&lt;li&gt;The participant understood how to resolve the permissions problem on the remote server and corrected it by placing 775 permissions on the remote server’s files. However other actions meant that the activity could not be completed successfully.&lt;/li&gt;
&lt;li&gt;The client displayed the error “Connection refused”, the participant concluded that it was due to a problem of permissions on the remote server, however decided to address it by modifying the nginx configuration file, resulting in the inability to read and download files from the remote server.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;task-5-update-the-f-droid-repository-with-an-update-to-the-barcode-scanner-app&#34;&gt;Task 5: Update the F-Droid repository with an update to the barcode scanner app.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Time&lt;/strong&gt;: 9 Minutes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 0&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;updating-the-server&#34;&gt;Updating the Server&lt;/h3&gt;

&lt;p&gt;Some participants had continued difficulty working with the server during updates. While some of this was related to difficulty differentiating tasks that should be conducted on the client vs. those that should be conducted on the server when reading the documentation, others were related to the behavior of the software.&lt;/p&gt;

&lt;h4 id=&#34;feedback-9&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The upgrade process is better documented compared to other parts of the documentation, but still could be more detailed.&lt;/li&gt;
&lt;li&gt;The terminal was giving an error on the local machine when running the update command saying “CRITICAL: Failed to get repo pubkey!”, later the participant discovered that the update was pushed anyway to the server saying that the task was completed.&lt;/li&gt;
&lt;li&gt;The participant felt confused about which commands must be executed in the local machine and which commands in the remote evaluation server. The participant says that if he needs to configure an exclusively local instance he would not know how to do it. The participant says that it could be useful a section in the documentation for Troubleshooting&lt;/li&gt;
&lt;li&gt;The participant does not know exactly where to place the update files.&lt;/li&gt;
&lt;li&gt;The participant is not clear whether it is necessary to run the command fdroid update and then fdroid server update, or just by running fdroid server update would both of the commands run automatically.&lt;/li&gt;
&lt;li&gt;The participant cannot read the update from the client and doubts whether to run a command on the remote server as part of the update process, then he solves by doing update of the local repository before pushing the remote server.&lt;/li&gt;
&lt;li&gt;The participant was not clear if Fdroid update, actually updates the remote server, then after running it he was able to access via SSH to the remote server in order to check if the updated application was present, when seeing that it was not updated, the participant understood that he also had to run Fdroid server update&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;documentation-is-intuitive-once-understood&#34;&gt;Documentation is Intuitive Once Understood&lt;/h3&gt;

&lt;p&gt;Once participants got comfortable with the documentation, server setup, and/or updating process they felt that it was relatively easy to use.&lt;/p&gt;

&lt;h4 id=&#34;feedback-10&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Very well designed software to handle the updates, it ends up being very easy to use.&lt;/li&gt;
&lt;li&gt;The task was easy once you understand the file structure in the repository.&lt;/li&gt;
&lt;li&gt;The task was very pleasant to complete at the software level.&lt;/li&gt;
&lt;li&gt;Documentation is clear but yet confusing at first reading.&lt;/li&gt;
&lt;li&gt;The upgrade process is better documented compared to other parts of the documentation, but still could be more detailed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;task-6-download-the-update-using-the-phone&#34;&gt;Task 6: Download the update using the phone.&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Average Time&lt;/strong&gt;: 7 Minutes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of Participants with Critical Errors&lt;/strong&gt;: 1&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;permissions-cont&#34;&gt;Permissions Cont.&lt;/h3&gt;

&lt;p&gt;Permissions issues that went unaddressed in task 5 caused issues during the, otherwise very easy task, of downloading updates to an application.&lt;/p&gt;

&lt;h4 id=&#34;feedback-11&#34;&gt;Feedback:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Once understood the issue of file permissions on the remote server, is easy to address the download of the update.&lt;/li&gt;
&lt;li&gt;It’s easy once you know how to configure file permissions.&lt;/li&gt;
&lt;li&gt;Replaying of the same issue of permissions and the error “Download unsuccessful”, then resolved by knowing how permissions are handled on the remote server.&lt;/li&gt;
&lt;li&gt;It is missing in the documentation that before doing “fdroid server update” the permissions of the files to be served can be changed locally since they are transmitted to the remote server with the same local permissions.&lt;/li&gt;
&lt;li&gt;Very pleasant on the Android client side, but it should be documented the type of permissions that the files on the remote server should contain.&lt;/li&gt;
&lt;li&gt;The update is loaded in the remote repo but it does not show on the&lt;/li&gt;
&lt;li&gt;Fdroid client, then the participant suspects it is because of the file permissions. After 12 minutes the participant says that he does not know how to fix the issue and stopped the task. The participant suspects before notifying the failure in the task completion that the issue could be related to some commands and files created as root that creating conflicts with the tasks triggered by the server update command.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;miscellaneous-feedback-and-requests&#34;&gt;Miscellaneous Feedback and Requests&lt;/h2&gt;

&lt;h3 id=&#34;complexity-of-language-in-the-documentation&#34;&gt;Complexity of Language in the Documentation&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;One participant used Google Translator for a better understanding of some terms within the documentation. This participant was also the only participant who speaks English as their primary language. All other participants speak Spanish as their primary language.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;documentation-requests&#34;&gt;Documentation requests&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;One participant wanted example configuration files in the Gitlab repository of F-Droid-server.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;more-explicit-documentation&#34;&gt;More explicit documentation&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The documentation must specify that a set of files has been created when fdroid init runs&lt;/li&gt;
&lt;li&gt;It should have specified that commands with Fdroid should be executed in the main directory of the repository (e.g. ~/fdroid) and not in other directories within it (e.g. ~/fdroid /repo).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Announcing new libraries: F-Droid Update Channels</title>
      <link>https://guardianproject.info/2017/05/31/announcing-new-libraries-f-droid-update-channels/</link>
      <pubDate>Wed, 31 May 2017 11:40:27 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/05/31/announcing-new-libraries-f-droid-update-channels/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/05/refresh-525698_640.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/05/refresh-525698_640-150x150.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-13626&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/05/refresh-525698_640-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2017/05/refresh-525698_640-300x297.png 300w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
In many places in the world, it is very common to find Android apps via a multitude of sources: third party app stores, Bluetooth transfers, swapping SD cards, or directly downloaded from websites. As developers, we want to make sure that our users get secure and timely update no matter how they got our apps. We still recommend that people get apps from trusted sources like F-Droid or Google Play.&lt;/p&gt;

&lt;p&gt;Building upon the F-Droid distribution ecosystem, there is a new suite of libraries: “&lt;a href=&#34;https://gitlab.com/fdroid/update-channels/&#34; target=&#34;_blank&#34;&gt;F-Droid Update Channels&lt;/a&gt;“. It is a suite of libraries for making sure your that your app can always find updates, no matter where someone got it from. Currently, there are two specific libraries: “Get F-Droid” and “App Updater”.&lt;/p&gt;

&lt;h4 id=&#34;get-f-droid-aka-org-fdroid-getfdroid&#34;&gt;“Get F-Droid” aka &lt;code&gt;org.fdroid.getfdroid&lt;/code&gt;&lt;/h4&gt;

&lt;p&gt;Checks whether F-Droid is installed. If not, it will help the user to download and install F-Droid. F-Droid then provides the update channel. This is the preferred method of getting updates since F-Droid provides strong privacy protection and lets the user control when and where updates happen. Also, if F-Droid came pre-installed on the device or was “flashed” onto it as part of a custom Android ROM, then F-Droid does not need “Unknown Sources” enabled.&lt;/p&gt;

&lt;h4 id=&#34;app-updater-aka-org-fdroid-appupdater&#34;&gt;“App Updater” aka &lt;code&gt;org.fdroid.appupdater&lt;/code&gt;&lt;/h4&gt;

&lt;p&gt;Keeps the app current by checking the hard-coded app repository set up by the developer. This is similar to the popular “App Updater” library, but is secure due to the F-Droid signed metadata. The _&lt;a href=&#34;https://gitlab.com/fdroid/fdroidserver&#34; target=&#34;_blank&#34;&gt;fdroidserver&lt;/a&gt;_ tools handle the creation and maintenance of the app repository.&lt;/p&gt;

&lt;p&gt;Both of these libraries also check whether Google Play is installed, if so, will disable itself. This allows apps to include this library in APKs that are uploaded to Google Play since it will not violate the Google Play Terms of Service.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>New research report on the challenges developers face</title>
      <link>https://guardianproject.info/2017/05/15/new-research-report-on-the-challenges-developers-face/</link>
      <pubDate>Mon, 15 May 2017 05:07:17 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/05/15/new-research-report-on-the-challenges-developers-face/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/06/tccw.png&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-13792&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/tccw.png&#34; alt=&#34;&#34; width=&#34;845&#34; height=&#34;375&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/06/tccw.png 845w, https://guardianproject.info/wp-content/uploads/2017/06/tccw-300x133.png 300w, https://guardianproject.info/wp-content/uploads/2017/06/tccw-768x341.png 768w&#34; sizes=&#34;(max-width: 845px) 100vw, 845px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Guardian Project has been working with the &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;F-Droid&lt;/a&gt; community to make it a secure, streamlined, and verifiable app distribution channel for high-risk environments. While doing this we have started to become more aware of the challenges and risks facing software developers who build software in closed and closing spaces around the world.&lt;/p&gt;

&lt;p&gt;There are a wealth of resources available on how to support and collaborate with high-risk users. Surprisingly, we could not find any guidance on how to support and collaborate with developers where the internet is heavily monitored and/or filtered, let alone developers who might be at risk because of the software they develop.&lt;/p&gt;

&lt;p&gt;This report explores some key challenges that developers in closed and closing spaces face when collaborating with international groups who support Human Rights and freedom (IHRFG). These groups include privacy and security software projects, civil society focused donors, and non-governmental organizations (NGOs).&lt;/p&gt;

&lt;p&gt;IHRFG can benefit greatly from collaborations with local developers. IHRFGs who are trying to design or localize software for a specific region often have difficulty&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;understanding the types of technologies that are needed to address the problems IHRDGs are trying to solve,&lt;/li&gt;
&lt;li&gt;addressing the local economic, social, infrastructural, and/or legal challenges that software of its type often faces in the local context,&lt;/li&gt;
&lt;li&gt;identifying the interaction and design patterns that will drive initial adoption,&lt;/li&gt;
&lt;li&gt;evaluating the quality of the translations of software into the local language,&lt;/li&gt;
&lt;li&gt;finding local individuals for focus groups, and testing, and&lt;/li&gt;
&lt;li&gt;conducting testing and troubleshooting to identify and address issues caused by the speed, availability, and/or censoring of local fixed or mobile networks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Local developers, on the other hand, are often more than able to accomplish these tasks.&lt;/p&gt;

&lt;p&gt;Beyond identifying these challenges this report provides guidance on how to take these challenges into account when IHRFGs collaborate with local developers. To do this the report also contains a set of developer user-personas. These personas can be used by IHRFGs as an aid when they are designing collaborating with local developers.&lt;/p&gt;

&lt;p&gt;We hope that the results of this research will help international privacy and security focused software projects and NGOs better understand and respond to the unique needs of different international developer communities so that their collaborations with these developers will be safer, more strategic, and sustainable.&lt;/p&gt;

&lt;h2 id=&#34;research-methodology&#34;&gt;Research Methodology&lt;/h2&gt;

&lt;p&gt;This report is the result of two interconnected streams of research. The initial themes were identified in a series of in-depth interviews. These themes were further explored in an online “developer challenges survey.” The challenges and user personas found in this report were refined from the combined results of these research efforts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interviews&lt;/strong&gt;: interviews with 14 developers, technologists, and digital defenders from 11 different countries where the internet is heavily monitored and filtered as well as 5 interviews with IHRFGs who work in similar regions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Surveys&lt;/strong&gt;: an &lt;a href=&#34;https://challenges.tech/&#34;&gt;online developer survey&lt;/a&gt; in Chinese, Spanish, Farsi, Russian, French, and English that received 118 responses from developers in 28 countries around the world.&lt;/p&gt;

&lt;h2 id=&#34;user-personas&#34;&gt;User Personas&lt;/h2&gt;

&lt;p&gt;The user personas created for this report were developed to allow readers to think more concretely about the motivations and challenges that were identified during this project. In an effort to combat the inclusion of possible implicit biases the author might hold based upon the nationality, race, or gender of the personas the nationality, names, genders, and photos used for all the personas were generated at random.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/seamustuohy/user_profile_randomizer&#34;&gt;source code of the &lt;strong&gt;User Profile Randomizer&lt;/strong&gt;&lt;/a&gt; is available and permissively licensed under the &lt;a href=&#34;https://github.com/seamustuohy/user_profile_randomizer/blob/master/LICENSE&#34;&gt;GNU Lesser General Public License v3.0&lt;/a&gt;. It randomizes the gender pronoun, name (chosen from a random language family), and photo on a set of markdown based user personas.&lt;/p&gt;

&lt;h3 id=&#34;the-full-report&#34;&gt;The Full Report&lt;/h3&gt;

&lt;p&gt;Download the full report, including developer profiles, here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/06/Technological-Collaboration-in-a-Closing-World-1.pdf&#34;&gt;Technological Collaboration in a Closing World.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>F-Droid User Testing, Round 2</title>
      <link>https://guardianproject.info/2017/05/01/f-droid-user-testing-round-2/</link>
      <pubDate>Mon, 01 May 2017 04:51:24 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/05/01/f-droid-user-testing-round-2/</guid>
      <description>

&lt;p&gt;#&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null14.png&#34; width=&#34;624&#34; height=&#34;164&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;by Hailey Still and Carrie Winfrey&lt;/p&gt;&lt;/p&gt;

&lt;h1 id=&#34;toc_0&#34;&gt;****&lt;/h1&gt;

&lt;p&gt;Here we outline the User Testing process and plan for the &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt; app store for Android. The key aims of F-Droid are to provide users with a) a comprehensive catalogue of open-source apps, as well as b) provide users with the the ability to transfer any app from their phone to someone in close physical proximity. With this User Test, we are hoping to gain insights into where the product design is successful and what aspects need to be further improved. Main goals are obtaining a baseline user performance and identifying potential design concerns regarding ease of use. An additional goal is to promote F-Droid as an alternative to the Google Play app store.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;The usability test objectives are to determine usability problem areas within the user interface and content areas. Key focus points include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App navigation: failure to locate functions, excessive clicks to complete a task or failure to complete task&lt;/li&gt;
&lt;li&gt;Presentation errors: selection errors due to labeling ambiguities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The usability test also aims to gain a deeper understanding of our users, what needs they are hoping to meet by using F-Droid, and a basic user-satisfaction level. Our participants for this round of testing will represent a range of ages, backgrounds and technological literacy levels. All tests will be performed with guidance and support of a test facilitator.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&#34;methodology&#34;&gt;Methodology&lt;/h2&gt;

&lt;p&gt;Users will be tested with the assistance of screen and audio recordings, which are to be analyzed post-test. A pre-test questionnaire will record basic demographic data and a post-test survey will gather insight on overall usability experience. The test will include a standard task completion portion as well as a desirability card sorting (to capture qualitative data on user experience).&lt;/p&gt;

&lt;p&gt;Participants will be asked to fill out a demographic and background information survey. The facilitator will explain that the amount of time taken to complete the task will be measured and that they should remain focused on the task. The participant will read the task description, ask any questions they may have and begin the task. Measurement begins when the participant begins the task.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Participants will be encouraged to think aloud. The facilitator will minimally assist the participants during task completion. The facilitator will observe and enter user behavior, comments, and actions.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;After all task scenarios are attempted, the participant will complete the post-test desirability card activity and survey. This activity will comprise of asking participants to choose 5 cards they feel reflect their overall experience and elaborate on their choices. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usability Tasks:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The tasks were randomly administered, with the exception of the “Last Task” which was always administered last.&lt;/p&gt;

&lt;p&gt;TASK A. Search for an app that you would like to download. Install the app you have selected.&lt;/p&gt;

&lt;p&gt;TASK B. There is an app that needs to be updated. Find the app and install the update.&lt;/p&gt;

&lt;p&gt;TASK C. Find a game app that looks interesting to you. Install the app.&lt;/p&gt;

&lt;p&gt;TASK D. Search for a crossword puzzle app within the games category.&lt;/p&gt;

&lt;p&gt;TASK E. If you had no internet, how would you download an app?&lt;/p&gt;

&lt;p&gt;TASK F. Your friend emails you a link to a collection of their favorite apps. Open gmail and click on the link they have sent you. Add the collection of apps that your friend emailed to you to F-Droid. Locate an app called Habitica from the collection you just downloaded.&lt;/p&gt;

&lt;p&gt;LAST TASK. Add the collection of apps displayed on the computer to F-Droid.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Desirability Cards:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null15.png&#34; width=&#34;624&#34; height=&#34;213&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Metrics&lt;/p&gt;

&lt;p&gt;Tests hosted in two locations, Vienna, Austria and Lubbock, Texas. These charts represent the combined metrics for all tests at both locations.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Level of Difficulty:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The participants were asked to rate the level of difficulty per task as they completed them.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null16.png&#34; width=&#34;624&#34; height=&#34;457&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average Critical Error Rate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Critical errors are reported as errors that result in failure to complete the task. Participants may or may not be aware that the task goal is incorrect or incomplete. Independent completion of the task is the goal. Help from the test facilitator or others is to be marked as a critical error. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null17.png&#34; width=&#34;624&#34; height=&#34;420&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average Non-critical Error Rate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Non-critical errors are errors that the participant recovers from alone and are not such that the participant can no longer complete the task. They can include errors such as excessive steps taken to complete a task or initially using an incorrect function but recovering from that incorrect step. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Non-critical errors do not include exploratory behavior. Exploratory behavior includes errors that are&lt;/p&gt;

&lt;p&gt;off task from the main task attempting to be completed.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null18.png&#34; width=&#34;624&#34; height=&#34;440&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Desirability Toolkit Responses&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Vienna:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null19.png&#34; width=&#34;624&#34; height=&#34;194&#34; alt=&#34;&#34; title=&#34;&#34; /&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Lubbock:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/06/null20.png&#34; width=&#34;624&#34; height=&#34;160&#34; alt=&#34;&#34; title=&#34;&#34; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;detailed-testing-reports&#34;&gt;Detailed Testing Reports&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.google.com/document/d/1Y7AV3N8cmqm7yMPFuK6_qbyO86IXYoAJuTuhwCHmnK4/?ts=5905d383#heading=h.sz9pxldla478&#34; target=&#34;_blank&#34;&gt;Detailed Report from Vienna&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.google.com/document/d/1Wavy1Kce7WAmrM277e6QV6ziTvM05uMCsvGSdzi-Uzg&#34; target=&#34;_blank&#34;&gt;Detailed Report from Lubbock&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.google.com/forms/d/1wbAoganpj9KpE00qQj0uOAPETkV9xodV4ubA2UZxbn8/#responses&#34; target=&#34;_blank&#34;&gt;Demographic Survey Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.google.com/forms/d/1jflue3U1mV-ht55gfkdHPYvOjVernCmdbUdXn26DikU#responses&#34; target=&#34;_blank&#34;&gt;Follow-up Survey Results&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>F-Droid: A new UX 6 years in the making</title>
      <link>https://guardianproject.info/2017/04/17/f-droid-a-new-ux-6-years-in-the-making/</link>
      <pubDate>Mon, 17 Apr 2017 10:19:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/04/17/f-droid-a-new-ux-6-years-in-the-making/</guid>
      <description>&lt;p&gt;_(post by &lt;a href=&#34;http://peter.serwylo.com/&#34; target=&#34;_blank&#34;&gt;Peter Serwylo&lt;/a&gt;)_&lt;/p&gt;

&lt;p&gt;F-Droid has been a part of the Android ecosystem for over 6 years now.&lt;br /&gt;
Since then, over 2000 apps have been built for the main repository,&lt;br /&gt;
many &lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/blob/master/CHANGELOG.md&#34; target=&#34;_blank&#34;&gt;great features have been added&lt;/a&gt;, the client has been translated into over 40 different languages, and much more.&lt;/p&gt;

&lt;p&gt;However, the F-Droid UX has never changed much from &lt;a href=&#34;https://f-droid.org/posts/f-droid-repository-alpha&#34; target=&#34;_blank&#34;&gt;the original three tab layout&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/0.11.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/0.11.png&#34; alt=&#34;&#34; width=&#34;320&#34; height=&#34;427&#34; class=&#34;size-full wp-image-13585&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/0.11.png 320w, https://guardianproject.info/wp-content/uploads/2017/04/0.11-225x300.png 225w&#34; sizes=&#34;(max-width: 320px) 100vw, 320px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/0.102.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/0.102.png&#34; alt=&#34;&#34; width=&#34;323&#34; height=&#34;427&#34; class=&#34;size-full wp-image-13584&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/0.102.png 323w, https://guardianproject.info/wp-content/uploads/2017/04/0.102-227x300.png 227w&#34; sizes=&#34;(max-width: 323px) 100vw, 323px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will change with the coming release of F-Droid client v0.103.&lt;/p&gt;

&lt;p&gt;Over the past 6 months, the F-Droid team has been busy redesigning a modern UX which will help bring F-Droid into the present.&lt;br /&gt;
Some of the big ticket items include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screenshots and feature graphics&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Bulk download and install&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Offline “queue for download”&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Ability to translate apps metadata&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Improved notifications for downloads and pending updates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/appdetails-b.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/appdetails-b.png&#34; alt=&#34;&#34; width=&#34;318&#34; height=&#34;570&#34; class=&#34;size-full wp-image-13593&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/appdetails-b.png 318w, https://guardianproject.info/wp-content/uploads/2017/04/appdetails-b-167x300.png 167w&#34; sizes=&#34;(max-width: 318px) 100vw, 318px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/appdetails-a.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/appdetails-a.png&#34; alt=&#34;&#34; width=&#34;318&#34; height=&#34;570&#34; class=&#34;size-full wp-image-13594&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/appdetails-a.png 318w, https://guardianproject.info/wp-content/uploads/2017/04/appdetails-a-167x300.png 167w&#34; sizes=&#34;(max-width: 318px) 100vw, 318px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/updates.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/updates.png&#34; alt=&#34;&#34; width=&#34;318&#34; height=&#34;570&#34; class=&#34;size-full wp-image-13595&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/updates.png 318w, https://guardianproject.info/wp-content/uploads/2017/04/updates-167x300.png 167w&#34; sizes=&#34;(max-width: 318px) 100vw, 318px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/nearby.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/nearby.png&#34; alt=&#34;&#34; width=&#34;318&#34; height=&#34;570&#34; class=&#34;size-full wp-image-13596&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/nearby.png 318w, https://guardianproject.info/wp-content/uploads/2017/04/nearby-167x300.png 167w&#34; sizes=&#34;(max-width: 318px) 100vw, 318px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/categories.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/categories.png&#34; alt=&#34;&#34; width=&#34;318&#34; height=&#34;570&#34; class=&#34;size-full wp-image-13597&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/categories.png 318w, https://guardianproject.info/wp-content/uploads/2017/04/categories-167x300.png 167w&#34; sizes=&#34;(max-width: 318px) 100vw, 318px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/04/latest.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2017/04/latest.png&#34; alt=&#34;&#34; width=&#34;318&#34; height=&#34;570&#34; class=&#34;size-full wp-image-13598&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/04/latest.png 318w, https://guardianproject.info/wp-content/uploads/2017/04/latest-167x300.png 167w&#34; sizes=&#34;(max-width: 318px) 100vw, 318px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition, we have been redesigning some of the smaller, but equally as important parts of the app, such as better support for visually impaired users who make use of tools such as Talkback, and better support for donating to open source app developers.&lt;/p&gt;

&lt;p&gt;This has involved extensive design input from UX designers and the community.&lt;br /&gt;
In addition to the user tests that were conducted early on in the design process, further field tests are currently being conducted to ensure that usability issues with the new design are identified and resolved.&lt;/p&gt;

&lt;p&gt;Over the coming weeks you will see alpha releases for v0.103. We encourage your feedback and suggestions about how to continually improve the F-Droid client. This is one of the many improvements happening to the broader F-Droid ecosystem in 2017, so keep an eye out for more!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>F-Droid Lubbock Report – What We Want to Know</title>
      <link>https://guardianproject.info/2017/04/17/f-droid-lubbock-report-what-we-want-to-know/</link>
      <pubDate>Mon, 17 Apr 2017 08:07:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/04/17/f-droid-lubbock-report-what-we-want-to-know/</guid>
      <description>

&lt;hr /&gt;

&lt;h1 id=&#34;f-droid-lbk-usability-study-report-what-we-want-to-know-p&#34;&gt;F-Droid LBK Usability Study Report – What We Want to Know&lt;/p&gt;&lt;/h1&gt;

&lt;p&gt;Prepared by Carrie Winfrey&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Preliminary Version – April 17, 2017&lt;/em&gt;&lt;/p&gt;&lt;/p&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;When planning this user test, the team outlined features and flows within the app on which we wanted feedback. From there, we created tasks for participants to complete that would access these areas, and produce insights related to our inquires.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;This document is organized by the tasks participants completed. Initial inquiry questions are outlined under each task, followed by the feedback and observations gained from the test. Last, within each section, I’ve listed suggestions for improvement related to the task.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;In the Lubbock sessions, 11 people participated in this focused usability study. More information on participant demographics, test methodology, metrics, and follow-up activities and insights will be provided soon.&lt;/p&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PAGE_BREAK: PageBreak&lt;/strong&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-a-search-for-an-app-that-you-would-like-to-download-install-the-app-you-have-selected&#34;&gt;TASK A – Search for an app that you would like to download. Install the app you have selected.&lt;/h1&gt;

&lt;p&gt;Average difficulty: 1.9&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: 0&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;PARTICIPANT QUOTES&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“App won’t install. Found the game easily, though.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are users able to locate the search button?

&lt;ul&gt;
&lt;li&gt;Yes. Most users found the search button right away.&lt;/li&gt;
&lt;li&gt;Some (3 out of 10) browsed through the latest or category view to find an app instead of using search.&lt;/li&gt;
&lt;li&gt;One participant said he never saw the search button.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Are they able to effectively use search?

&lt;ul&gt;
&lt;li&gt;Yes.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Are they able to find what they’re looking for?

&lt;ul&gt;
&lt;li&gt;Not always. Searching for mainstream apps like Gmail, ESPN, Facebook and Twitter returns no relevant results.&lt;/li&gt;
&lt;li&gt;“It took about 10 tries to find an app I searched for. It might be difficult for users to find the app they have an interest in.”&lt;/li&gt;
&lt;li&gt;One participant searched for recipes, but misspelled it, so no relevant results were displayed.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Other insights:&lt;/li&gt;
&lt;li&gt;Many users expressed that it was difficult to know if and app had installed.

&lt;ul&gt;
&lt;li&gt;“I found it difficult to figure out if the apps had installed. No notification?”&lt;/li&gt;
&lt;li&gt;Some participants searched on the home screen of the phone, then in the apps on their phone to see if the app had installed.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;4 participants were unable to install apps all together due to a bug in the app version being tested.&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Suggestions for improvement:&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Location of search&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Though most people didn’t have trouble locating search, a majority are most familiar with finding it at the top of the screen.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Search results&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Display more relevant search results. Ex: If someone searches for Gmail and we don’t have it, offer alternative email apps.&lt;/li&gt;
&lt;li&gt;Use suggestive results to help users avoid spelling errors and to make the action of searching quicker.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feedback once installed&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Provide better feedback once an app is installed for views within the app (installed from list view, app details and updates views).&lt;/li&gt;
&lt;li&gt;Show a system notification when an app is installed.&lt;/li&gt;
&lt;li&gt;Give the option to add installed apps to the home screen of the phone.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fix bugs&lt;/strong&gt; Fix bugs with installing apps.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PAGE_BREAK: PageBreak&lt;/strong&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-b-there-is-an-app-that-needs-to-be-updated-find-the-app-and-install-the-update&#34;&gt;TASK B – There is an app that needs to be updated. Find the app and install the update.&lt;/h1&gt;

&lt;p&gt;Average difficulty: 2.3&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: 0&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;PARTICIPANT QUOTES&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“The update icon at the bottom with red number notifications was easy to find.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“It took me multiple attempts to update the applications.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is it clear where to go to find updates?

&lt;ul&gt;
&lt;li&gt;Yes. Every participant easily located the updates tab.&lt;/li&gt;
&lt;li&gt;“It was very easy to spot apps that need updating.”&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Can users successfully update an app?

&lt;ul&gt;
&lt;li&gt;No.&lt;/li&gt;
&lt;li&gt;The difference in word choice on app details than in updates view confused multiple users.

&lt;ul&gt;
&lt;li&gt;“The update icon at the bottom with red number notifications was easy to find. Once I clicked on the specific app to update it gave the option to uninstall or upgrade. I wasn’t sure if upgrade was the same as update or not – it sounded like something I’d have to pay for.”&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Every participant that tried to update an app from the updates view had problems.

&lt;ul&gt;
&lt;li&gt;“Took me multiple attempts to update the applications. Not positive the update occurred. There was no indication of completion.”&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;It was unclear if an app had successfully updated. Participants were not confident that they had updated the app.&lt;/li&gt;
&lt;li&gt;We need to provide better feedback once an update is complete and successful.&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Suggestions for improvement:&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Word Choice&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Change ‘upgrade’ to updates in app details.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feedback&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Provide better feedback once an update is complete and successful within the updates view.&lt;/li&gt;
&lt;li&gt;Give a system notification when an update is successful.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fix bugs&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;I’ve shared a screen record that reveals the problems.&lt;/li&gt;
&lt;li&gt;For some users, the red badge indicator didn’t change after they updated the app. This behavior needs to be tested internally.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PAGE_BREAK: PageBreak&lt;/p&gt;

&lt;h1 id=&#34;task-c-find-a-game-app-that-looks-interesting-to-you-install-the-app&#34;&gt;TASK C – Find a game app that looks interesting to you. Install the app.&lt;/h1&gt;

&lt;p&gt;Average difficulty: 1.7&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: 0&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How do users browse when looking for a specific kind of app, like a game? Do they search, look in categories, browse, etc.

&lt;ul&gt;
&lt;li&gt;Most participants looked through the games category. Some browsed latest. Some used search.&lt;/li&gt;
&lt;li&gt;Many people found the categories view appealing, and spent more time there than on the latest view, when looking for apps. One participant compared it to the iTunes Store, but commented that it was even easier.&lt;/ul&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1 id=&#34;task-d-search-for-a-crossword-puzzle-app-within-the-games-category&#34;&gt;TASK D – Search for a crossword puzzle app within the games category.&lt;/h1&gt;

&lt;p&gt;Average difficulty: 1.1&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: 0&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are users able to effectively search within categories?

&lt;ul&gt;
&lt;li&gt;We saw a variety of behaviors with this task. But, overall, people were able to do this without problems.

&lt;ul&gt;
&lt;li&gt;4 participants searched in within categories&lt;/li&gt;
&lt;li&gt;2 participants searched from search&lt;/li&gt;
&lt;li&gt;2 participants browsed in horizontal view of the category&lt;/li&gt;
&lt;li&gt;2 participants opened category and scrolled down to find &lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Suggestions for improvement:&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Easier use of chip&lt;/strong&gt; Once you clear a chip, there’s no easy way to get it back if you want to search within that category.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PAGE_BREAK: PageBreak&lt;/strong&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-e-if-you-had-no-internet-how-would-you-download-an-app&#34;&gt;TASK E – If you had no internet, how would you download an app?&lt;/h1&gt;

&lt;p&gt;Average difficulty: 3.1&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: 7 of 10 that attempted the task were unable to identify the nearby feature as the place to download apps without internet.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;PARTICIPANT QUOTES&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Nearby didn’t give me the idea of downloading while offline.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are users able to discover how to download apps offline?

&lt;ul&gt;
&lt;li&gt;A few. But not the majority.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Is it clear that you use they nearby feature to do this?

&lt;ul&gt;
&lt;li&gt;No.&lt;/li&gt;
&lt;li&gt;70% of participants never identified the nearby feature as the means for doing this.&lt;/li&gt;
&lt;li&gt;“Nearby didn’t give me the idea of downloading while offline.”&lt;/li&gt;
&lt;li&gt;30% successfully identified nearby. Though, most after looking several other places?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;What other behaviors are observed?

&lt;ul&gt;
&lt;li&gt;Turning WiFi off to see if the interface changed&lt;/li&gt;
&lt;li&gt;Going into airplane mode&lt;/li&gt;
&lt;li&gt;Downloading an airplane mode app&lt;/li&gt;
&lt;li&gt;Opening settings and looking in WiFi options&lt;/li&gt;
&lt;li&gt;Searching google.&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Additional Observations&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;People did not make the connection between ‘nearby’ and downloading apps offline.&lt;/li&gt;
&lt;li&gt;Not one participant read the text on the Nearby view when they initially tapped on it.&lt;/li&gt;
&lt;li&gt;Multiple people compared nearby to Air Drop on iOS&lt;/li&gt;
&lt;li&gt;“It’s going to airdrop a virus to your phone.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;u&gt;Suggestions for improvement:&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Word choice&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Reconsider the word choice.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Offline mode&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The experience of the app should be obviously different when there’s no internet connection.&lt;/li&gt;
&lt;li&gt;Guide users toward the nearby feature if there’s no connection.&lt;/li&gt;
&lt;li&gt;Consider providing info in settings&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;More engaging visuals&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;If we want people to pay attention to the Nearby view, it needs to be more engaging.&lt;/li&gt;
&lt;li&gt;If we keep the language about offline, consider using iconography that communicates that.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PAGE_BREAK: PageBreak&lt;/strong&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-f-your-friend-emails-you-a-link-to-a-collection-of-their-favorite-apps-open-gmail-and-click-on-the-link-they-have-sent-you-add-the-collection-of-apps-that-your-friend-emailed-to-you-to-f-droid-locate-an-app-called-habitica-from-the-collection-you-just-downloaded&#34;&gt;TASK F – Your friend emails you a link to a collection of their favorite apps. Open gmail and click on the link they have sent you. Add the collection of apps that your friend emailed to you to F-Droid. Locate an app called Habitica from the collection you just downloaded.&lt;/h1&gt;

&lt;p&gt;Average difficulty: 2.2&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: Every participant was able to add add the repo. 4 of 11 participants were unable to locate the Habitica app that was added from the repo.&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;PARTICIPANT QUOTES&lt;/p&gt;

&lt;p&gt;“I was able to find the link the email and accept the apps, but have no idea where to find the collection from my friend in F-Droid.”&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are users able to add a repo from a link opened on mobile?

&lt;ul&gt;
&lt;li&gt;Yes. No one had problems with this.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Is the webpage for adding a repo clear?

&lt;ul&gt;
&lt;li&gt;Yes.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Are users able to find the apps from a repo they have added?

&lt;ul&gt;
&lt;li&gt;No. Participants were very confused.&lt;/li&gt;
&lt;li&gt;100% participants didn’t know if they had added the repo successfully after completing the steps.&lt;/li&gt;
&lt;li&gt;“I was able to find the link in the email and accept the apps, but I have no idea where to find the collection from my friend in F-Droid.”&lt;/li&gt;
&lt;li&gt;Some were able to find one app by searching for it.&lt;/li&gt;
&lt;li&gt;Average non-critical errors for finding the app—2

&lt;ul&gt;
&lt;li&gt;5 users were able to locate the app; most after multiple attempts&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Average critical errors for finding the app—3.73

&lt;ul&gt;
&lt;li&gt;3 users were unable to locate the app added from the repo&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Other places people looked

&lt;ul&gt;
&lt;li&gt;In categories thinking the latest apps added would be shown first&lt;/li&gt;
&lt;li&gt;In the latest view&lt;/li&gt;
&lt;li&gt;In settings &amp;gt; Manage installed apps&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Do users understand that the apps added from a repo are only made available to them, and not auto-downloaded and installed?

&lt;ul&gt;
&lt;li&gt;Not really. It was hard to know for sure since the users never saw a list of those apps on the phone once they added the repo.&lt;/li&gt;
&lt;li&gt;It seemed that some participants were surprised to see that they still had to download the app Habitica after finding it via search.&lt;/li&gt;
&lt;li&gt;Many participants assumed the apps from a repo would download.&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Suggestions for improvement:&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Feedback&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Currently, there’s no indication of completion.&lt;/li&gt;
&lt;li&gt;The experience of adding an app cannot end after they tap add. People are way too confused. Also, currently after tapping add, the app returns to the screen they were previously on within the app, which could be anything.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make apps accessible&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The user needs to immediately be able to see the apps they just added to their phone. Note: it should be clear that these are made available, but not downloaded automatically.&lt;/li&gt;
&lt;li&gt;The user needs to be able to access the apps within a repo later on.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handle delay&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Is there a delay in the repo updating? We noticed that some people tried to search for an app that was within a repo they added, but even then, it didn’t show up.&lt;/li&gt;
&lt;li&gt;Update only the repo that was added instead of all. Not sure what the current behavior is.&lt;/p&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PAGE_BREAK: PageBreak&lt;/strong&gt;&lt;/p&gt;

&lt;h1 id=&#34;task-g-last-task-add-the-collection-of-apps-displayed-on-the-computer-to-f-droid&#34;&gt;TASK G (Last Task) – Add the collection of apps displayed on the computer to F-Droid.&lt;/h1&gt;

&lt;p&gt;Average difficulty: 2.6&lt;/p&gt;

&lt;p&gt;Number of participants with critical errors: 0&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;PARTICIPANT QUOTES&lt;/p&gt;

&lt;p&gt;“I followed the steps on the computer but wasn’t sure where the code from the QR scanner went. I added a new repository and there was a link already in it so I just clicked add, but have no idea what it did.”&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What we want feedback on&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are users able to add a repo from a collection they view on desktop?

&lt;ul&gt;
&lt;li&gt;Yes. Surprisingly, the majority of participants did not have trouble scanned the QR code and adding the repo.&lt;/li&gt;
&lt;li&gt;Same confusions as mentioned above about knowing if it worked and locating the repo.&lt;/li&gt;
&lt;li&gt;“I don’t know if it worked. How do I know if it worked?”&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Is the word choice clear?

&lt;ul&gt;
&lt;li&gt;Somewhat. It didn’t trip people up from completing the task.&lt;/li&gt;
&lt;li&gt;Multiple people commented that the word repository didn’t resonate with them. They preferred the word Collections.&lt;/ul&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Suggestions for improvement:&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix bugs&lt;/strong&gt; F-Droid crashed a lot after people scanned the code, opened F-Droid and tapped add. I think this was due to the phone being in landscape then portrait mode.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integrate QR code scanner&lt;/strong&gt; within the add repo view.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Word choice&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PAGE_BREAK: PageBreak&lt;/strong&gt;&lt;/p&gt;

&lt;h1 id=&#34;additional-observations&#34;&gt;Additional Observations&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Concerns of Malware&lt;/strong&gt; While most participants were not keen on security and the potential risk of downloading apps from a source other than Google Play, one participant was keenly aware. He made multiple comments about how the app is an open door for malware.

&lt;ul&gt;
&lt;li&gt;**We need to address the security risks, and what F-Droid does to mitigate those risks. We need to be open and transparent in our communications to build trust.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tablet&lt;/strong&gt; Optimize the latest view for tablet. Show more grid tiles horizontally (i.e. display 3 instead of 2 in portrait mode) and increase font size.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;more-information-coming-soon&#34;&gt;More information coming soon!&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Methodology (Note: All tasks were completed in different orders by the participants with the exception of Task G, which was always completed last.)&lt;/li&gt;
&lt;li&gt;Participant demographic&lt;/li&gt;
&lt;li&gt;Desirability toolkit&lt;/li&gt;
&lt;li&gt;Follow-up survey results&lt;/li&gt;
&lt;li&gt;Usability metrics &amp;amp; stats&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>ProofMode critiques and progress</title>
      <link>https://guardianproject.info/2017/03/30/proofmode-critiques-and-progress/</link>
      <pubDate>Thu, 30 Mar 2017 09:53:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/03/30/proofmode-critiques-and-progress/</guid>
      <description>&lt;p&gt;Bruce Schneier was kind enough to &lt;a href=&#34;https://www.schneier.com/blog/archives/2017/03/proof_mode_for_.html?utm_source=dlvr.it&amp;amp;utm_medium=twitter&#34;&gt;post about our work on ProofMode&lt;/a&gt; to his &lt;a href=&#34;https://www.schneier.com&#34;&gt;blog&lt;/a&gt;. A decent set of comments ensued, which we have considered, measured and weighed. We posted the response below on the post, and now also here. We also received an excellent set of &lt;a href=&#34;http://www.lieberbiber.de/2017/03/07/the-guardian-projects-proof-mode-app-for-activists-doesnt-work/&#34;&gt;feedback from the Lieberbiber blog&lt;/a&gt;. Below are responses to the various concerns raised, and links to work completed or in progress.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;At a high level, securely dating files, digital notarization, easy capture of sensor metadata, among other things, are not solved problems. For every day activists around the world, who may only have a cheap smartphone as their only computing device, they have no easy way to do any of these things. Even for high-level war crimes investigators, they are often using consumer point and shoot digital cameras, and documenting everything on paper.&lt;/p&gt;

&lt;p&gt;ProofMode is a simplified version of a much more complex and thorough system and app that we have built, called CameraV. In that model, we use a built-in custom camera, encrypted internal storage and much more complex set of metadata to generate the evidence and proof. We also capture baseline images from the sensor, and require those to be shared with the key, so that we can later match evidence photos from the sensor itself. You can read more about some of this here:&lt;br /&gt;
&lt;a href=&#34;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&#34;&gt;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We loved CameraV, but it was too complicated. Many frontline activists looking for a means to timestamp, sign, and otherwise add extra verifiable metadata to photos and videos they were capturing, found CameraV to be too complicated and burdensome. They helped us to design ProofMode, to strip it down to its bare essentials. In this case, we are working within pre-existing communities, with a shared set of pre-existing trust. What the activists are looking for is richer metadata, in easy to parse formats, that has timestamping, and some kind of cryptographic verification around it.&lt;/p&gt;

&lt;p&gt;We know our approach is not bulletproof, and that smart people like this who comment on this blog can fool it six ways from Sunday. This ProofMode release was versioned “0.0.x” for a reason. We are not saying it is finished by any means, clearly. We are actively developing it, and have a roadmap that will address most of not all of the major concerns pointed out here, while ALSO keeping it simple, streamlined, focused and easy to use.&lt;/p&gt;

&lt;p&gt;For example, we have implemented the Google SafetyNet API (&lt;a href=&#34;https://koz.io/inside-safetynet/&#34;&gt;https://koz.io/inside-safetynet/&lt;/a&gt;) for automatically signing the hashes of the media, checking that the app is running on an actual Android device that wasn’t tampered with, and verifying the hash of the APK app itself matches our officially released version. Google’s servers produced a signed blob of data that gets appending to our proof data, and that can be verified later on a desktop or server. This one feature counteracts most of the “hey I can just fake this by hand with GPG” comments:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/15&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/15&#34;&gt;https://github.com/guardianproject/proofmode/issues/15&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are integrating supporting for OpenTimestamps and other blockchain based notary systems like Stampery: &lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/8&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/8&#34;&gt;https://github.com/guardianproject/proofmode/issues/8&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
For now, the app makes it very easy to send out a tweet, SMS or even a Signal message of the media’s hash, as a way to notarize it to various kinds of end points. We are working with human rights organizations to setup Signal-based notaries for their own internal logging.&lt;/p&gt;

&lt;p&gt;The analysis on the &lt;a href=&#34;http://www.lieberbiber.de/&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;http://www.lieberbiber.de&#34;&gt;http://www.lieberbiber.de&lt;/a&gt;&lt;/a&gt; site is a good one, and also brings up the method by which we monitor for the presence of new photos and videos. We’ve had some comments about directly launching and monitoring the camera, which are helpful, but since we want to run in the background, that won’t really work:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/7&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/7&#34;&gt;https://github.com/guardianproject/proofmode/issues/7&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The real progress there is moving to a new method Android provides for monitoring media, and away from just watching it at the file system. This has been implemented for newer Android devices:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/proofmode/commit/0ea9c9d73d7e55de612c89c466ef87da3524b6f1&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/proofmode/commit/0ea9c9d73d7e55de612c89c466ef87da3524b6f1&#34;&gt;https://github.com/guardianproject/proofmode/commit/0ea9c9d73d7e55de612c89c466ef87da3524b6f1&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are also looking at how we generate and store the keys we generate in the app. We agree that we did the minimal amount of work necessary to store and secure the key, just relying on the Android app sandboxing for now. We never intended this key to be used for encryption or longterm identity. Our thinking was more focused on integrity through digital signatures, with a bit of lightweight, transient identity added on.&lt;/p&gt;

&lt;p&gt;That said, we will be moving the key and credentials into the Android Keystore, which is the most secure key management solution possible on Android today.&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/16&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/proofmode/issues/16&#34;&gt;https://github.com/guardianproject/proofmode/issues/16&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All in all, it has just been a few weeks, and have already released multiple updates, that address most of the concerns that been raised. Work continues, and we hope that in no time, we’ll have an HSM-backed, yubikey-powered, blockchain-enabled, double ratchet encrypted and PQCrypto-resistent service, that will *still* be easy to use, under 3 MB and run on $100 Android phones.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Announcing the Developer Challenges Survey</title>
      <link>https://guardianproject.info/2017/03/21/announcing-the-developer-challenges-survey/</link>
      <pubDate>Tue, 21 Mar 2017 11:32:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/03/21/announcing-the-developer-challenges-survey/</guid>
      <description>&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;In the &lt;/span&gt;&lt;a href=&#34;https://guardianproject.info/&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Guardian Project&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;‘s current work with the &lt;/span&gt;&lt;a href=&#34;https://f-droid.org/&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;FDroid&lt;/span&gt;&lt;/a&gt; &lt;span style=&#34;font-weight: 400&#34;&gt;community to make it a secure, streamlined, and verifiable app distribution channel for high-risk environments we have started to become more aware of the challenges and risks facing software developers who build software in around the world.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;There are a wealth of resources available on how to support and collaborate with high-risk users. Surprisingly, we could not find any guidance on how to support and collaborate with developers where the internet is heavily monitored and/or filtered, let alone developers who might be at risk because of the software they develop.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;We have started &lt;a href=&#34;https://guardianproject.info/2017/01/26/imagining-the-challenges-of-developers-in-repressive-environments/&#34;&gt;conducting research&lt;/a&gt; on developers from a range of closed and closing spaces. We hope that the results of this research will help international software projects and organizations better understand and respond to the unique needs of different international developer communities.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Part of this user research was the development of the &lt;/span&gt;&lt;strong&gt;&lt;a href=&#34;https://challenges.tech/&#34;&gt;challenges.tech survey&lt;/a&gt;&lt;/strong&gt; &lt;span style=&#34;font-weight: 400&#34;&gt;which will be used to help us form a better understanding of the challenges international developers face, their motivations, and their priorities. With the help of the &lt;/span&gt;&lt;a href=&#34;https://www.localizationlab.org/&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Localization Lab&lt;/span&gt;&lt;/a&gt; &lt;span style=&#34;font-weight: 400&#34;&gt;we have translated this survey into &lt;a href=&#34;https://challenges.tech/?lang=zh&#34;&gt;Chinese&lt;/a&gt;, &lt;a href=&#34;https://challenges.tech/?lang=es&#34;&gt;Spanish&lt;/a&gt;, &lt;a href=&#34;https://challenges.tech/?lang=fa&#34;&gt;Farsi&lt;/a&gt;, &lt;a href=&#34;https://challenges.tech/?lang=ru&#34;&gt;Russian&lt;/a&gt;, &lt;a href=&#34;https://www.challenges.tech/?lang=fr&#34;&gt;French&lt;/a&gt;, and &lt;a href=&#34;https://www.challenges.tech&#34;&gt;English&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;We have two requests:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;li style=&#34;font-weight: 400&#34;&gt;
  &lt;span style=&#34;font-weight: 400&#34;&gt;If you are a developer take&lt;/span&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;strong&gt;&lt;a href=&#34;https://www.challenges.tech/&#34;&gt; the survey&lt;/a&gt;&lt;/strong&gt;.&lt;/span&gt;&lt;span style=&#34;font-weight: 400&#34;&gt; (&lt;em&gt;It takes about 10 minutes.&lt;/em&gt;)&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400&#34;&gt;
  &lt;span style=&#34;font-weight: 400&#34;&gt;Share the survey with your networks and encourage them to pass it along. We would like to get a diverse range of developers to take the survey.&lt;/span&gt;
&lt;/li&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;We will close down the survey in a month. We will then replace the challenges.tech website with the aggregated survey results. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;We will also publicly share the overall results of our research on the &lt;/span&gt;&lt;a href=&#34;https://guardianproject.info/&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Guardian Project&lt;/span&gt;&lt;/a&gt; &lt;span style=&#34;font-weight: 400&#34;&gt;website in a research report. We hope that this report will help international organizations and software development projects understand and respond to the unique needs of different international developer communities.&lt;/span&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Build Android apps with Debian: apt install android-sdk</title>
      <link>https://guardianproject.info/2017/03/13/build-android-apps-with-debian-apt-install-android-sdk/</link>
      <pubDate>Mon, 13 Mar 2017 10:03:30 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/03/13/build-android-apps-with-debian-apt-install-android-sdk/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/04/debian.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/04/debian-150x150.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-12920&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/04/debian-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2015/04/debian-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2015/04/debian-270x270.jpg 270w, https://guardianproject.info/wp-content/uploads/2015/04/debian-230x230.jpg 230w, https://guardianproject.info/wp-content/uploads/2015/04/debian.jpg 600w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
In Debian stretch, the upcoming new release, it is now possible to build Android apps using only packages from Debian. This will provide all of the tools needed to build an Android app targeting the “platform” &lt;tt&gt;android-23&lt;/tt&gt; using the SDK &lt;tt&gt;build-tools&lt;/tt&gt; 24.0.0. Those two are the only versions of “platform” and “build-tools” currently in Debian, but it is possible to use the Google binaries by installing them into &lt;tt&gt;/usr/lib/android-sdk&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;This doesn’t cover yet all of the libraries that are used in the app, like the Android Support libraries, or all of the other myriad libraries that are usually fetched from jCenter or Maven Central. One big question for us is whether and how libraries should be included in Debian. All the Java libraries in Debian can be used in an Android app, but including something like Android Support in Debian would be strange since they are only useful in an Android app, never for a Debian app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building apps with these packages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here are the steps for building Android apps using Debian’s Android SDK on Stretch.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;sudo apt install android-sdk android-sdk-platform-23&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export ANDROID_HOME=/usr/lib/android-sdk&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;In &lt;em&gt;build.gradle&lt;/em&gt;, set &lt;em&gt;compileSdkVersion&lt;/em&gt; to 23 and &lt;em&gt;buildToolsVersion&lt;/em&gt; to 24.0.0&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;gradle assembleDebug&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Gradle Android Plugin is also packaged. Using the Debian package instead of the one from online Maven repositories requires a little configuration before running Gradle. In the &lt;em&gt;buildscript&lt;/em&gt; block:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add &lt;tt&gt;maven { url &amp;lsquo;file:///usr/share/maven-repo&amp;rsquo; }&lt;/tt&gt; to repositories&lt;/li&gt;
&lt;li&gt;use &lt;tt&gt;compile &amp;lsquo;com.android.tools.build:gradle:debian&amp;rsquo;&lt;/tt&gt; to load the plugin&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Currently there is only the target platform of API Level 23 packaged, so only apps targeted at &lt;em&gt;android-23&lt;/em&gt; can be built with only Debian packages. We will add more API platform packages via backports. Only &lt;em&gt;build-tools&lt;/em&gt; 24.0.0 is available, so in order to use the SDK, build scripts need to be modified. Beware that the Lint in this version of Gradle Android Plugin is still problematic, so running the :lint tasks might not work. They can be turned off with &lt;tt&gt;lintOptions.abortOnError&lt;/tt&gt; in &lt;em&gt;build.gradle&lt;/em&gt;. Google binaries can be combined with the Debian packages, for example to use a different version of the platform or build-tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why include the Android SDK in Debian?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While Android developers could develop and ship apps right now using these Debian packages, this is not very flexible since only &lt;tt&gt;build-tools-24.0.0&lt;/tt&gt; and &lt;tt&gt;android-23&lt;/tt&gt; platform are available. Currently, we are not aiming to cover the most common use cases. Those are pretty well covered by Google’s binaries (except for the proprietary license on the Google binaries), and are probably the most work for the Debian Android Tools Team to cover. We are first working on use cases that are poorly covered by the Google binaries, for example, like where only specific parts of the whole SDK are used. Here are some we have in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tools for security researchers, forensics, reverse engineering, etc. which can then be included in live CDs and distros like Kali Linux&lt;/li&gt;
&lt;li&gt;a hardened APK signing server using &lt;em&gt;apksigner&lt;/em&gt; that uses a standard, audited, public configuration of all reproducibly built packages&lt;/li&gt;
&lt;li&gt;Replicant is a 100% free software Android distribution, so of course &lt;a href=&#34;http://blog.replicant.us/2017/02/replicant-6-0-development-updates/&#34; target=&#34;_blank&#34;&gt;they want to have a 100% free software SDK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;high security apps need a build environment that matches their level of security, the Debian Android Tools packages are &lt;a href=&#34;https://reproducible-builds.org&#34; target=&#34;_blank&#34;&gt;reproducibly built&lt;/a&gt; only from publicly available sources&lt;/li&gt;
&lt;li&gt;dead simple install with strong trust path with mirrors all over the world&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the long run, the &lt;a href=&#34;https://wiki.debian.org/AndroidTools&#34; target=&#34;_blank&#34;&gt;Debian Android Tools Team&lt;/a&gt; aims to cover more use cases well, and also building the Android NDK. This all will happen more quickly if we have more contributors! Android is the most popular mobile OS, and can be 100% free software like Debian. Debian and its derivatives are one of the most popular platforms for Android development.&lt;/p&gt;

&lt;p&gt;Last but not least, we want feedback on how this should all work. For example, we need ideas for how to nicely integrate Debian’s Java libraries into the Android &lt;em&gt;gradle&lt;/em&gt; workflow. And ideally, the Android Support libraries would also be reproducibly built and packaged somewhere that enforces only free software.&lt;/p&gt;

&lt;p&gt;For anyone interested in tools for working with Android apps and APKs, including for reverse engineering, inspection, auditing, etc. there are quite a few tools included now in Debian:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apt install android-sdk androguard apktool diffoscope dummydroid enjarify gplaycli libsmali-java libscout repo&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Combating “Fake News” With a Smartphone “Proof Mode”</title>
      <link>https://guardianproject.info/2017/02/24/combating-fake-news-with-a-smartphone-proof-mode/</link>
      <pubDate>Fri, 24 Feb 2017 02:10:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/02/24/combating-fake-news-with-a-smartphone-proof-mode/</guid>
      <description>&lt;p&gt;We have been working for many years with our partners at &lt;a href=&#34;https://witness.org&#34;&gt;WITNESS&lt;/a&gt;, a leading human rights media training and advocacy organization, to figure out how best to turn smartphone cameras into tools of empowerment for activists. While it is often enough to use the visual pixels you capture to create awareness or pressure on an issue, sometimes you want those pixels to actually be treated as evidence. This means, you want people to trust what they see, to know it hasn’t been tampered with, and to believe that it came from the time, place and person you say it came from.&lt;/p&gt;

&lt;p&gt;Enter, &lt;a href=&#34;https://github.com/guardianproject/proofmode&#34;&gt;&lt;strong&gt;ProofMode&lt;/strong&gt;&lt;/a&gt;, a light, minimal “reboot” of our more heavyweight, verified media app, &lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;CameraV&lt;/a&gt;. Our aim was to create a lightweight (&amp;lt; 3MB!), almost invisible utility (minimal battery impact!), that you can run all of the time on your phone (no annoying notifications or popups), that automatically adds extra digital proof data to all photos and videos you take. This data can then be easily shared, when you really need it, through a “Share Proof” share action, to anyone you choose over email or a messaging app, or uploaded to a cloud service or reporting platform.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-173908.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-13520 alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-173908-169x300.jpg&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-173908-169x300.jpg 169w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-173908.jpg 540w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174004.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-13521 alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174004-169x300.jpg&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174004-169x300.jpg 169w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174004.jpg 540w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174056.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-13522 alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174056-169x300.jpg&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174056-169x300.jpg 169w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174056.jpg 540w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On the technical front, what the app is doing is automatically generating an OpenPGP key for this installed instance of the app itself, and using that to automatically sign all photos and videos at time of capture. A sha256 hash is also generated, and combined with a snapshot of all available device sensor data, such as GPS location, wifi and mobile networks, altitude,  device language, hardware type, and more. This is also signed, and stored with the media. All of this happens with no noticeable impact on battery life or performance, every time the user takes a photo or video. We have been running it for months on fairly old, low end phones, and you just forget it is happening.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174146.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-13542&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174146-169x300.jpg&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174146-169x300.jpg 169w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174146.jpg 540w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;   &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174156.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-13544&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174156-169x300.jpg&#34; alt=&#34;&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174156-169x300.jpg 169w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170222-174156.jpg 540w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;While we are very proud of the work we did with the CameraV and InformaCam projects, the end results was a complex application and novel data format that required a great deal of investment by any user or community that wished to adopt it.&lt;/em&gt; Furthermore, CameraV is an app that you have to decide and remember to use, in a moment of crisis. With ProofMode, we both wanted to simplify the adoption of the tool, and make it nearly invisible to the end-user, while making it the adoption of the tool by organizations painless through simple formats like CSV and known formats like PGP signatures.&lt;/p&gt;

&lt;p&gt;The source and direct APK downloads are available on Github: &lt;a href=&#34;https://github.com/guardianproject/proofmode&#34;&gt;https://github.com/guardianproject/proofmode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The beta release is also available today for Android phones on &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.witness.proofmode&#34;&gt;Google Play&lt;/a&gt;. We hope to have an iPhone version in beta in the next few months.&lt;/p&gt;

&lt;p&gt;We have also published a sample batch proof data set on Github here: &lt;a href=&#34;https://github.com/guardianproject/proofmode/tree/master/samples/sample-proof-1&#34;&gt;https://github.com/guardianproject/proofmode/tree/master/samples/sample-proof-1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our design goals included the following:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run all of the time in the background without noticeable battery, storage or network impact&lt;/li&gt;
&lt;li&gt;Provide a no-setup-required, automatic new user experience that works without requiring training&lt;/li&gt;
&lt;li&gt;Use strong cryptography for strong identity and verification features, but not encryption&lt;/li&gt;
&lt;li&gt;Produce “proof” sensor data formats that can be easily parse, imported by existing tools (CSV)&lt;/li&gt;
&lt;li&gt;Do not modify the original media files; all proof metadata storied in separate file&lt;/li&gt;
&lt;li&gt;Support chain of custody needs through automatic creation of sha256 hashes and PGP signatures&lt;/li&gt;
&lt;li&gt;Do not require a persistent identity or account generation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also were able to take advantage of the new Android “Quick Settings” developer API, to add a ProofMode toggle button right along side other system functions like Wifi, Location, Bluetooth and more. This fulfills a vision that WITNESS has had for a while in mainstreaming the concept of our prototype into mainstream adoption, giving every citizen journalist a quick mode to activate when their moment arrives.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170223-220633.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-13532 size-large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170223-220633-576x1024.png&#34; width=&#34;576&#34; height=&#34;1024&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170223-220633-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170223-220633-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170223-220633-768x1365.png 768w, https://guardianproject.info/wp-content/uploads/2017/02/Screenshot_20170223-220633.png 1080w&#34; sizes=&#34;(max-width: 576px) 100vw, 576px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;You can read a bit more in the project &lt;a href=&#34;https://github.com/guardianproject/proofmode/blob/master/README.md&#34;&gt;README&lt;/a&gt; on the workflow we imagine being used for all of this. What we hope is that the ProofMode app is simple and low impact enough that potential users will install and forget that it is there. It will go along doing its business quietly without fuss, until the user realizes they have taken a photo or video that might have some value as digital evidence. Then, using the SHARE PROOF action, they can send their proof dataset off to an organization, journalist, lawyer, or other advocate that would be able to verify the chain of custody and integrity of the files and proof using off the shelf OpenPGP and CSV visualization tools. While we have a bit more work to do making the verification and visualization process easier, we already have many partners at human rights organizations and in newsrooms who are skilled and capable of working with this kind of data today.&lt;/p&gt;

&lt;p&gt;If you’d like to learn more about the &lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;CameraV&lt;/a&gt; app and our collaboration with &lt;a href=&#34;https://witness.org&#34;&gt;WITNESS&lt;/a&gt; and &lt;a href=&#34;https://www.facebook.com/ColetivoPapoReto/&#34;&gt;Coletivo Papo Reto&lt;/a&gt; video activist group in Brazil, please watch this video below from the &lt;a href=&#34;http://www.aljazeera.com/programmes/rebelgeeks/2015/12/bigger-brother-151216102151145.html&#34;&gt;Al Jazeera “Rebel Geeks” documentary&lt;/a&gt;.&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/ssbezlRkxt8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>F-Droid now supports APK Expansion Files aka OBB</title>
      <link>https://guardianproject.info/2017/02/22/f-droid-now-supports-apk-expansion-files-aka-obb/</link>
      <pubDate>Wed, 22 Feb 2017 10:24:53 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/02/22/f-droid-now-supports-apk-expansion-files-aka-obb/</guid>
      <description>&lt;p&gt;Many games, mapping, and other apps require a large amount of data to work. The APK file of an Android app is limited to 100MB in size, yet it is common for a single country map file to be well over 100MB. Also, in order to get users running as quickly as possible, they should not have to wait for huge amounts of data to download in order to just start the app for the first time.&lt;/p&gt;

&lt;p&gt;Google created OBB aka “&lt;a href=&#34;https://developer.android.com/google/play/expansion-files.html&#34; target=&#34;_blank&#34;&gt;APK Expansion&lt;/a&gt;” files to provide a flexible means of delivering large amounts of data. This arragement also saves lots of bandwidth since app updates since the APK file and the OBB file can be updated separately. For example, a game’s assets do not need to change often, so they can be shipped as an OBB. Then when the app itself is updated (i.e. the APK), it does not need to include all those assets that are in the OBB file.&lt;/p&gt;

&lt;p&gt;OBB files are used by lots of apps like games and MAPS.ME. F-Droid supports OBB by downloading and installing the OBB before the APK, so that once the APK is installed, the OBB files are already in place and ready to use. F-Droid also provides an &lt;em&gt;Intent&lt;/em&gt; method for apps to fetch the OBB download URLs in case the app itself needs to handle the OBB download/update. That is similar to how it works in Google Play.&lt;/p&gt;

&lt;p&gt;In order to use the OBB support, users need at least F-Droid v0.102, and the repo must use &lt;em&gt;fdroidserver&lt;/em&gt; v0.7.0 or newer. Adding OBB files to a repo is very easy: just copy them to the same folder where the APKs go, i.e. &lt;em&gt;/path/to/fdroid/repo/&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer Usage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the details about using OBB files in apps is that OBB files are not guaranteed to be installed by the app store. That means the app could start, and the expected OBB files will not be there. In that case, the app must download and install the OBB file itself. Google Play recommends using their proprietary &lt;a href=&#34;https://developer.android.com/google/play/licensing/index.html&#34; target=&#34;_blank&#34;&gt;Application Licensing&lt;/a&gt; service for this, F-Droid provides a simple method that is all free software.&lt;/p&gt;

&lt;p&gt;To get the URL for the two possible OBB files, send an &lt;code&gt;Intent&lt;/code&gt; to F-Droid using these &lt;em&gt;Actions&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;org.fdroid.fdroid.action.GET_OBB_MAIN_URL&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;org.fdroid.fdroid.action.GET_OBB_PATCH_URL&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then download that URL using your favorite method, and make sure that the file ultimately ends up in &lt;em&gt;Android/obb/&amp;lt;packageName&amp;gt;&lt;/em&gt; on the device’s External Storage.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Build Your Own App Store: Android Media Distribution for Everyone</title>
      <link>https://guardianproject.info/2017/02/22/build-your-own-app-store-android-media-distribution-for-everyone/</link>
      <pubDate>Wed, 22 Feb 2017 09:45:11 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/02/22/build-your-own-app-store-android-media-distribution-for-everyone/</guid>
      <description>

&lt;p&gt;Most people get their Android apps from Google Play. It is usually the simplest and most secure option for them. But there are also many people who do not have access to Google Play. This might be due to lack of a proper internet connection or simply because Google Play is blocked within their country.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://f-droid.org/&#34;&gt;F-Droid&lt;/a&gt; project already offers &lt;a href=&#34;https://guardianproject.info/2015/06/02/building-a-trustworthy-app-store-that-respects-privacy/&#34;&gt;tools to create independent app distribution channels for Android apps&lt;/a&gt;. These tools are ready for production, but require expert knowledge and the command-line to be used. Now, we want to build upon this foundation and develop curation tools that can also be used by people with little technical knowledge, thus making the app distribution technology more broadly available.&lt;/p&gt;

&lt;h3 id=&#34;use-cases&#34;&gt;Use-Cases&lt;/h3&gt;

&lt;p&gt;The primary use-case we want to address is to circumvent app store censorship and blocking. But there are other use-cases that benefit from easy-to-setup app stores as well.&lt;/p&gt;

&lt;p&gt;There are Android phones and tablets that do not have Google Play available, either because their manufacturer did not get a license from Google or because their owners prefer their phones Google-free.&lt;/p&gt;

&lt;p&gt;Similar to Apple’s app store, the terms of service of Google Play exclude certain apps from being distributed and these are being removed on a regular basis. Having alternative means for distribution of apps is often the only way to bring those apps to people.&lt;/p&gt;

&lt;h3 id=&#34;features&#34;&gt;Features&lt;/h3&gt;

&lt;h4 id=&#34;core-features&#34;&gt;Core Features&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Create a new app repository&lt;/li&gt;
&lt;li&gt;Add new apps/media to the repository&lt;/li&gt;
&lt;li&gt;Update existing apps/media to the repository&lt;/li&gt;
&lt;li&gt;Update the description and metadata of apps/media&lt;/li&gt;
&lt;li&gt;Remove apps/media from the repository&lt;/li&gt;
&lt;li&gt;Automatic generation of repository website with QR Code (and instructions)&lt;/li&gt;
&lt;li&gt;Import apps directly from other repositories&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;optional-future-features&#34;&gt;Optional Future Features&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Archive apps/media to archive repository&lt;/li&gt;
&lt;li&gt;Remove installed apps/media from user’s devices&lt;/li&gt;
&lt;li&gt;Provide hosted web-app with user-management (Sign-Up, Lost Password) as a service&lt;/li&gt;
&lt;li&gt;Allow multiple curators to manage the same repository&lt;/li&gt;
&lt;li&gt;Import apps (and their description) from Google Play&lt;/li&gt;
&lt;li&gt;Check for updates from Google Play periodically and automatically import them&lt;/li&gt;
&lt;li&gt;Making the repository available through the Tor network&lt;/li&gt;
&lt;li&gt;Generate custom white-labelled repository app (based on F-Droid)&lt;/li&gt;
&lt;li&gt;App security scanner for vulnerable libraries and Virus Total (opt-in) upload&lt;/li&gt;
&lt;li&gt;App browsing and download on generated repository website&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;target-audience&#34;&gt;Target Audience&lt;/h3&gt;

&lt;p&gt;The main audience for this work are activists and trainers with moderate technical knowledge who need to securely distribute apps and updates to their community. This is especially a concern in countries where the official app store is blocked. Organizations like Amnesty International for example still need to enable people in those countries to securely receive their apps and updates.&lt;/p&gt;

&lt;p&gt;The person maintaining the repository might use any operating system and in some cases might not even have a laptop/desktop computer available. They might be targeted by advanced attackers that can intercept and insert arbitrary traffic, but do not have the ability to compromise large service providers such as Amazon.&lt;/p&gt;

&lt;p&gt;Furthermore, this work might also be used by the following groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;service providers (who want own distribution and update mechanism for their apps)&lt;/li&gt;
&lt;li&gt;individual software developers (who want to distribute beta releases for e.g. user-testing)&lt;/li&gt;
&lt;li&gt;everybody else who needs full control of the entire distribution and update process&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;implementation-options&#34;&gt;Implementation Options&lt;/h3&gt;

&lt;p&gt;There are roughly four different ways, the app store curation tool could be implemented. Each has their own pro and cons as well as different implications for the usability.&lt;/p&gt;

&lt;h4 id=&#34;command-line-interface&#34;&gt;Command-line interface&lt;/h4&gt;

&lt;p&gt;The current app repository tools are already used via the command-line, but they require some setup and several non-intuitive commands to be executed. The goal here would be to reduce the number of required commands as much as possible and make them easy to understand and remember. This would be similar to how Letsencrypt’s Certbot simplified SSL certificate management.&lt;/p&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;least amount of work building directly on existing tools&lt;/li&gt;
&lt;li&gt;signing key could be created and stored on local device&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;too difficult to use for people with no prior command-line experience&lt;/li&gt;
&lt;li&gt;off-putting and not inviting for potential non-expert curators&lt;/li&gt;
&lt;li&gt;adds little benefit to existing solution&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;cross-platform-desktop-application&#34;&gt;Cross-Platform Desktop Application&lt;/h4&gt;

&lt;p&gt;A graphical user interface (GUI) could be added to the existing tools to make them easier to use. Existing UI toolkits such as Qt, Gtk or Tcl/Tk could be used for this.&lt;/p&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;can make use of existing python tools&lt;/li&gt;
&lt;li&gt;signing key could be created and stored on local device&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;requires a desktop computer and installation procedure (possibly of dependencies as well)&lt;/li&gt;
&lt;li&gt;need to maintain and support install packages for Windows and MacOS&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;android-app&#34;&gt;Android App&lt;/h4&gt;

&lt;p&gt;The free software &lt;a href=&#34;https://f-droid.org&#34;&gt;F-Droid app&lt;/a&gt; already includes repository functionality used for direct app swapping. This could be modified to publish repositories to remote servers and extended by curation functionality. Alternatively, a new app could be developed that is dedicated to repository curation and could contrary to F-Droid even be distributed via Google Play.&lt;/p&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple installation&lt;/li&gt;
&lt;li&gt;No desktop computer required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Needs reimplementation of existing Python code in Java&lt;/li&gt;
&lt;li&gt;Signing key stored on potentially less secure mobile device&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;web-app&#34;&gt;Web App&lt;/h4&gt;

&lt;p&gt;The user interface for repository curation could be implemented as a web application that is accessed through a web browser. Low-risk curators could use a hosted instance for maximum simplicity while others could also access the interface through a local (built-in) web-server. Powerful web frameworks such as Flask or Django might be a good choice for that job.&lt;/p&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very easy to use from every device&lt;/li&gt;
&lt;li&gt;Does not need installation (lower usage barrier)&lt;/li&gt;
&lt;li&gt;Can make use of existing python tools&lt;/li&gt;
&lt;li&gt;Makes multi-curator feature potentially easier to implement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In hosted mode: signing keys need to be stored permanently on a web server&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;security-considerations&#34;&gt;Security Considerations&lt;/h3&gt;

&lt;h4 id=&#34;repository-attacks&#34;&gt;Repository Attacks&lt;/h4&gt;

&lt;p&gt;The technology used for app distribution needs to ensure the integrity and authenticity of apps provided in the repository. It can not prevent malicious apps from being &lt;em&gt;intentionally&lt;/em&gt; distributed, but can offer a security scanner to reduce the risk of unintentional distribution. An attack is considered successful when the content provided by the curator of the repository can be altered so that the changes propagate to users’ devices.&lt;/p&gt;

&lt;p&gt;Malicious apps might compromise the targeted application or the entire phones (root exploit). There are two defenses against unintentional distribution of malicious apps:&lt;/p&gt;

&lt;ol type=&#34;1&#34;&gt;
  &lt;li&gt;
    app package signatures: clients trust the provided app signature on first installation (TOFU) and refuse updates with a different signature.
  &lt;/li&gt;
  &lt;li&gt;
    repository signature: clients check signature when repository is installed and with every update. They warn and refuse operations with the repository when the signature is invalid.
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first defense is out of scope for this work, because app packages are signed when the app is built so that they are already signed when added to the repository. The repository curation should still not allow to publish an update that carries a different signature.&lt;/p&gt;

&lt;p&gt;The second defense needs to be provided automatically by the curation tools. A repository signing key needs to be created and securely stored. If this key is compromised, an attacker can modify app metadata and can inject modified apps for specific or all users when they install them for the first time. Malicious updates of already installed apps are prevented by above package signature.&lt;/p&gt;

&lt;p&gt;If the repository key is created and stored automatically by a service (see implementation option 4), the curator needs to trust the service and the hosting provider. Both need to be out of reach of attackers from the curators’ threat-model. For example, if the Guardian Project provides a repository service hosted in Amazon’s Cloud, this service should be out of reach of most attackers that have neither the ability to compromise the Guardian Project, nor Amazon. Advanced nation-state adversaries could compromise both and thus the repository. Recipients of apps need to trust their distributors/curators and their ability to keep their own system secure.&lt;/p&gt;

&lt;p&gt;However, we can generally not protect against attackers who has the ability to directly compromise the users’ devices. All that can be done is to prevent malicious applications from being installed &lt;em&gt;via the repository&lt;/em&gt; (without knowledge of the curator). If the attacker can compromise users’ devices through other means, this defense does not matter anymore.&lt;/p&gt;

&lt;h4 id=&#34;root-and-unknown-sources&#34;&gt;Root and Unknown Sources&lt;/h4&gt;

&lt;p&gt;In order to get content from the provided repository onto a generic device, the user needs to install F-Droid which requires allowing the installation of apps from unknown sources. This can put the user at risk, because it makes installing malicious application very easy. Alternatively, super user privileges (root) can be used to install F-Droid’s system extension effectively trusting all apps installed via F-Droid. However, the security risks associated with super user privileges are even more severe as they can lead to compromise of the entire device.&lt;/p&gt;

&lt;h4 id=&#34;lack-of-updates&#34;&gt;Lack of Updates&lt;/h4&gt;

&lt;p&gt;If a repository is the user’s sole source for an application, any delay in providing updates might put the user at risk of an adversary exploiting a vulnerability in that application that would have otherwise been fixed by the missing update.&lt;/p&gt;

&lt;h3 id=&#34;what-we-will-do&#34;&gt;What We Will Do&lt;/h3&gt;

&lt;p&gt;The main goal of the curation tools is to make creating and maintaining repositories as easy as possible for our target audience.&lt;/p&gt;

&lt;p&gt;This rules out the command line and the desktop application, since today’s user experience expectations are no longer being fulfilled by these technologies. While a desktop application comes closer, the need for an installation procedure and for maintaining it for different operating systems makes it too difficult and error-prone compared to the two other remaining options.&lt;/p&gt;

&lt;p&gt;Implementing the curation tools within an Android application has its merits. It comes with an easy installation procedure, provides a familiar state-of-the-art user interface and allows apps to be added directly from the curators’ device. However, some existing functionality would need to be reimplemented in Java and maintained along-side the existing Python codebase. Also the curator needs to provide an external storage location for the repository which can be a barrier for many users and needs its own documentation.&lt;/p&gt;

&lt;p&gt;The easiest and most flexible solution is a web-application based on the existing Python tools. More advanced curators can use it on a local desktop computer with a built-in web-server just like a desktop application, only that the UI is in the browser. This usage scenario comes with the same pros and cons like the desktop application. The repository signing key for example is stored locally under the curator’s control.&lt;/p&gt;

&lt;p&gt;But it allows for other usage scenarios as well. If installed on a trusted web-server as a service, the curation tools can also be used by curators with little technical knowledge. The curators don’t need to install anything and can use them from any device. They can even switch devices without a data migration. However, they would need to give up control over the signing key.&lt;/p&gt;

&lt;p&gt;If time permits, the app store creator can be turned into a full repository service that allows user registrations and several repositories per user. A trusted organization such as the Guardian Project could host this as a service and provide it to an activist community. Software freedom would allow other organizations to host their own repository services as well. You can imagine the activist collective Riseup for example not only hosting its own repository of recommended apps, but also allowing its users to create and curate their own repositories.&lt;/p&gt;

&lt;p&gt;This becomes even more interesting when people fill their repositories not only with apps, but with all sorts of files such as books, music and photos.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How can we learn without watching?</title>
      <link>https://guardianproject.info/2017/01/30/how-can-we-learn-without-watching/</link>
      <pubDate>Mon, 30 Jan 2017 14:40:05 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/01/30/how-can-we-learn-without-watching/</guid>
      <description>&lt;p&gt;What kind of measurement, tracking or analytics do you use, and can you sleep at night with your decision?&lt;/p&gt;

&lt;p&gt;As part of the &lt;a href=&#34;https://berkmankleinassembly.org/&#34;&gt;Berkman-Klein Assembly&lt;/a&gt; program at Harvard, I am working with a team to imagine a next-generation mobile and IoT analytics system that has privacy, confidentiality and anonymity at its core. The hope is we can find ways to learn what our users like and understand how our apps are performing without having to rely on proprietary cloud services, logging liability, network vulnerabilities, and invasive app permissions.&lt;/p&gt;

&lt;p&gt;With that in mind, we want to hear from you, as a developers and users interested in private, free and secure applications and devices, to understand the compromises you are making today. Please answer the questions below, and optionally provide your contact information, so we can get in touch with you for further help developing this new idea.&lt;/p&gt;

&lt;p&gt;(the survey is now closed, thanks!)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Image By Dave Morice Uploaded by Mkacer at en.wikipedia (Author  Transferred from en.wikipedia by SreeBot) [CC BY-SA 3.0 (&lt;a href=&#34;http://creativecommons.org/licenses/by-sa/3.0)&#34;&gt;http://creativecommons.org/licenses/by-sa/3.0)&lt;/a&gt;], via Wikimedia Commons&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Imagining the challenges of developers in repressive environments</title>
      <link>https://guardianproject.info/2017/01/26/imagining-the-challenges-of-developers-in-repressive-environments/</link>
      <pubDate>Thu, 26 Jan 2017 09:56:59 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/01/26/imagining-the-challenges-of-developers-in-repressive-environments/</guid>
      <description>

&lt;p&gt;The Guardian Project team spends a lot of time thinking about users. In our work we focus on easy-to-use applications for users in high-risk scenarios. Because of this we are very focused on security. In our current work with the FDroid community to make it a secure, streamlined, and verifiable app distribution channel for high-risk environments we have started to become &lt;a href=&#34;https://guardianproject.info/2015/02/24/phishing-for-developers/&#34;&gt;more aware&lt;/a&gt; of the challenges and risks facing software developers who build software in high-risk environments.&lt;/p&gt;

&lt;p&gt;There are a wealth of resources available on how to support and collaborate with high-risk users. Unsurprisingly, we could not find any guidance on how to support and collaborate with developers in repressive environments, let alone developers who are put at high-risk because of the software they develop. So, we have started conducting “user research” with developers from a range of repressive environments.&lt;/p&gt;

&lt;p&gt;We started our user research by conducting surveys and interviews with Internet Freedom donors, developers, and CSOs about the challenges of being a, or working with, software developers in places where the internet is heavily monitored and filtered. We did this for two reasons. First, we want to make sure that the output produced is valuable to our target audience. Second, we wanted to see how this community viewed the challenges that these developers face. We are a little over ¾ done with our interviews and decided to share some initial thoughts from our interviews alongside that initial survey research.&lt;/p&gt;

&lt;h3 id=&#34;how-to-read-the-survey-results&#34;&gt;How to read the survey results&lt;/h3&gt;

&lt;p&gt;Each of the plots below shows how survey respondents ranked the level of challenge or negative impact specific factors had on the different phases of the development life-cycle. The survey split these rankings into categories that included the design (&lt;strong&gt;Des&lt;/strong&gt;) and development (&lt;strong&gt;Dev&lt;/strong&gt;) of software; deploying (&lt;strong&gt;Dep&lt;/strong&gt;) and maintaining (&lt;strong&gt;Maint&lt;/strong&gt;) software; and general threats (&lt;strong&gt;Thrt&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;Participants were also asked to provide some basic information about their relationship to developers in repressive environments. We did this to explore the ways that experience might impact how some groups evaluate the challenges faced by developers in repressive environments. Using their answers we split the results into six groups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At Risk&lt;/strong&gt;: The type of of software development they, or those they interact with, could put either of them at risk.&lt;br /&gt;
&lt;strong&gt;Censor/Surv&lt;/strong&gt;: They are based in a place where the internet is heavily monitored filtered.&lt;br /&gt;
&lt;strong&gt;Not Censor/Surv&lt;/strong&gt;: They are not based in a place where the internet is heavily monitored filtered.&lt;br /&gt;
&lt;strong&gt;Collab&lt;/strong&gt;: They collaborate, support, or work with developers who are based in a place where the internet is heavily monitored or filtered.&lt;br /&gt;
&lt;strong&gt;Dev&lt;/strong&gt;: They develop Software&lt;br /&gt;
&lt;strong&gt;All&lt;/strong&gt;: Everyone who was surveyed.&lt;/p&gt;

&lt;p&gt;The initial survey was not designed to create accurate comparisons between groups who were surveyed and the data visualizations do not reflect the number of participants who declined to answer specific questions. It is also important to note that we asked participants to fill out the survey based upon the regions that they work in. Because of the possible identifying nature of participants responses we did not ask them to identify what regions those were. This had led to a wide variation in many of the responses.&lt;/p&gt;

&lt;h3 id=&#34;infrastructure&#34;&gt;Infrastructure&lt;/h3&gt;

&lt;p&gt;Infrastructure plays a critical role in technological development. Software development, distribution, and use require an interconnected world of infrastructure. Only a small portion of this infrastructure is controlled and maintained by the developer. They also rely on a range of public and private infrastructure to provides power, connectivity, and financial support.&lt;/p&gt;

&lt;p&gt;To explore these topics we first asked about the challenge that barriers to Internet access played in the design (&lt;strong&gt;Des&lt;/strong&gt;) and development (&lt;strong&gt;Dev&lt;/strong&gt;) of software for developers in high-risk environments. Generally, respondents thought that it was a greater challenge for developers to design software for these environments than to conduct development in these environments.&lt;/p&gt;

&lt;div id=&#34;attachment_13476&#34; style=&#34;width: 1011px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/12/bandwidth.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13476&#34; class=&#34;wp-image-13476 size-full&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/12/bandwidth.png&#34; width=&#34;1001&#34; height=&#34;285&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/12/bandwidth.png 1001w, https://guardianproject.info/wp-content/uploads/2016/12/bandwidth-300x85.png 300w, https://guardianproject.info/wp-content/uploads/2016/12/bandwidth-768x219.png 768w&#34; sizes=&#34;(max-width: 1001px) 100vw, 1001px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13476&#34; class=&#34;wp-caption-text&#34;&gt;
    Internet/data bandwidth, connectivity, and/or cost
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;In our interviews we have heard that barriers to internet access can make it difficult to learn how to develop software and to easily get the libraries, documentation, and support that make developing software easier. It is not a universal challenge. Access varies widely depending upon the developer’s region. When it is a barrier it is often one of the largest barriers that is faced. We were happy to find that the challenges of designing software for users in areas with barriers to Internet access is one area where there is &lt;a href=&#34;https://developers.google.com/billions/&#34;&gt;existing guidance&lt;/a&gt; for developers in these regions.&lt;/p&gt;

&lt;p&gt;We also asked how a developer’s own infrastructure led to challenges when developing (&lt;strong&gt;Dev&lt;/strong&gt;), deploying (&lt;strong&gt;Dep&lt;/strong&gt;), and maintaining (&lt;strong&gt;Maint&lt;/strong&gt;) software.&lt;/p&gt;

&lt;div id=&#34;attachment_13477&#34; style=&#34;width: 1011px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/12/dev_infra.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13477&#34; class=&#34;size-full wp-image-13477&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/12/dev_infra.png&#34; alt=&#34;&#34; width=&#34;1001&#34; height=&#34;285&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/12/dev_infra.png 1001w, https://guardianproject.info/wp-content/uploads/2016/12/dev_infra-300x85.png 300w, https://guardianproject.info/wp-content/uploads/2016/12/dev_infra-768x219.png 768w&#34; sizes=&#34;(max-width: 1001px) 100vw, 1001px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13477&#34; class=&#34;wp-caption-text&#34;&gt;
    Developer Infrastructure (e.g Hosting, setup, security, software)
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;This topic, like barriers to internet access, had widely varying responses in the Interviews depending on the region the developer was based in. Unlike internet access, where technology was the root of the challenges the responses to these questions showed that legal challenges were the root of hosting challenges. In regions where international sanctions were in place this was a greater concern in the everyday experience of developers. Data localization was another more recent legal concern that was brought up in the interviews.&lt;/p&gt;

&lt;p&gt;Financial infrastructure and other economic challenges can impact various stages of the software lifecycle. Even FOSS developers need to make a living. To look at financial infrastructure we asked if access to payment systems was a challenge when designing (&lt;strong&gt;Des&lt;/strong&gt;) and developing (&lt;strong&gt;Dev&lt;/strong&gt;) software. We also asked about general challenges to monetizing and earning revenue when maintaining software and supporting users (&lt;strong&gt;Maint&lt;/strong&gt;).&lt;/p&gt;

&lt;div id=&#34;attachment_13478&#34; style=&#34;width: 1011px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/12/money.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13478&#34; class=&#34;size-full wp-image-13478&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/12/money.png&#34; alt=&#34;&#34; width=&#34;1001&#34; height=&#34;285&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/12/money.png 1001w, https://guardianproject.info/wp-content/uploads/2016/12/money-300x85.png 300w, https://guardianproject.info/wp-content/uploads/2016/12/money-768x219.png 768w&#34; sizes=&#34;(max-width: 1001px) 100vw, 1001px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13478&#34; class=&#34;wp-caption-text&#34;&gt;
    Economics (payment, monetizing, &amp; earning revenue)
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;As with many of the other questions payment and monetization challenges vary widely by region. Interviewers from areas with economic sanctions spoke of monetization as a greater challenge than any other group of interviewees. Because economic challenges vary so widely, we will hold off on discussing them in more depth until we are done with our analysis.&lt;/p&gt;

&lt;h3 id=&#34;localization&#34;&gt;Localization&lt;/h3&gt;

&lt;p&gt;Many developers face challenges far before they have to worry about their infrastructure. Not only are a majority of programming languages in English, many of the textbooks used to teach software development are in English as well. We asked our survey participants if localized software libraries, platforms, or developer documentation were a challenge for developers in high-risk environments when they were designing (&lt;strong&gt;Des&lt;/strong&gt;), developing (&lt;strong&gt;Dev&lt;/strong&gt;), and deploying (&lt;strong&gt;Dep&lt;/strong&gt;) software.&lt;/p&gt;

&lt;div id=&#34;attachment_13479&#34; style=&#34;width: 1011px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/12/localization.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13479&#34; class=&#34;size-full wp-image-13479&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/12/localization.png&#34; alt=&#34;&#34; width=&#34;1001&#34; height=&#34;285&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/12/localization.png 1001w, https://guardianproject.info/wp-content/uploads/2016/12/localization-300x85.png 300w, https://guardianproject.info/wp-content/uploads/2016/12/localization-768x219.png 768w&#34; sizes=&#34;(max-width: 1001px) 100vw, 1001px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13479&#34; class=&#34;wp-caption-text&#34;&gt;
    Localization of software libraries, platforms, or developer documentation
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Access to localized content was seen as a primary concern in almost every interview we have had with developers. In multiple interviews basic English language skills were even described as a requirement for any software development. Even developers with basic technical English skills spoke about the challenges of finding the appropriate tools and libraries because the descriptive documentation was difficult to skim. The lack of multi-language books, blog-posts, and forums also impedes access to best-practices and developer guidance.&lt;/p&gt;

&lt;h3 id=&#34;targeted-attacks&#34;&gt;Targeted Attacks&lt;/h3&gt;

&lt;p&gt;Attacks that focus on compromising the user through counterfeit software pirated by a user are not new. But, increased secondary and local markets for apps increase the possible otherwise legitimate locations where a malicious counterfeits of apps can be uploaded. We asked questions about impact of possible malicious counterfeit versions of their software being produced on how developers their design (&lt;strong&gt;Des&lt;/strong&gt;) and deploy (&lt;strong&gt;Dep&lt;/strong&gt;) their software. Targeted attacks against developers can be used to compromise their otherwise legitimate software to to deliver malicious content. We also asked about the challenges related to possible backdoors in the software or developer tools they used (&lt;strong&gt;Thrt&lt;/strong&gt;).&lt;/p&gt;

&lt;div id=&#34;attachment_13480&#34; style=&#34;width: 967px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/12/malicious.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13480&#34; class=&#34;size-full wp-image-13480&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/12/malicious.png&#34; alt=&#34;&#34; width=&#34;957&#34; height=&#34;285&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/12/malicious.png 957w, https://guardianproject.info/wp-content/uploads/2016/12/malicious-300x89.png 300w, https://guardianproject.info/wp-content/uploads/2016/12/malicious-768x229.png 768w&#34; sizes=&#34;(max-width: 957px) 100vw, 957px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13480&#34; class=&#34;wp-caption-text&#34;&gt;
    Malicious &amp; Counterfeit Software
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Only a couple of the developers we interviewed expressed concern about malicious counterfeit versions of their applications.&lt;/p&gt;

&lt;p&gt;While targeted attacks were acknowledged by some interviewees, most described the insertion of backdoors as less likely than targeted threats that aimed at stopping the developer from continuing development. The initial survey asked about the challenge of developer account shutdown and/or seizures during development (&lt;strong&gt;Dev&lt;/strong&gt;) and take-down requests (&lt;strong&gt;Thrt&lt;/strong&gt;) because of content restrictions, defamation laws, copyright claims, etc.&lt;/p&gt;

&lt;div id=&#34;attachment_13481&#34; style=&#34;width: 967px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/12/takedown.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13481&#34; class=&#34;size-full wp-image-13481&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/12/takedown.png&#34; alt=&#34;&#34; width=&#34;957&#34; height=&#34;285&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/12/takedown.png 957w, https://guardianproject.info/wp-content/uploads/2016/12/takedown-300x89.png 300w, https://guardianproject.info/wp-content/uploads/2016/12/takedown-768x229.png 768w&#34; sizes=&#34;(max-width: 957px) 100vw, 957px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13481&#34; class=&#34;wp-caption-text&#34;&gt;
    Account shutdown and/or seizures during development or software take-down requests
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The in-platform censorship we surveyed for was seen as far less a challenge in the interviews. Interviewees were far more concerned about the possibility of real-world legal censorship or harassment. When asked how developers addressed their perceived threats many of the interviewees noted that developers go beyond technological measures to protect themselves. Many also rely heavily on the strategic use of pseudonyms and other operational security measures.&lt;/p&gt;

&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;With our interviews nearly complete it is interesting to look back at, what seemed like, wide disagreement at the time of the survey as an indicator of how important local context is to the challenges and threats faced by developers in repressive societies. Over the next couple of months we will be building user personas that synthesize and codify our findings. We hope these personas will help other individuals and organizations working on internet freedom issues to think about how they can structure their projects to support and collaborate with developers in repressive environments in safe and productive ways.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>New Partnership with Circle of 6 mobile safety app</title>
      <link>https://guardianproject.info/2017/01/19/new-partnership-with-circle-of-6-mobile-safety-app/</link>
      <pubDate>Thu, 19 Jan 2017 06:00:34 -0400</pubDate>
      
      <guid>https://guardianproject.info/2017/01/19/new-partnership-with-circle-of-6-mobile-safety-app/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Circle of 6 Focuses on Security with Guardian Project Partnership&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Safety App Will Get End-to-End Encryption and More To Support High-Risk Communities&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New York, NY:&lt;/strong&gt; &lt;span style=&#34;font-weight: 400;&#34;&gt;Two innovative organizations have partnered to bring increased digital security and privacy capabilities to users interested in improved safety for their mobile devices. Tech 4 Good, the developer of Circle of 6, a highly regarded mobile safety app developed to promote safety and health through networks of trust, has partnered with Guardian Project, a leader in mobile security and privacy technologies. The two organizations will work to upgrade the capabilities of the Circle of 6 app to provide users with secure messaging, private identities and improved physical security of device data.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone wp-image-13488 size-large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2017/01/Co6-Screens-1024x921.png&#34; width=&#34;945&#34; height=&#34;850&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2017/01/Co6-Screens-1024x921.png 1024w, https://guardianproject.info/wp-content/uploads/2017/01/Co6-Screens-300x270.png 300w, https://guardianproject.info/wp-content/uploads/2017/01/Co6-Screens-768x691.png 768w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Circle of 6 is coordinating with a number of organizations interested in expanding the focus of the app beyond general safety and defense against sexual violence, to include other high risk communities. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;“Circle of 6 is excited to forge this partnership with Guardian Project to bring increased privacy and security to our existing users and to new communities. We’ve received much interest globally in expanding the ways that Circle of 6 and its safety and connectivity features can be used in multiple contexts. This a thrilling step forward.”&lt;/span&gt;&lt;/em&gt; &lt;em&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;– Nancy Schwartzman&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Guardian Project will integrate its free and open-source software libraries to provide support for &lt;a href=&#34;https://guardianproject.info/2016/01/12/panickit-making-your-whole-phone-respond-to-a-panic-button/&#34;&gt;multiple emergency hardware triggers&lt;/a&gt;, more &lt;a href=&#34;https://guardianproject.info/code/netcipher&#34;&gt;secure network communication&lt;/a&gt;, and defense against surveillance and censorship.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Updated and new versions of the app will be available by May 1, 2017. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Circle of 6:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Circle of 6 is a survivor-led and queer-led initiative, that takes a public health and harm-reduction approach to personal safety. Drawing from the experience of sexual assault survivors, youth health experts and LGBTQ users, Circle of 6 is designed to foster communities of support, encourage bystander intervention and provide inclusive and comprehensive resources. Circle of 6 was the winner of Vice President Biden’s “Apps Against Abuse” technology challenge and has 350,000 users in 36 countries.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Guardian Project:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Guardian Project creates easy to use secure apps, open-source software libraries, and customized mobile dev&lt;/span&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;ices&lt;/span&gt; &lt;span style=&#34;font-weight: 400;&#34;&gt;that can be used around the world by any person looking to protect their communications and personal data from unjust intrusion, interception and monitoring. With over 10 million users of its applications, and 100 million of its software libraries, Guardian Project has made a significant impact in improving the security and privacy of mobile users worldwide.&lt;/span&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orfox 1.2.1 released</title>
      <link>https://guardianproject.info/2016/12/02/orfox-1.2.1-released/</link>
      <pubDate>Fri, 02 Dec 2016 00:50:40 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/12/02/orfox-1.2.1-released/</guid>
      <description>&lt;p&gt;We’ve released a new version of &lt;a href=&#34;https://guardianproject.info/apps/orfox/&#34;&gt;Orfox&lt;/a&gt;, our Tor Browser for Android, that contains an an &lt;a href=&#34;https://blog.mozilla.org/security/2016/11/30/fixing-an-svg-animation-vulnerability/&#34; rel=&#34;nofollow&#34;&gt;important security update to Firefox&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This update is based on the &lt;a href=&#34;https://blog.torproject.org/blog/tor-browser-607-released&#34;&gt;latest release of Tor Browser&lt;/a&gt;, which was announced with this message:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The security flaw responsible for this urgent release is already actively exploited on Windows systems. Even though there is currently, to the best of our knowledge, no similar exploit for OS X or Linux users available the underlying bug affects those platforms as well. Thus &lt;strong&gt;we strongly recommend that all users apply the update to their Tor Browser immediately.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The release has been &lt;a href=&#34;https://github.com/guardianproject/Orfox/releases/tag/Fennec-45.5.1esr%2FTorBrowser-6.5-1%2FOrfox-1.2.1&#34;&gt;tagged on Github&lt;/a&gt; and you can find the signed, release APKs there. The update has also been pushed to &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.orfox&#34;&gt;Google Play&lt;/a&gt;, and should be rolling out over the next few hours. We will also be updating our &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid repo&lt;/a&gt; in the next 24 hours.&lt;/p&gt;

&lt;p&gt;Finally, this marks the first time we have released an update of Orfox within 24 hours of a release of Tor Browser. We will continue to aim for this goal moving forward for both ongoing releases and critical updates.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Services</title>
      <link>https://guardianproject.info/services/</link>
      <pubDate>Mon, 14 Nov 2016 23:58:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/services/</guid>
      <description>

&lt;p&gt;We offer services for-hire for a variety of work related to our mission, projects and code-base.&lt;/p&gt;

&lt;p&gt;We have deployed fully secure service infrastructures for mobile devices, from client to server, using open protocols and standards, such as XMPP+OMEMO and SIP+ZRTP. We utilize and promote the adoption of public, transparent collaborative development processes, built on Git (Gitlab, Github), Continuous Integration (Travis, Gitlab-CI), test driven development practices, and public communications channels like mailing lists and secure group messaging.&lt;/p&gt;

&lt;p&gt;We build software with modularity in mind, utilizing Gradle (Android), CocoaPods (iOS), NPM and other systems, to build upon, or create if needed, reusable, testable, reproducible code libraries. Finally, we offer usability testing, quality assurance, and release acceptance processes, to ensure we are effectively delivering upon the desired enhancements and product roadmap.&lt;/p&gt;

&lt;h2 id=&#34;engagement-team&#34;&gt;Engagement Team&lt;/h2&gt;

&lt;p&gt;Our team is made of product leads, software developers, user experience designers, and user advocates who have been working in mobile application and platform development for over twenty years. For the past nine years, as Guardian Project, we have focused equally on developing our own technology, while fostering deep partnerships with human rights and activists organizations in need of our services. This includes engaging deeply with partners’ staff to uplift their knowledge and skill set to be able to support their technical programs long term. We have also worked to incubate mobile support for keyprivacy technologies such as Tor, GnuPG, OTR, SQLCipher and Debian, where interest in emerging platforms directly within the communities themselves was nascent.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Engagement Manager: Works with client to define needs, scope, milestones and schedule&lt;br /&gt;
Solution Architect: Works with all parties to design the solution specification and specific tickets&lt;/li&gt;
&lt;li&gt;Mobile Developer: Implementations features, enhancements, bug fixes for mobile software, working in concert and constant review with client and entire team&lt;/li&gt;
&lt;li&gt;Systems Developer (SysAdmin, DevOps): Implementations server/infrastructure features, configurations, images, scripts, as well as security controls, access protocol, etc.&lt;/li&gt;
&lt;li&gt;Quality Assurance / Testing: Tracks progress by development teams, provide QA feedback, and handles acceptance testing for all features, enhancements, bug fixes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;menu-of-services&#34;&gt;Menu of Services&lt;/h2&gt;

&lt;p&gt;Some examples of work we do for hire include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration of secure data and media storage into a mobile app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assist the application’s development team to define (architect) how application data and media can be stored safely.  Two mechanisms exist: SQL database storage (using API that closely mimics SQL) and file system (using API that matches the existing file system API).  Development team will require assistance with acquiring the libraries and integrating them into their build environment. Development team will likely need assistance with debug methodologies, management of encryption keys, safe error logging and reporting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration of Secure Messaging features into mobile app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Integrate secure messaging and notification features into a mobile app, using Signal protocol through OMEMO, XMPP open protocol messaging, and XMPP Cloud Notify (ChatSecure Push). Implement system for adding and communicating with contacts through a pseudonymous identity, not tied to real names, phone number or email. Optionally implement communication through censorship and surveillance resistant transports such as Tor or Pluggable Transports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration of PanicKit into an Android mobile app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assist the application’s development team in handling “panic” signals from a Panic trigger application, thus allowing the developer’s app to support emergency data delete, app hiding, SOS message alerts. Also, optionally, integrate Panic trigger capabilities into their app, to support unique methods for trigger (hardware, location, motion).  Development team will require assistance with acquiring the libraries and integrating them into their build environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kit-out a set of Android phones for delivery to a project team&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to define a special configuration of security and operational software to be delivered on a specific type of Android device likely based on Copperhead (or other secure OS) such that all team members have a unified base experience and secure environment.  These devices would all be “backed” by a unique (predefined) custom F-Droid software distribution that would, in daily operation, keep the on-board software up to date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set up a secure and private XMPP communication endpoint for an organization or project team&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to set up a secure, XMPP Infrastructure, Ansible-scripted for maintenance and upgrade, with minimal logging, for production use by the organization or team.  The configuration would be production tested, scalable and distributable (to multiple geographics, IP ranges, or domains) depending on organization size and needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Establish a Pluggable Transport service for a defined user group on behalf of a single organization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to setup, configure and provide maintenance for a defined and specific circumvention service (e.g., Meek, ShadowSocks, Wireguard) to be offered by an organization for a specific community of users.   The configuration would be production tested and scalable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile application and system threat modeling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to work with an application (or system/service) development team to understand the types of internal and external threats that could impact them, then architect solutions for combating those threats (to be ultimately implemented in software, procedures or training) by the application or system team.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Services</title>
      <link>https://guardianproject.info/services/</link>
      <pubDate>Mon, 14 Nov 2016 23:58:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/services/</guid>
      <description>

&lt;p&gt;We offer services for-hire for a variety of work related to our mission, projects and code-base.&lt;/p&gt;

&lt;p&gt;We have deployed fully secure service infrastructures for mobile devices, from client to server, using open protocols and standards, such as XMPP+OMEMO and SIP+ZRTP. We utilize and promote the adoption of public, transparent collaborative development processes, built on Git (Gitlab, Github), Continuous Integration (Travis, Gitlab-CI), test driven development practices, and public communications channels like mailing lists and secure group messaging.&lt;/p&gt;

&lt;p&gt;We build software with modularity in mind, utilizing Gradle (Android), CocoaPods (iOS), NPM and other systems, to build upon, or create if needed, reusable, testable, reproducible code libraries. Finally, we offer usability testing, quality assurance, and release acceptance processes, to ensure we are effectively delivering upon the desired enhancements and product roadmap.&lt;/p&gt;

&lt;h2 id=&#34;engagement-team&#34;&gt;Engagement Team&lt;/h2&gt;

&lt;p&gt;Our team is made of product leads, software developers, user experience designers, and user advocates who have been working in mobile application and platform development for over twenty years. For the past nine years, as Guardian Project, we have focused equally on developing our own technology, while fostering deep partnerships with human rights and activists organizations in need of our services. This includes engaging deeply with partners’ staff to uplift their knowledge and skill set to be able to support their technical programs long term. We have also worked to incubate mobile support for keyprivacy technologies such as Tor, GnuPG, OTR, SQLCipher and Debian, where interest in emerging platforms directly within the communities themselves was nascent.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Engagement Manager: Works with client to define needs, scope, milestones and schedule&lt;br /&gt;
Solution Architect: Works with all parties to design the solution specification and specific tickets&lt;/li&gt;
&lt;li&gt;Mobile Developer: Implementations features, enhancements, bug fixes for mobile software, working in concert and constant review with client and entire team&lt;/li&gt;
&lt;li&gt;Systems Developer (SysAdmin, DevOps): Implementations server/infrastructure features, configurations, images, scripts, as well as security controls, access protocol, etc.&lt;/li&gt;
&lt;li&gt;Quality Assurance / Testing: Tracks progress by development teams, provide QA feedback, and handles acceptance testing for all features, enhancements, bug fixes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;menu-of-services&#34;&gt;Menu of Services&lt;/h2&gt;

&lt;p&gt;Some examples of work we do for hire include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration of secure data and media storage into a mobile app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assist the application’s development team to define (architect) how application data and media can be stored safely.  Two mechanisms exist: SQL database storage (using API that closely mimics SQL) and file system (using API that matches the existing file system API).  Development team will require assistance with acquiring the libraries and integrating them into their build environment. Development team will likely need assistance with debug methodologies, management of encryption keys, safe error logging and reporting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration of Secure Messaging features into mobile app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Integrate secure messaging and notification features into a mobile app, using Signal protocol through OMEMO, XMPP open protocol messaging, and XMPP Cloud Notify (ChatSecure Push). Implement system for adding and communicating with contacts through a pseudonymous identity, not tied to real names, phone number or email. Optionally implement communication through censorship and surveillance resistant transports such as Tor or Pluggable Transports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration of PanicKit into an Android mobile app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assist the application’s development team in handling “panic” signals from a Panic trigger application, thus allowing the developer’s app to support emergency data delete, app hiding, SOS message alerts. Also, optionally, integrate Panic trigger capabilities into their app, to support unique methods for trigger (hardware, location, motion).  Development team will require assistance with acquiring the libraries and integrating them into their build environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kit-out a set of Android phones for delivery to a project team&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to define a special configuration of security and operational software to be delivered on a specific type of Android device likely based on Copperhead (or other secure OS) such that all team members have a unified base experience and secure environment.  These devices would all be “backed” by a unique (predefined) custom F-Droid software distribution that would, in daily operation, keep the on-board software up to date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set up a secure and private XMPP communication endpoint for an organization or project team&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to set up a secure, XMPP Infrastructure, Ansible-scripted for maintenance and upgrade, with minimal logging, for production use by the organization or team.  The configuration would be production tested, scalable and distributable (to multiple geographics, IP ranges, or domains) depending on organization size and needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Establish a Pluggable Transport service for a defined user group on behalf of a single organization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to setup, configure and provide maintenance for a defined and specific circumvention service (e.g., Meek, ShadowSocks, Wireguard) to be offered by an organization for a specific community of users.   The configuration would be production tested and scalable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile application and system threat modeling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The task here is to work with an application (or system/service) development team to understand the types of internal and external threats that could impact them, then architect solutions for combating those threats (to be ultimately implemented in software, procedures or training) by the application or system team.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>“If This, Then Panic!” Sample Code for Triggering Emergency Alerts</title>
      <link>https://guardianproject.info/2016/10/17/if-this-then-panic-sample-code-for-triggering-emergency-alerts/</link>
      <pubDate>Mon, 17 Oct 2016 09:55:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/10/17/if-this-then-panic-sample-code-for-triggering-emergency-alerts/</guid>
      <description>&lt;p&gt;Earlier this year, we announced the &lt;a href=&#34;https://guardianproject.info/2016/01/12/panickit-making-your-whole-phone-respond-to-a-panic-button/&#34;&gt;PanicKit Library for Android&lt;/a&gt; and &lt;a href=&#34;https://dev.guardianproject.info/news/257&#34;&gt;Ripple&lt;/a&gt;, our basic app for alerts any compatible app that you are in an emergency situation. Rather than build a solitary, enclosed “panic button” app that only can provide a specific set of functionality, we decided, as we often do, to build a framework, and encourage others to participate. Since then, we’ve had &lt;a href=&#34;https://dev.guardianproject.info/projects/panic/news&#34;&gt;over 10 different apps implement PanicKit r&lt;/a&gt;esponder functionality, including Signal, OpenKeyChain, Umbrella app, StoryMaker and Zom.&lt;/p&gt;

&lt;p&gt;It is great to have so many apps implement helpful features for users to react during an emergency situation. This might include sending an emergency message, putting sensitive data behind a password, hiding the app icon, or even wiping data. All of this can be triggered by a simple tap and swipe on the Ripple’s app user interface.&lt;/p&gt;

&lt;p&gt;However, we would like to promote PanicKit trigger functionality that goes beyond something a user has to actively do, or at least obviously do. In many emergency scenarios, the user might be unable to actively trigger a panic, because they are unconscious, detained or have had their device taken away. In some cases, the activation may need to be subtle, such typing an incorrect phone number. In others, rapidly pressing a button or shaking the phone, may be safer and easier than unlocking your device and using an app.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone size-thumbnail&#34; src=&#34;https://media.giphy.com/media/K673Q5D4KGWAg/giphy.gif&#34; alt=&#34;&#34; width=&#34;738&#34; height=&#34;415&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;a truly panic-inducing situation&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;PanicKit works by connecting trigger apps with receiver apps. Triggers are what create the alert that there is an emergency or panic situation. Responders receive the alert, and take an appropriate, user configured or default action.&lt;/p&gt;

&lt;p&gt;The new &lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples&#34;&gt;PanicKitSamples project&lt;/a&gt; demonstrates new possible triggers that could be implemented in an app like Ripple, or any app that wishes to do so. In the &lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/tree/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers&#34;&gt;“info.guardianproject.fakepanicbutton.triggers”&lt;/a&gt; package, you will find the following classes:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/blob/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers/BaseTrigger.java#L40&#34;&gt;BaseTrigger&lt;/a&gt;: a base class that handles launching of the “panic intent” from a set of stored preferences to trigger the responders&lt;/p&gt;

&lt;pre&gt;public static void launchPanicIntent (Context context)
{
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());

    String email = prefs.getString(&#34;email&#34;,null);
    String phone = prefs.getString(&#34;phone&#34;,null);
    String subject = prefs.getString(&#34;subject&#34;,&#34;panic message&#34;);
    String message = prefs.getString(&#34;message&#34;,&#34;i triggered a panic!&#34;);

    launchIntent(context, email, phone, subject, message);
}

public static void launchIntent (Context context, String emailAddress, String phoneNumber, String subject, String message)
{
    final PackageManager pm = context.getPackageManager();
    final Set&lt;String&gt; receiverPackageNames = PanicTrigger.getResponderActivities(context);

    Intent intent = new Intent(Panic.ACTION_TRIGGER);&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/blob/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers/GeoTrigger.java&#34;&gt;GeoTrigger&lt;/a&gt;: Using the awesome “LOST” open-source geofencing library, this trigger sends a panic if the device moves outside of a pre-defined area (in this sample, it is Times Square NYC)&lt;/p&gt;

&lt;pre&gt;private void setupGeoFence ()
{

    //setup geofence for Times Square area
    String requestId = &#34;geof1-timesSquare&#34;;
    double latitude = 40.758896;
    double longitude = -73.985130;
    float radius = 0.0001f;

    Geofence geofence = new Geofence.Builder()
            .setRequestId(requestId)
            .setCircularRegion(latitude, longitude, radius)
            .setExpirationDuration(Geofence.NEVER_EXPIRE)
            .build();

    GeofencingRequest request = new GeofencingRequest.Builder()
            .addGeofence(geofence)
            .build();&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/blob/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers/MediaButtonTrigger.java&#34;&gt;MediaButtonTrigger&lt;/a&gt;: This trigger will notice multiple rapid pushes of a headset mic button or a bluetooth mic call button, and send a trigger.&lt;/p&gt;

&lt;pre&gt;public class MediaButtonTrigger extends BaseTrigger {

    private static int mTriggerCount = 0;
    private final static int TRIGGER_THRESHOLD = 3;

    private static long mLastTriggerTime = -1;

    public MediaButtonTrigger(Activity context)
    {
        super (context);
    }

    @Override
    public void activateTrigger() {

        //if a headset button or a bluetooth &#34;call&#34; button is pressed, trigger this

        IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
        MediaButtonIntentReceiver r = new MediaButtonIntentReceiver();
        getContext().registerReceiver(r, filter);


    }

    public class MediaButtonIntentReceiver extends BroadcastReceiver {

        public MediaButtonIntentReceiver() {
            super();
        }

        @Override
        public void onReceive(Context context, Intent intent) {

            KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
            if (event == null) {
                return;
            }

            int action = event.getAction();
            if (action == KeyEvent.ACTION_DOWN) {

                //check for 3 rapidly pressed key events

                long triggerTime = new Date().getTime();

                //if the trigger is the first one, or happened with a second of the last one, then count it
                if (mLastTriggerTime == -1 || ((triggerTime - mLastTriggerTime)&lt;1000))
                    mTriggerCount++;

                mLastTriggerTime = triggerTime;

                if (mTriggerCount &gt; TRIGGER_THRESHOLD) {
                    launchPanicIntent(context);
                    mTriggerCount = 0;
                }


            }
            abortBroadcast();
        }
    }
}&lt;/pre&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/blob/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers/PhoneNumberTrigger.java&#34;&gt;PhoneNumberTrigger&lt;/a&gt; (OutgoingCallReceiver): This trigger monitors phone calls, looking for a pre-defined fake “panic number”.&lt;/p&gt;

&lt;pre&gt;public class OutgoingCallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        if (phoneNumber != null
                &amp;&amp; phoneNumber.equals(PhoneNumberTrigger.PHONE_NUMBER_TRIGGER)) {
            PhoneNumberTrigger.launchPanicIntent(context);
        }

    }
}&lt;/pre&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/blob/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers/SuperShakeTrigger.java&#34;&gt;SuperShakeTrigger&lt;/a&gt;: This trigger looks for the phone being rapidly shaken. It could be expanded to wait for a series of shakes within a certain time window to avoid false positives.&lt;/p&gt;

&lt;pre&gt;//setup shake detection using ShakeDetector library
SensorManager sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);

ShakeDetector sd = new ShakeDetector(new ShakeDetector.Listener()
{
    public void hearShake() {

        //you shook me!
        launchPanicIntent(getContext());

    }
});

sd.start(sensorManager);&lt;/pre&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/n8fr8/PanicKitSamples/blob/master/app/src/main/java/info/guardianproject/fakepanicbutton/triggers/WifiTrigger.java&#34;&gt;WifiTrigger&lt;/a&gt;: This triggers waits for the user to connect to a specific wifi network (in this sample “Starbucks”). It could also be set to trigger if the devices leaves the wifi network.&lt;/p&gt;

&lt;pre&gt;NetworkInfo netInfo = intent.getParcelableExtra (WifiManager.EXTRA_NETWORK_INFO);
if (ConnectivityManager.TYPE_WIFI == netInfo.getType ()
        &amp;&amp; netInfo.isConnected()) {

    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    WifiInfo info = wifiManager.getConnectionInfo();
    String ssid = info.getSSID();

    //Check if I am connected to the &#34;trigger&#34; SSID, and if so send an alert!

    if (!TextUtils.isEmpty(ssid)
        &amp;&amp; ssid.equals(WIFI_SSID_TRIGGER))
    {
        launchPanicIntent(getContext());
    }
}&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;All of these samples are configured to work with the FakePanicButton sample app, which allows you to choose a contact to alert, and set a panic message. That said, these are meant to point in a direction of functionality, and have not been fully debugged or tested on all devices and OS versions.&lt;/p&gt;

&lt;p&gt;If you have more ideas on other panic triggers that could be implemented, please share them here. We are also happy to take pull requests or fixes to our sample project, in order to improve on the ideas we have. Finally, we will announce more Panic responder and trigger apps, as they are available in the coming months. We looking forward to the continued growth of our PanicKit ecosystem, though of course, we hope even more for a world where there are less reasons to panic.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orfox 1.2: An Overdue Update to Our Privacy-Focused Browser!</title>
      <link>https://guardianproject.info/2016/09/25/orfox-1.2-an-overdue-update-to-our-privacy-focused-browser/</link>
      <pubDate>Sun, 25 Sep 2016 00:43:54 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/09/25/orfox-1.2-an-overdue-update-to-our-privacy-focused-browser/</guid>
      <description>&lt;div class=&#34;markdown-body&#34;&gt;
  &lt;p&gt;
    Primarily this release is the first in a long while after improving our ability to stay up-to-date with core Tor Browser development. In addition, as Mozilla adds more and more features to the core Firefox, we must review them for any issues related to increased permission request, access to data, and privacy and network leaks. This is a slow, tedious job, so thank you for your patience. We expect to have more frequent, regular releases moving forward.
  &lt;/p&gt;
&lt;/div&gt;

&lt;div class=&#34;markdown-body&#34;&gt;
  &lt;p&gt;
    Orfox specific highlights include:
  &lt;/p&gt;
  
  &lt;ul&gt;
    &lt;li&gt;
      improved integration with Orbot
    &lt;/li&gt;
    &lt;li&gt;
      removal of more unnecessary Android permissions / features (chromecast, account access)
    &lt;/li&gt;
    &lt;li&gt;
      new icon and branding!
    &lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;p&gt;
    A big thanks to &lt;a href=&#34;https://github.com/amoghbl1&#34;&gt;Amogh Pradeep&lt;/a&gt;, Orfox lead developer and GSoC student extraordinaire, along with the entire Tor Browser and Mozilla Firefox teams, for their tireless work, building this great open-source web browser ecosystem.
  &lt;/p&gt;
  
  &lt;p&gt;
    Updates to the core Tor Browser releases that Orfox is based on can be reviewed here:&lt;br /&gt; &lt;a href=&#34;https://blog.torproject.org/blog/tor-browser-65a3-hardened-released&#34;&gt;https://blog.torproject.org/blog/tor-browser-65a3-hardened-released&lt;/a&gt;&lt;br /&gt; &lt;a href=&#34;https://blog.torproject.org/blog/tor-browser-605-released&#34;&gt;https://blog.torproject.org/blog/tor-browser-605-released&lt;/a&gt;
  &lt;/p&gt;
&lt;/div&gt;

&lt;p class=&#34;release-downloads-header&#34;&gt;
  &lt;strong&gt;Downloads&lt;/strong&gt;
&lt;/p&gt;

&lt;ul class=&#34;release-downloads&#34;&gt;
  &lt;li&gt;
    &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.orfox&#34;&gt;Install from Google Play&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    APK: &lt;a href=&#34;https://github.com/guardianproject/Orfox/releases/download/Fennec-45.4.0esr%2FTorBrowser-6.5-1%2FOrfox-1.2/Orfox-1.2-TorBrowser-6.5-Fennec45.4.0.apk&#34; rel=&#34;nofollow&#34;&gt;&lt;small class=&#34;text-gray float-right&#34;&gt;33.6 MB &lt;/small&gt;&lt;strong&gt;Orfox-1.2-TorBrowser-6.5-Fennec45.4.0.apk&lt;/strong&gt;&lt;/a&gt; (&lt;a href=&#34;https://github.com/guardianproject/Orfox/releases/download/Fennec-45.4.0esr%2FTorBrowser-6.5-1%2FOrfox-1.2/Orfox-1.2-TorBrowser-6.5-Fennec45.4.0.apk&#34;&gt;gpg sig&lt;/a&gt;)
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;Guardian Project F-Droid Repo&lt;/a&gt; (update coming soon!)
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Source Code&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/Orfox/commits/Fennec-45.4.0esr/TorBrowser-6.5-1/Orfox-1.2&#34;&gt;Orfox build repo&lt;/a&gt;:&lt;/li&gt;
&lt;li&gt;Orfox’s &lt;a href=&#34;https://github.com/guardianproject/orfox&#34;&gt;Tor Browser repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>HOWTO: get all your Debian packages via Tor Onion Services</title>
      <link>https://guardianproject.info/2016/07/31/howto-get-all-your-debian-packages-via-tor-onion-services/</link>
      <pubDate>Sun, 31 Jul 2016 17:28:57 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/07/31/howto-get-all-your-debian-packages-via-tor-onion-services/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-300x199.png&#34; alt=&#34;leakage&#34; width=&#34;300&#34; height=&#34;199&#34; class=&#34;alignright size-medium wp-image-12699&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-100x66.png 100w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-150x99.png 150w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-200x132.png 200w, https://guardianproject.info/wp-content/uploads/2014/10/leakage.png 410w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;Following up on &lt;a href=&#34;https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/&#34; target=&#34;_blank&#34;&gt;some privacy leaks that we looked into a while back&lt;/a&gt;, there are now official Debian &lt;a href=&#34;https://onion.debian.org&#34; target=&#34;_blank&#34;&gt;Tor Onion Services&lt;/a&gt; for getting software packages and security updates, thanks to the Debian Sys Admin team. This is important for high risk use cases like TAILS covers, but also it is useful to make it more difficult to do some kinds of targeted attacks against high-security servers. The default Debian and Ubuntu package servers use plain HTTP with unencrypted connections. That means anyone with access to the network streams could both monitor and fingerprint traffic. When an request for a security update is spotted, an attacker knows that machine is vulnerable to an exploit, and could reliably exploit it before the security update is applied.&lt;/p&gt;

&lt;p&gt;Using &lt;a href=&#34;https://labs.riseup.net/code/issues/8143&#34; target=&#34;_blank&#34;&gt;HTTPS to get security updates&lt;/a&gt; improves this situation a lot, but by measuring the size of data transfers, it is still possible to &lt;a href=&#34;http://www0.cs.ucl.ac.uk/staff/G.Danezis/papers/TLSanon.pdf&#34; target=&#34;_blank&#34;&gt;track which files are being downloaded&lt;/a&gt;. A Tor Onion Service provides end-to-end encryption like the HTTPS connection. It also mixes up the traffic with lots of other traffic, so its not easy to see what traffic goes together. That makes it a lot harder for a network observer to tell when a security update is being downloaded. Additionally, using a Tor Onion Service forces the traffic over Tor, so that the Debian mirror server cannot see which server is requesting the updates. That helps prevent targeted attacks.&lt;/p&gt;

&lt;p&gt;There are other benefits as well, besides just for the person running the high security server in this example, especially if all of the traffic is coming over Tor. When updates are delivered over Tor, then that means the Debian mirror operators have less to worry about because they are handling less metadata that might have privacy concerns. It means that when law enforcement requests logs from the mirror operators, the mirror operators can more easily hand over anything they have since the mirror operator knows that there is not private information in the logs. Reducing the legal risks and privacy concerns makes it easier to run mirrors, and that helps internet services work better.&lt;/p&gt;

&lt;p&gt;One disadvantage of this approach as it now stands is that your server will get updates from the same mirror every time. There is only a single Tor Onion Service for the main archive. An alternate approach using the combination of Tor and &lt;a href=&#34;http://httpredir.debian.org/&#34;&gt;http://httpredir.debian.org/&lt;/a&gt; as the package source means that your server will get updates from a different mirror each time Tor changes its exit node (I believe that’s every 10 minutes or so).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can you set up your Debian machine to get updates over Tor?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/07/tor-logo-2011_11.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2016/07/tor-logo-2011_11-300x173.jpg&#34; alt=&#34;debian and tor&#34; width=&#34;300&#34; height=&#34;173&#34; class=&#34;alignright size-medium wp-image-13395&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/07/tor-logo-2011_11-300x173.jpg 300w, https://guardianproject.info/wp-content/uploads/2016/07/tor-logo-2011_11-768x444.jpg 768w, https://guardianproject.info/wp-content/uploads/2016/07/tor-logo-2011_11.jpg 800w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;Right now, the best way to set up a Debian machine to force traffic over Tor is to use &lt;a href=&#34;https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy&#34; target=&#34;_blank&#34;&gt;transparent proxying&lt;/a&gt; via &lt;em&gt;iptables&lt;/em&gt; rules. If you have that setup, then you can add the onion addresses as Debian apt sources as if they are any other HTTP Debian mirror. Another option is to install &lt;em&gt;apt-transport-tor&lt;/em&gt; like TAILS does, then you can use &lt;a href=&#34;http://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html&#34; target=&#34;_blank&#34;&gt;special syntax to add the Tor Onion Services&lt;/a&gt;. And another way is to install an HTTP proxy like &lt;em&gt;privoxy&lt;/em&gt; and enable apt HTTP proxy support as &lt;a href=&#34;https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/&#34; target=&#34;_blank&#34;&gt;I described before&lt;/a&gt;. The &lt;em&gt;apt-transport-tor&lt;/em&gt; and &lt;em&gt;privoxy&lt;/em&gt; approaches both have the downside of having to trust an added piece of software, whereas the transparent proxy technique uses what is already present in the Linux kernel. I’ve been using the &lt;em&gt;privoxy&lt;/em&gt; method since that is what I got working in 2014 and it has been working reliably on multiple servers since then. Also, I need &lt;em&gt;privoxy&lt;/em&gt; installed for another application anyway.&lt;/p&gt;

&lt;p&gt;Here’s how to set up the apt sources to get packages and updates via Tor Onion Services without delaying security updates. First, remove &lt;em&gt;/etc/apt/sources.list&lt;/em&gt; and &lt;em&gt;/etc/apt/sources.list.d/*.list&lt;/em&gt; to start with a clean slate. Next add &lt;em&gt;/etc/apt/sources.list.d/00.vwakviie2ienjx6t.onion.list&lt;/em&gt; to get the main Debian repositories:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;deb http://vwakviie2ienjx6t.onion/debian/ jessie main
deb-src http://vwakviie2ienjx6t.onion/debian/ jessie main

# aka volatile
deb http://vwakviie2ienjx6t.onion/debian/ jessie-updates main
deb-src http://vwakviie2ienjx6t.onion/debian/ jessie-updates main

deb http://vwakviie2ienjx6t.onion/debian jessie-backports main
deb-src http://vwakviie2ienjx6t.onion/debian/ jessie-backports main
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next add the new Tor Onion Service for the security update repository at &lt;em&gt;/etc/apt/sources.list.d/00.sgvtcaew4bxjd7ln.onion.list&lt;/em&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;deb http://sgvtcaew4bxjd7ln.onion/ jessie/updates main
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then last, include the normal HTTP security.debian.org archive to ensure that your server gets the latest security updates, even if the &lt;a href=&#34;https://onion.debian.org/&#34; target=&#34;_blank&#34;&gt;Onion Service mirror&lt;/a&gt; is behind or there is some other issue related to Tor. This goes in &lt;em&gt;/etc/apt/sources.list.d/99.security.debian.org.list&lt;/em&gt; to ensure that it is always the last repository that is tried, and apt loads files from /etc/apt/source.list.d/ in alphabetical order, so it’ll always try to get the security updates from the Onion Service before falling back to the HTTP source as a last resort.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;deb http://security.debian.org/ jessie/updates main
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I also run an unofficial mirror of the security updates on &lt;a href=&#34;http://dju2peblv7upfz3q.onion/debian&#34;&gt;http://dju2peblv7upfz3q.onion/debian&lt;/a&gt; if you want to add another backup, i.e. &lt;em&gt;/etc/apt/sources.list.d/00.dju2peblv7upfz3q.onion.list&lt;/em&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;deb http://dju2peblv7upfz3q.onion/debian-security/ jessie/updates main
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>OpenArchive: Free &amp; Secure Mobile Media Sharing #DWebSummit</title>
      <link>https://guardianproject.info/2016/06/07/openarchive-free-secure-mobile-media-sharing-#dwebsummit/</link>
      <pubDate>Tue, 07 Jun 2016 15:37:03 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/06/07/openarchive-free-secure-mobile-media-sharing-#dwebsummit/</guid>
      <description>&lt;p&gt;I am excited to share another new “mini app” effort we have joined up with, as part of work we are doing to create simple, focused tools that solve a single issue. We also are aiming to builds apps that are 1 to 3MB in size, and work on Android phones back to version 2.3, in order to maximize accessibility for a global audience.  &lt;a href=&#34;https://open-archive.net&#34;&gt;&lt;span class=&#34;il&#34;&gt;OpenArchive&lt;/span&gt;&lt;/a&gt; is one of these efforts. It is a project led by &lt;a href=&#34;https://www.aaronswartzday.org/openarchive/&#34;&gt;Natalie Cadranel&lt;/a&gt;, who received a &lt;a href=&#34;https://www.knightfoundation.org/grants/201448513/&#34;&gt;Knight Foundation prototype grant in 2014&lt;/a&gt;. The initial work was done by our partners at &lt;a href=&#34;https://www.scal.io/&#34;&gt;Scal.io&lt;/a&gt;, and continued now by the core Guardian Project team. The app is now in &lt;a href=&#34;https://play.google.com/store/apps/details?id=net.opendasharchive.openarchive.release&#34;&gt;stable beta&lt;/a&gt; and ready for &lt;a href=&#34;https://github.com/OpenArchive/openarchive/issues&#34;&gt;wider testing&lt;/a&gt;.&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;div&gt;
  Here is a brief description from the site at &lt;a href=&#34;https://open-archive.net&#34;&gt;open-archive.net&lt;/a&gt;:
&lt;/div&gt;

&lt;blockquote&gt;
&lt;div&gt;
  &lt;span class=&#34;il&#34;&gt;OpenArchive&lt;/span&gt; is a free, &lt;span class=&#34;il&#34;&gt;open&lt;/span&gt;-source mobile application, currently for Android, dedicated to maintaining the privacy, provenance, and preservation of your media. It enables you to add metadata and Creative Commons licensing to your audiovisual media and then send it to the Internet &lt;span class=&#34;il&#34;&gt;Archive&lt;/span&gt; over Tor; offering more agency over your media, while protecting civil liberties, and increasing interoperability for those who want to find and reuse/remix it in the future.
&lt;/div&gt;
&lt;/blockquote&gt;

&lt;div id=&#39;gallery-12&#39; class=&#39;gallery galleryid-13356 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-105614.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-105614-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160805.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160805-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160818.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160818-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160829.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160829-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160837.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160837-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160912.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/device-2016-05-26-160912-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;For now, we aim for the app to be the easiest and most secure way to publish photos, video and audio to the Internet &lt;span class=&#34;il&#34;&gt;Archive from your Android device, be it a phone, tablet and soon a Chromebook. It will even login and upload &lt;/span&gt;over the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network&lt;/a&gt; if you have &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt; installed.&lt;/p&gt;

&lt;p&gt;We see this as a first step towards a more distributed, decentralized way of managing and sharing your personal media, and publishing it and synchronizing it to different places and people, in different ways. This includes distributing media through nearby non-Internet networks such &lt;a href=&#34;https://github.com/n8fr8/talks/blob/master/wind_update_2015/Wind%20Update%20-%20October%202015.pdf&#34;&gt;Wind&lt;/a&gt;, becoming a a &lt;a href=&#34;http://librarybox.us&#34;&gt;LibraryBox&lt;/a&gt; node, publishing through &lt;a href=&#34;https://onionshare.org/&#34;&gt;OnionShare&lt;/a&gt;, notarizing hrough &lt;a href=&#34;https://stamp.io&#34;&gt;Stamp.io&lt;/a&gt;‘s Blockchain-based API, and intergalactic sharing via &lt;a href=&#34;https://ipfs.io/&#34;&gt;IPFS&lt;/a&gt;. This vision is why we are excited about the &lt;a href=&#34;http://www.decentralizedweb.net/&#34;&gt;#DWebSummit&lt;/a&gt; going on this week, and future gatherings related to building less centralized online ecosystems.&lt;/p&gt;

&lt;div&gt;
   The &lt;a href=&#34;https://www.aaronswartzday.org/openarchive/&#34;&gt;benefits of this work are manyfold&lt;/a&gt;, one of which is that if anyone needs a freely licensed video of &lt;a href=&#34;https://archive.org/details/robot-fish-----------------r6v6&#34;&gt;cute kids watching robot fish swim&lt;/a&gt;, you can now have easy access to one:
&lt;/div&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;div class=&#34;arve-wrapper&#34; data-mode=&#34;normal&#34; data-provider=&#34;archiveorg&#34; id=&#34;arve-robot-fish-----------------r6v6&#34; style=&#34;max-width:945px;&#34; itemscope itemtype=&#34;http://schema.org/VideoObject&#34;&gt;
    &lt;div class=&#34;arve-embed-container&#34; style=&#34;padding-bottom:56.250000%&#34;&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;div&gt;
  As all of this work is open-source and freely licensed, all help is welcome with testing, feedback, design, code, and if you love it, then sharing with others and spreading the word:
&lt;/div&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Github: &lt;a href=&#34;https://github.com/OpenArchive/openarchive&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34; data-saferedirecturl=&#34;https://www.google.com/url?hl=en&amp;q=https://github.com/OpenArchive/openarchive&amp;source=gmail&amp;ust=1465411952609000&amp;usg=AFQjCNEz3C4AlQlkbvaltKWanhjosLQdhg&#34;&gt;&lt;a href=&#34;https://github.com/&#34;&gt;https://github.com/&lt;/a&gt;&lt;wbr /&gt;&lt;span class=&#34;il&#34;&gt;OpenArchive&lt;/span&gt;/&lt;span class=&#34;il&#34;&gt;openarchive&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Signed release APKs: &lt;a href=&#34;https://github.com/OpenArchive/openarchive/releases/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34; data-saferedirecturl=&#34;https://www.google.com/url?hl=en&amp;q=https://github.com/OpenArchive/openarchive/releases/tag/0.0.9-APK-release&amp;source=gmail&amp;ust=1465411952609000&amp;usg=AFQjCNFTspI29-f7KT4gNUbNogeo4n_zEQ&#34;&gt;&lt;a href=&#34;https://github.com/&#34;&gt;https://github.com/&lt;/a&gt;&lt;wbr /&gt;&lt;span class=&#34;il&#34;&gt;OpenArchive&lt;/span&gt;/&lt;span class=&#34;il&#34;&gt;openarchive&lt;/span&gt;/&lt;wbr /&gt;releases/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Google Play: &lt;a href=&#34;https://play.google.com/store/apps/details?id=net.opendasharchive.openarchive.release&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34; data-saferedirecturl=&#34;https://www.google.com/url?hl=en&amp;q=https://play.google.com/store/apps/details?id%3Dnet.opendasharchive.openarchive.release&amp;source=gmail&amp;ust=1465411952609000&amp;usg=AFQjCNHw6u_fEXblnlZa-G30124MAbfPRw&#34;&gt;&lt;a href=&#34;https://play.google.com/store/&#34;&gt;https://play.google.com/store/&lt;/a&gt;&lt;wbr /&gt;apps/details?id=net.&lt;wbr /&gt;opendasharchive.&lt;span class=&#34;il&#34;&gt;openarchive&lt;/span&gt;.&lt;wbr /&gt;release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Twitter: &lt;a href=&#34;https://twitter.com/open_archive&#34;&gt;@open_archive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Building the most private app store</title>
      <link>https://guardianproject.info/2016/06/02/building-the-most-private-app-store/</link>
      <pubDate>Thu, 02 Jun 2016 11:08:52 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/06/02/building-the-most-private-app-store/</guid>
      <description>&lt;p&gt;&lt;em&gt;App stores can work well without any tracking at all&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/06/whichdoor.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2016/06/whichdoor-150x150.jpg&#34; alt=&#34;whichdoor&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-13337&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attackers are increasingly seeing app stores as a prime &lt;a href=&#34;https://guardianproject.info/2015/02/24/phishing-for-developers/&#34; target=&#34;_blank&#34;&gt;attack&lt;/a&gt; vector, whether it is aimed at the masses like &lt;a href=&#34;http://researchcenter.paloaltonetworks.com/2015/09/more-details-on-the-xcodeghost-malware-and-affected-ios-apps/&#34;&gt;XCodeGhost&lt;/a&gt; or very targeted like in FBI vs Apple. When we install software from an app store, we are placing a lot of trust in a lot of different parties involved in getting the source code from the original developer delivered to our device in a useful form. Most people are entirely unaware of how much trust they are putting into this system, which they are entrusting with their personal data. Even for people who do understand the technical details involved, figuring out whether the people and the system itself is trustworthy is difficult to do.&lt;/p&gt;

&lt;p&gt;We are building an app store that requires the bare minimum of trust: only the software developers themselves and the code they produce. We consider the app store operators and servers a threat. Building an ecosystem that enables automated, effective auditing lets the computers verify to make trust decisions easier. Effective external auditing requires an ecosystem that cannot deliver targeted content to just the auditing system, while feeding users something else (aka “binary transparency”).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most app stores track as much as possible&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The vast majority of apps stores track their users actions in detail. Some is necessary when using the business model of the app store operator taking a percentage of sales, but none of the tracking is inherent to running an app store. For example, payment verification can be handled in the app itself like shareware. A software delivery system that tracks its users makes it simple to hide malware delivery since it can target any auditing system. Most app stores know a lot about their users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;account name&lt;/li&gt;
&lt;li&gt;identity&lt;/li&gt;
&lt;li&gt;payment methods&lt;/li&gt;
&lt;li&gt;everything you search for in the app store&lt;/li&gt;
&lt;li&gt;everything you look at in the app store&lt;/li&gt;
&lt;li&gt;everything you download, install, uninstall&lt;/li&gt;
&lt;li&gt;which apps you actually run&lt;/li&gt;
&lt;li&gt;where you are, based on IP, declared preference, etc.&lt;/li&gt;
&lt;li&gt;your preferred language&lt;/li&gt;
&lt;li&gt;and more…&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Apps stores need to know very little in order to function: how to give you the files you request. That means indexes, descriptions, icons, apps, and install/delete requests (for “push” install/delete). Given that information, the client can do everything needed to provide a full app store user experience. For this work, we chose to build upon &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;, a community-run Android app store that distributes verified Free Software. The community has had an interest in privacy all along, and has always worked to avoid tracking. The security architecture is based on models proven by &lt;a href=&#34;https://wiki.debian.org/SecureApt&#34; target=&#34;_blank&#34;&gt;Debian&lt;/a&gt;, &lt;a href=&#34;https://github.com/theupdateframework/tuf/blob/develop/docs/tuf-spec.txt&#34; target=&#34;_blank&#34;&gt;The Update Framework&lt;/a&gt; , and others:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS connections by default&lt;/li&gt;
&lt;li&gt;pinned TLS certificate built into the client app&lt;/li&gt;
&lt;li&gt;updates verified based on the signature on the app itself&lt;/li&gt;
&lt;li&gt;file integrity protected by signed metadata&lt;/li&gt;
&lt;li&gt;signed metadata includes hashes of the app and its signing key&lt;/li&gt;
&lt;li&gt;signed metadata generated on a separate machine, which can be fully offline&lt;/li&gt;
&lt;li&gt;public key for verifying metadata signatures built into F-Droid client app&lt;/li&gt;
&lt;li&gt;signed metadata includes timestamp and expiry&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While the current setup is already a solid platform, we are implementing a number of improvements. The signed metadata will include list of official mirrors, then the client chooses mirrors based on availability and freshness based on local criteria like whether Tor is in use, closest on the internet, etc. We are also moving the standard HTTP “etag” cache check from the server to the client so it cannot be abused to track users.&lt;/p&gt;

&lt;p&gt;In order to defend against an attacker that holds the signing keys for the app repository, there must be a trustworthy source of information to compare against. Reproducible builds means that anyone with the same source code will produce the exact same binary. When paired with an auditing system, it is easy to catch malware inserted in the build process, rather than the source code, like XCodeGhost. Reproducible builds also makes it possible to have all builds of a release binary have the exact same hash. Then any app repository can build apps only from source code, and have a source of verification data from any other app repository building the same app. Building software from source has become cheap enough that many companies like gitlab.com and Travis CI are offering free, automated build services in the cloud. Since the whole F-Droid toolset is free software and designed to be easy to setup, the barriers to setting up automatic auditing are quite low. People in separate areas of the world with different risk profiles can run verification servers to provide more trustworthy information.&lt;/p&gt;

&lt;p&gt;Another key aspect of the F-Droid project is to provide the complete toolset needed to run an app store. This enables a more decentralized ecosystem. Therefore, one key goal is to lower the risks of running the services, so that more people can run their own app stores. If the app store does not track its users, then that removes the hassle of protecting personal data from any attacker. These services can be run without fear of responding to secret orders for personal information. It also means that the server setup is a lot simpler because it does not need dynamic content. The app store serve only needs to serve files (e.g. indexes, apps, etc.). The app repository is generated on a secure machine, or even a fully offline machine, and posted to the server. The main server is purely a mirror of the offline machine where the signed repository is generated. Mirrors just shuffle bits from place to place, they are no longer an attack vector.&lt;/p&gt;

&lt;p&gt;Putting all these pieces together provides a system where users need only audit the source code in order to verify a trustworthy app delivery. The file pipeline provides redundantly secure data transmission, the apps can be reproducibly from source code, the app repositories can be automatically audited. Of course, this system relies not only on the power of cryptography, but also the power of transparency. Debian provides a great example of the power of transparency: Debian gives a thousand volunteers root access to every Debian install (by virtue of their ability to upload signed packages that get installed as root). Yet this system has been proven over the past 20+ years to provide solid security. Ultimately we hope that this will de-emphasize the signing key as the sole protection against abuse. If malware has a decent change of being spotted, it makes it much less likely to be used since malware authors either rigorously defend their exploits, or use well known exploits that are not difficult to automatically detect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Future Work&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One attack vector that is not well covered is malware that installable by everyone, that then uses data on the local device to target specific users. That would be a way to target individuals using an app store that does not track its users. We are starting to implement automated dynamic analysis of every app using tools like &lt;a href=&#34;https://labs.mwrinfosecurity.com/tools/drozer&#34; target=&#34;_blank&#34;&gt;Drozer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We are also working towards making as many apps as possible build reproducibly. Some of our quick checks show that a large number of the apps in f-droid.org already will build reproducibly, given the right build environment. We are working on making the process of setting up that build environment as automated as possible.&lt;/p&gt;

&lt;p&gt;The F-Droid “verification server” has been prototyped, and it will be further developed with the aim of making it dead simple to run in common cloud services.&lt;/p&gt;

&lt;p&gt;We already have the infrastructure in place to do verified double-signing, where the developer first signs the release bulid, then once f-droid.org reproduces that build, it adds its signature. Then Android would enforce that both signatures need to be present in order for it to be a valid update.&lt;/p&gt;

&lt;p&gt;As the full localization support is built out, the language that a user is using will not be reported to the server. While speaking Spanish in Spain does not provide much information, speaking Quechua in Uzbekistan can narrow it down to a single user. Instead of dividing the index metadata by language, it will instead be grouped by app. We will then group apps so that it is difficult to tell which app in the group is the one people are interested in. For example, if one very popular app is only grouped with apps that are rarely downloaded, then it is an easy assumption that someone getting info about that block of apps is most likely looking for that popular app.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Data Usage and Protection Policies</title>
      <link>https://guardianproject.info/2016/05/04/data-usage-and-protection-policies/</link>
      <pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2016/05/04/data-usage-and-protection-policies/</guid>
      <description>&lt;p&gt;At a high level, it is easy say that &amp;ldquo;we know nothing&amp;rdquo;. We do not log data or include analytics in our websites or applications. When we do operate servers to support our applications, they are configured to store as minimal data as possible, usually just a username and password, if that is required. We also only recommend third party services, such as &lt;a href=&#34;https://www.otr.im/chat.html&#34;&gt;XMPP services&lt;/a&gt;, &lt;a href=&#34;https://ostel.co&#34;&gt;VoIP services&lt;/a&gt;, or &lt;a href=&#34;https://torproject.org&#34;&gt;Proxy and VPN providers&lt;/a&gt;, who abide by these same policies.&lt;/p&gt;

&lt;p&gt;In some cases, when we must distribute our applications through services like Google Play, our hands our tied and you are at the mercy of their &lt;a href=&#34;https://play.google.com/about/play-terms.html&#34;&gt;terms and policies&lt;/a&gt;. In some cases, convenience trumps privacy, but that is a decision that is up to you. You can always get our apps from our no logging, non-tracking, free and open-source app store, &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Otherwise, you can read on below for our general purpose policy around data usage and protection policies.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;This  policy discloses the practices for Guardian Project&amp;rsquo;s website and all apps and projects we release. It will notify you of the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;div&gt;
  What personally identifiable information is collected from you through the web site, our apps and services, and how it is used and with whom it may be shared.
&lt;/div&gt;&lt;/li&gt;

&lt;li&gt;&lt;div&gt;
  What choices are available to you regarding the use of your data.
&lt;/div&gt;&lt;/li&gt;

&lt;li&gt;&lt;div&gt;
  The security procedures in place to protect the misuse of your information.
&lt;/div&gt;&lt;/li&gt;

&lt;li&gt;&lt;div&gt;
  How you can correct any inaccuracies in the information.
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Information Collection, Use, and Sharing&lt;/strong&gt;&lt;br /&gt;
We are the sole owners of the information collected on this site and our apps. We only have access to/collect information that you voluntarily give us via email, app registration or other direct contact from you. We will not sell or rent this information to anyone.&lt;/p&gt;

&lt;p&gt;We will use your information to respond to you, regarding the reason you contacted us. We will not share your information with any third party outside of our organization, other than as necessary to fulfill your request.&lt;/p&gt;

&lt;p&gt;Unless you ask us not to, we may contact you via email in the future to tell you about specials, new products or services, or changes to this privacy policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your Access to and Control Over Information&lt;/strong&gt;&lt;br /&gt;
You may opt out of any future contacts from us at any time. You can do the following at any time by contacting us via the email address or phone number given on our website:&lt;/p&gt;

&lt;p&gt;• See what data we have about you, if any.&lt;/p&gt;

&lt;p&gt;• Change/correct any data we have about you.&lt;/p&gt;

&lt;p&gt;• Have us delete any data we have about you.&lt;/p&gt;

&lt;p&gt;• Express any concern you have about our use of your data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;br /&gt;
We take precautions to protect your information. When you submit sensitive information via the website, your information is protected both online and offline.&lt;/p&gt;

&lt;p&gt;Wherever we collect sensitive information (such as credit card data), that information is encrypted and transmitted to us in a secure way. You can verify this by looking for a closed lock icon at the bottom of your web browser, or looking for &amp;ldquo;https&amp;rdquo; at the beginning of the address of the web page.&lt;/p&gt;

&lt;p&gt;While we use encryption to protect sensitive information transmitted online, we also protect your information offline. Only employees who need the information to perform a specific job (for example, billing or customer service) are granted access to personally identifiable information. The computers/servers in which we store personally identifiable information are kept in a secure environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Updates&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This policy may change from time to time and all updates will be posted on this page.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Copperhead, Guardian Project and F-Droid Partner to Build Open, Verifiably Secure Mobile Ecosystem</title>
      <link>https://guardianproject.info/2016/03/28/copperhead-guardian-project-and-f-droid-partner-to-build-open-verifiably-secure-mobile-ecosystem/</link>
      <pubDate>Mon, 28 Mar 2016 13:42:36 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/03/28/copperhead-guardian-project-and-f-droid-partner-to-build-open-verifiably-secure-mobile-ecosystem/</guid>
      <description>&lt;p&gt;Three open-source projects haved joined together to announce a new partnership to create an open, verifiably secure mobile ecosystem of software, services and hardware. Led by the work of the Toronto-based &lt;a href=&#34;https://copperhead.co/android/&#34;&gt;CopperheadOS&lt;/a&gt; team on securing the core Android OS, &lt;a href=&#34;https://guardianproject.info&#34;&gt;Guardian Project&lt;/a&gt; and &lt;a href=&#34;https://f-droid.org&#34;&gt;F-Droid&lt;/a&gt; have joined in to partner on envisioning and developing a full mobile ecosystem. The goal is to create a solution that can be verifiably trusted from the operating system,  through the network and network services, all the way up to the app stores and apps themselves. Through a future planned crowdfunded and commercial offering, the partnership will provide affordable off-the-shelf solutions, including device hardware and self-hosted app and update distribution servers, for any individual and organizations looking for complete mobile stacks they can trust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update 30 March 2016: Copperhead has announced their &lt;a href=&#34;https://copperhead.co/blog/2016/03/29/crowdfunding-partnership-announced&#34;&gt;crowdfunding plans here&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://copperhead.co/android/&#34;&gt;CopperheadOS&lt;/a&gt; is a hardened open-source Android based on AOSP, that is available for download and installation on many Nexus devices. The Guardian Project develops popular free and open-source privacy-enhancing apps like Orbot (Tor for Android), ChatSecure, and ObscuraCam, and software libraries like NetCipher, SQLCipher and PanicKit, for developers who want to enable similar features in their own apps. F-Droid is an installable catalogue of free and open source Android software, that is built into CopperheadOS, as the default app store. It enables decentralized and verifiably secure app distribution by any individual or organization.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://copperhead.co/android/&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;alignnone wp-image-13280 size-large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/03/copperheados-1024x520.jpg&#34; alt=&#34;copperheados&#34; width=&#34;780&#34; height=&#34;396&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/03/copperheados-1024x520.jpg 1024w, https://guardianproject.info/wp-content/uploads/2016/03/copperheados-300x152.jpg 300w, https://guardianproject.info/wp-content/uploads/2016/03/copperheados-768x390.jpg 768w, https://guardianproject.info/wp-content/uploads/2016/03/copperheados.jpg 1311w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/03/IMG_0466.jpg&#34;&gt;&lt;img class=&#34;alignleft wp-image-13310 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/03/IMG_0466-224x300.jpg&#34; alt=&#34;IMG_0466&#34; width=&#34;224&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/03/IMG_0466-224x300.jpg 224w, https://guardianproject.info/wp-content/uploads/2016/03/IMG_0466-768x1028.jpg 768w, https://guardianproject.info/wp-content/uploads/2016/03/IMG_0466-765x1024.jpg 765w, https://guardianproject.info/wp-content/uploads/2016/03/IMG_0466.jpg 1446w&#34; sizes=&#34;(max-width: 224px) 100vw, 224px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;“I have been a happy CopperheadOS user since the first moment I installed it”, says Nathan Freitas, Founder and Director of Guardian Project, ” even with running it on a two-generation old, very inexpensive Nexus 5 device. I know I will always have the latest security updates immediately, and that everything on my device is under my control.”&lt;/p&gt;

&lt;p&gt;“My Copperhead Nexus is the go-to device in my bag, ” says Freitas, “when I am handling sensitive information, find myself on a network I don’t trust, or am otherwise wary about my communication being tracked, intercepted or tampered with.”&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Hans-Christoph Steiner who leads the Guardian Project’s developer platform says “Copperhead with F-Droid and Orbot provides all of the benefits of a smartphone, without the security and privacy downsides introduced by the major vendors, carriers and closed app stores. By building in F-Droid, Copperhead guarantees its users have direct access to the best free and open software, built directly from source-code in a trusthworthy, verifiable way”. Mr. Steiner presented on his work with F-Droid and building &lt;a href=&#34;https://fosdem.org/2016/schedule/event/fdroidappstore/&#34; target=&#34;_blank&#34;&gt;“private, unblockable app stores”&lt;/a&gt; at &lt;a href=&#34;https://fosdem.org/2016/schedule/event/fdroidappstore/&#34; target=&#34;_blank&#34;&gt;FOSDEM 2016&lt;/a&gt; in January.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://fosdem.org/2016/schedule/event/fdroidappstore/&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;alignnone wp-image-13306 size-large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/03/handsatfosdem-1024x572.jpg&#34; alt=&#34;handsatfosdem&#34; width=&#34;945&#34; height=&#34;528&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/03/handsatfosdem-1024x572.jpg 1024w, https://guardianproject.info/wp-content/uploads/2016/03/handsatfosdem-300x168.jpg 300w, https://guardianproject.info/wp-content/uploads/2016/03/handsatfosdem-768x429.jpg 768w, https://guardianproject.info/wp-content/uploads/2016/03/handsatfosdem-360x200.jpg 360w, https://guardianproject.info/wp-content/uploads/2016/03/handsatfosdem.jpg 1274w&#34; sizes=&#34;(max-width: 945px) 100vw, 945px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
_Learn more about &lt;a href=&#34;https://fosdem.org/2016/schedule/event/fdroidappstore/&#34;&gt;F-Droid&lt;/a&gt; from this &lt;a href=&#34;https://fosdem.org/2016/schedule/event/fdroidappstore/&#34;&gt;FOSDEM 2016 talk&lt;/a&gt; (watch the &lt;a href=&#34;http://video.fosdem.org/2016/h1309/f-droid-building-the-private-unblockable-app-store.mp4&#34; target=&#34;_blank&#34;&gt;video here&lt;/a&gt;)_&lt;/p&gt;

&lt;p&gt;Collectively, this partnership creates a global team of information security researchers, forensic analysts, software developers, designers and engaged users, looking to move the state of the art forward for open, verifiably secure and privacy-enhancing mobile technology. The groups hope to expand the effort to include other mobile OS teams, application developers and even hardware developers interested in having the same kind of impact on the privacy and security of mobile computing.&lt;/p&gt;

&lt;p&gt;James Donaldson of Copperhead says “It’s important for Android users to have a privacy minded viable alternative to closed-source solutions when contemplating mobile security. Teaming up with great partners like F-Droid and Guardian Project allows us to offer our users both security and a great experience with all of the core features they need.”&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info&#34;&gt;Guardian Project&lt;/a&gt; is an open-source effort based in New York, with a global community of contributors and partners. &lt;a href=&#34;https://copperhead.co&#34;&gt;Copperhead&lt;/a&gt; is an information security firm located in Toronto, Canada, specializing in protecting data and devices from unauthorized access. &lt;a href=&#34;https://f-droid.org&#34;&gt;F-Droid&lt;/a&gt; is a non-profit volunteer project, and is operated by F-Droid Limited, a non-profit organisation registered in England (no. 8420676).&lt;/p&gt;

&lt;p&gt;Contact:&lt;/p&gt;

&lt;p&gt;Nathan Freitas / +1 718 569 7272&lt;br /&gt;
&lt;a href=&#34;&amp;amp;#x6d;&amp;amp;#x61;ilt&amp;amp;#x6f;&amp;amp;#x3a;&amp;amp;#x6e;ath&amp;amp;#x61;&amp;amp;#x6e;&amp;amp;#x40;gua&amp;amp;#x72;&amp;amp;#x64;&amp;amp;#x69;anp&amp;amp;#x72;&amp;amp;#x6f;&amp;amp;#x6a;ect&amp;amp;#x2e;&amp;amp;#x69;&amp;amp;#x6e;fo&#34;&gt;nathan@&amp;#x67;&amp;#x75;&amp;#x61;&amp;#x72;&amp;#x64;&amp;#x69;&amp;#x61;nproject&amp;#x2e;&amp;#x69;&amp;#x6e;&amp;#x66;&amp;#x6f;&lt;/a&gt; (XMPP-OTR, OpenPGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?search=0xA801183E69B37AA9&amp;op=index&#34; target=&#34;_blank&#34;&gt;0x69B37AA9&lt;/a&gt;  / &lt;a href=&#34;https://keybase.io/n8fr8&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://keybase.io/n8fr8&#34;&gt;https://keybase.io/n8fr8&lt;/a&gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;James Donaldson / Copperhead&lt;br /&gt;
&lt;a href=&#34;mailto:media@&amp;amp;#x63;&amp;amp;#x6f;&amp;amp;#x70;&amp;amp;#x70;&amp;amp;#x65;&amp;amp;#x72;&amp;amp;#x68;&amp;amp;#x65;&amp;amp;#x61;&amp;amp;#x64;&amp;amp;#x2e;&amp;amp;#x63;o&#34;&gt;m&amp;#x65;di&amp;#x61;@&amp;#x63;&amp;#x6f;p&amp;#x70;er&amp;#x68;ea&amp;#x64;.&amp;#x63;o&lt;/a&gt; (OpenPGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?search=0xDC1DEA5E&amp;amp;op=index&#34;&gt;0xDC1DEA5E&lt;/a&gt;&lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;amp;search=0x2621AB13DC1DEA5E&#34;&gt; &lt;/a&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orfox: A Tor Browser for Android</title>
      <link>https://guardianproject.info/archive/orfox/</link>
      <pubDate>Thu, 21 Jan 2016 11:09:09 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/orfox/</guid>
      <description>&lt;p&gt;&lt;strong&gt;September 2018 Update!&lt;/strong&gt;&lt;br /&gt;
Since 2015, Orfox has been the only mobile app recommended by the Tor Project to utilize the privacy protections of Tor on Android. The Tor Project has launched an official browser, Tor Browser for Android, now in its alpha release. Orfox will be sunsetted by early 2019 when the stable Tor Browser for Android comes out. To experience real private browsing without tracking, surveillance, or censorship, download Tor Browser for Android from Google Play here: &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha&#34;&gt;https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha&lt;/a&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You will still be able to use Orbot to route the traffic of all your other apps on Android over Tor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Orfox&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orfox is built from the same source code as Tor Browser (which is built upon Firefox), but with a few minor modifications to the privacy enhancing features to make them compatible with Firefox for Android and the Android operating system.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-13402&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/01/orfox64.png&#34; alt=&#34;orfox64&#34; width=&#34;64&#34; height=&#34;64&#34; /&gt;&lt;br /&gt;
&lt;strong&gt;Install now from &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.orfox&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Google Play&lt;/a&gt; or &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;div id=&#39;gallery-15&#39; class=&#39;gallery galleryid-13260 gallery-columns-3 gallery-size-medium&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-15-13004&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-15-13004&#39;&gt;
      Tor-relevant default sites
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-15-13003&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-15-13003&#39;&gt;
      Recognized as Tor Browser
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-15-13001&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-15-13001&#39;&gt;
      Easy access to onion sites!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;In as many ways as possible, we adhere to the design goals of Tor Browser (&lt;a href=&#34;https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.torproject.org/projects/torbrowser/design/%26sa%3DD%26usg%3DAFQjCNGgjQqgDl08Yq1yDT7TRTKh4-8GQA&amp;sa=D&amp;usg=AFQjCNFc5qxj8HcVEo4QHbB4SGLX79PDSg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;a href=&#34;https://www.torproject.org/projects/torbrowser/design/&#34;&gt;https://www.torproject.org/projects/torbrowser/design/&lt;/a&gt;&lt;/a&gt;), by supporting as much of their actual code as possible, and extending their work into the additional Android components of Firefox for Android.&lt;/p&gt;

&lt;p&gt;The Tor software protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where can I find all the relevant Orfox project pieces?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Orfox project tracker roadmap is here: &lt;a href=&#34;https://dev.guardianproject.info/projects/orfox-private-browser/roadmap&#34;&gt;https://dev.guardianproject.info/projects/orfox-private-browser/roadmap&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The Orfox branch of the Tor Browser repository is here: &lt;a href=&#34;https://github.com/guardianproject/tor-browser&#34;&gt;https://github.com/guardianproject/tor-browser&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The Orfox build project is here: &lt;a href=&#34;https://github.com/guardianproject/orfoxfennec&#34;&gt;https://github.com/guardianproject/orfoxfennec&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The primary Tor Browser repository is here: &lt;a href=&#34;https://gitweb.torproject.org/tor-browser.git/&#34;&gt;https://gitweb.torproject.org/tor-browser.git/&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;Automated debug builds of Orfox alpha are available via F-Droid here (install F-Droid on your phone, then copy/paste or open the link to add the repo):&lt;a href=&#34;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&#34;&gt;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&lt;/a&gt;{.external}&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Tor Browser for desktop?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orfox is built from the same source code as Tor Browser (which is built upon Firefox), but with a few minor modifications to the privacy enhancing features to make them compatible with Firefox for Android and the Android operating system. In as many ways as possible, we will adhere to the design goals of Tor Browser (&lt;a href=&#34;https://www.torproject.org/projects/torbrowser/design/&#34;&gt;https://www.torproject.org/projects/torbrowser/design/&lt;/a&gt;{.external}), by supporting as much of their actual code as possible, and extending their work into the additional AF-Droid appndroid components of Firefox for Android.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Orfox code repository is at &lt;a href=&#34;https://github.com/guardianproject/tor-browser&#34;&gt;https://github.com/guardianproject/tor-browser&lt;/a&gt;{.external} and the Tor Browser repository is here:&lt;a href=&#34;https://gitweb.torproject.org/tor-browser.git/&#34;&gt;https://gitweb.torproject.org/tor-browser.git/&lt;/a&gt;{.external}. The Orfox repository is a fork of the Tor Browser repository with the necessary modification and Android-specific code as patches on top of the Tor Browser work. We will keep our repository in sync with updates and release of Tor Browser.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox is built from the Tor Browser repo based on ESR38 (&lt;a href=&#34;https://dev.guardianproject.info/issues/5146&#34;&gt;https://dev.guardianproject.info/issues/5146&lt;/a&gt;{.external}&lt;a href=&#34;https://dev.guardianproject.info/news/221&#34;&gt;https://dev.guardianproject.info/news/221&lt;/a&gt;{.external}) and has only two modified patches that were not relevant or necessary for Android&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox does not currently include the mobile versions of HTTPS Everywhere, No Script and the Tor Browser Button, but these we will be added shortly, now that we have discovered how to properly support automatic installation of extensions on Android (&lt;a href=&#34;https://dev.guardianproject.info/issues/5360&#34;&gt;https://dev.guardianproject.info/issues/5360&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox includes a “Request Mobile Site” option that allows you to change the user-agent from the standard Tor Browser agent to a modified Android specific one: “Mozilla/5.0 (Android; Mobile; rv:31.0) Gecko/20100101 Firefox/31.0”. (&lt;a href=&#34;https://dev.guardianproject.info/issues/5404&#34;&gt;https://dev.guardianproject.info/issues/5404&lt;/a&gt;{.external}). This is useful for being able to see the mobile version of a website, but does reduce the amount your browser blends in with other browsers.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox currently allows for users to bookmark sites, and may have additional data written to disk beyond what the core gecko browser component does. We are still auditing all disk write code, and determining how to appropriately disable or harden it. (&lt;a href=&#34;https://dev.guardianproject.info/issues/5437&#34;&gt;https://dev.guardianproject.info/issues/5437&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox cannot yet be built deterministically, but based on work with the FDroid project, we are aiming for this to be possible in the next year (&lt;a href=&#34;https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise&#34;&gt;https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise&lt;/a&gt;{.external} &lt;a href=&#34;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&#34;&gt;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Firefox for Android?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Beyond the core Tor Browser components, Orfox also must ensure all Android-specific code is properly routed through the Tor proxy, and otherwise hardened to protect against data and privacy leaks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Orfox adds patches at the Android Java code layer to enable proxying of all Java network HTTP communications through the local Orbot HTTP proxy (HTTP localhost:8118 for now, but moving to SOCKS). (&lt;a href=&#34;https://dev.guardianproject.info/issues/5235&#34;&gt;https://dev.guardianproject.info/issues/5235&lt;/a&gt;{.external} &lt;a href=&#34;https://dev.guardianproject.info/issues/5317&#34;&gt;https://dev.guardianproject.info/issues/5317&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox removes the Android permissions for Contacts, Camera, Microphone, Location and NFC (&lt;a href=&#34;https://dev.guardianproject.info/issues/3822&#34;&gt;https://dev.guardianproject.info/issues/3822&lt;/a&gt;{.external}) since the capability of using these features are not in line with the spirit of Tor Browser&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox removes features like WebRTC and support for interaction with Chromecasts or Roku devices, since this type of communication is not compatibility with proxying communication through a TCP-based network like Tor (&lt;a href=&#34;https://dev.guardianproject.info/issues/5358&#34;&gt;https://dev.guardianproject.info/issues/5358&lt;/a&gt;{.external}&lt;a href=&#34;https://dev.guardianproject.info/issues/5357&#34;&gt;https://dev.guardianproject.info/issues/5357&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Orweb?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Orweb is our current default browser for Orbot/Tor mobile users (&lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;https://guardianproject.info/apps/orweb&lt;/a&gt;{.external}) that has been downloaded over 2 million times. It is VERY VERY SIMPLE, as it only has one tab, no bookmark capability, and an extremely minimal user experience.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb is built upon the bundled WebView (Webkit) browser component inside of the Android operating system. This has proven to be problematic because we cannot control the version of that component, and cannot upgrade it directly when bugs are found. In addition, Google has made it very difficult to effectively control the network proxy settings of all aspects of this component, making it difficult to guarantee that traffic will not leak on all devices and OS versions.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb also only provides a very limited amount of capability of Tor Browser, primarily related to reducing browser fingerprinting, minimizing disk writes, and cookie and history management. It trys to mimic some of the settings of Tor Browser, but doesn’t actually use any of the actual code written for Tor Browser security hardening.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb does have an advantage which is that it less than 2MB while Orfox is in the 25-30MB range. This is primarily because Orweb relies on many components built into Android, so it does not need to bundle them. Orfox contains the full stack of code necessary for a complete browser, and thus is more secure and dependable, but also larger. The Mozilla Mobile team is working on reducing the size of their binaries, and the Orfox team is focused on this, as well, since we are disabling some of the components that have contributed the browser bloat.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Orfox: A Tor Browser for Android</title>
      <link>https://guardianproject.info/archive/orfox/</link>
      <pubDate>Thu, 21 Jan 2016 11:09:09 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/orfox/</guid>
      <description>&lt;p&gt;&lt;strong&gt;September 2018 Update!&lt;/strong&gt;&lt;br /&gt;
Since 2015, Orfox has been the only mobile app recommended by the Tor Project to utilize the privacy protections of Tor on Android. The Tor Project has launched an official browser, Tor Browser for Android, now in its alpha release. Orfox will be sunsetted by early 2019 when the stable Tor Browser for Android comes out. To experience real private browsing without tracking, surveillance, or censorship, download Tor Browser for Android from Google Play here: &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha&#34; rel=&#34;nofollow&#34;&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha&#34;&gt;https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha&lt;/a&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You will still be able to use Orbot to route the traffic of all your other apps on Android over Tor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Orfox&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orfox is built from the same source code as Tor Browser (which is built upon Firefox), but with a few minor modifications to the privacy enhancing features to make them compatible with Firefox for Android and the Android operating system.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-13402&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2016/01/orfox64.png&#34; alt=&#34;orfox64&#34; width=&#34;64&#34; height=&#34;64&#34; /&gt;&lt;br /&gt;
&lt;strong&gt;Install now from &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.orfox&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Google Play&lt;/a&gt; or &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;div id=&#39;gallery-15&#39; class=&#39;gallery galleryid-13260 gallery-columns-3 gallery-size-medium&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-15-13004&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-15-13004&#39;&gt;
      Tor-relevant default sites
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-15-13003&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-15-13003&#39;&gt;
      Recognized as Tor Browser
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-15-13001&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-15-13001&#39;&gt;
      Easy access to onion sites!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;In as many ways as possible, we adhere to the design goals of Tor Browser (&lt;a href=&#34;https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.torproject.org/projects/torbrowser/design/%26sa%3DD%26usg%3DAFQjCNGgjQqgDl08Yq1yDT7TRTKh4-8GQA&amp;sa=D&amp;usg=AFQjCNFc5qxj8HcVEo4QHbB4SGLX79PDSg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;a href=&#34;https://www.torproject.org/projects/torbrowser/design/&#34;&gt;https://www.torproject.org/projects/torbrowser/design/&lt;/a&gt;&lt;/a&gt;), by supporting as much of their actual code as possible, and extending their work into the additional Android components of Firefox for Android.&lt;/p&gt;

&lt;p&gt;The Tor software protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where can I find all the relevant Orfox project pieces?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Orfox project tracker roadmap is here: &lt;a href=&#34;https://dev.guardianproject.info/projects/orfox-private-browser/roadmap&#34;&gt;https://dev.guardianproject.info/projects/orfox-private-browser/roadmap&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The Orfox branch of the Tor Browser repository is here: &lt;a href=&#34;https://github.com/guardianproject/tor-browser&#34;&gt;https://github.com/guardianproject/tor-browser&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The Orfox build project is here: &lt;a href=&#34;https://github.com/guardianproject/orfoxfennec&#34;&gt;https://github.com/guardianproject/orfoxfennec&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The primary Tor Browser repository is here: &lt;a href=&#34;https://gitweb.torproject.org/tor-browser.git/&#34;&gt;https://gitweb.torproject.org/tor-browser.git/&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;Automated debug builds of Orfox alpha are available via F-Droid here (install F-Droid on your phone, then copy/paste or open the link to add the repo):&lt;a href=&#34;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&#34;&gt;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&lt;/a&gt;{.external}&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Tor Browser for desktop?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orfox is built from the same source code as Tor Browser (which is built upon Firefox), but with a few minor modifications to the privacy enhancing features to make them compatible with Firefox for Android and the Android operating system. In as many ways as possible, we will adhere to the design goals of Tor Browser (&lt;a href=&#34;https://www.torproject.org/projects/torbrowser/design/&#34;&gt;https://www.torproject.org/projects/torbrowser/design/&lt;/a&gt;{.external}), by supporting as much of their actual code as possible, and extending their work into the additional AF-Droid appndroid components of Firefox for Android.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Orfox code repository is at &lt;a href=&#34;https://github.com/guardianproject/tor-browser&#34;&gt;https://github.com/guardianproject/tor-browser&lt;/a&gt;{.external} and the Tor Browser repository is here:&lt;a href=&#34;https://gitweb.torproject.org/tor-browser.git/&#34;&gt;https://gitweb.torproject.org/tor-browser.git/&lt;/a&gt;{.external}. The Orfox repository is a fork of the Tor Browser repository with the necessary modification and Android-specific code as patches on top of the Tor Browser work. We will keep our repository in sync with updates and release of Tor Browser.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox is built from the Tor Browser repo based on ESR38 (&lt;a href=&#34;https://dev.guardianproject.info/issues/5146&#34;&gt;https://dev.guardianproject.info/issues/5146&lt;/a&gt;{.external}&lt;a href=&#34;https://dev.guardianproject.info/news/221&#34;&gt;https://dev.guardianproject.info/news/221&lt;/a&gt;{.external}) and has only two modified patches that were not relevant or necessary for Android&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox does not currently include the mobile versions of HTTPS Everywhere, No Script and the Tor Browser Button, but these we will be added shortly, now that we have discovered how to properly support automatic installation of extensions on Android (&lt;a href=&#34;https://dev.guardianproject.info/issues/5360&#34;&gt;https://dev.guardianproject.info/issues/5360&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox includes a “Request Mobile Site” option that allows you to change the user-agent from the standard Tor Browser agent to a modified Android specific one: “Mozilla/5.0 (Android; Mobile; rv:31.0) Gecko/20100101 Firefox/31.0”. (&lt;a href=&#34;https://dev.guardianproject.info/issues/5404&#34;&gt;https://dev.guardianproject.info/issues/5404&lt;/a&gt;{.external}). This is useful for being able to see the mobile version of a website, but does reduce the amount your browser blends in with other browsers.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox currently allows for users to bookmark sites, and may have additional data written to disk beyond what the core gecko browser component does. We are still auditing all disk write code, and determining how to appropriately disable or harden it. (&lt;a href=&#34;https://dev.guardianproject.info/issues/5437&#34;&gt;https://dev.guardianproject.info/issues/5437&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox cannot yet be built deterministically, but based on work with the FDroid project, we are aiming for this to be possible in the next year (&lt;a href=&#34;https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise&#34;&gt;https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise&lt;/a&gt;{.external} &lt;a href=&#34;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&#34;&gt;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Firefox for Android?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Beyond the core Tor Browser components, Orfox also must ensure all Android-specific code is properly routed through the Tor proxy, and otherwise hardened to protect against data and privacy leaks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Orfox adds patches at the Android Java code layer to enable proxying of all Java network HTTP communications through the local Orbot HTTP proxy (HTTP localhost:8118 for now, but moving to SOCKS). (&lt;a href=&#34;https://dev.guardianproject.info/issues/5235&#34;&gt;https://dev.guardianproject.info/issues/5235&lt;/a&gt;{.external} &lt;a href=&#34;https://dev.guardianproject.info/issues/5317&#34;&gt;https://dev.guardianproject.info/issues/5317&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox removes the Android permissions for Contacts, Camera, Microphone, Location and NFC (&lt;a href=&#34;https://dev.guardianproject.info/issues/3822&#34;&gt;https://dev.guardianproject.info/issues/3822&lt;/a&gt;{.external}) since the capability of using these features are not in line with the spirit of Tor Browser&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox removes features like WebRTC and support for interaction with Chromecasts or Roku devices, since this type of communication is not compatibility with proxying communication through a TCP-based network like Tor (&lt;a href=&#34;https://dev.guardianproject.info/issues/5358&#34;&gt;https://dev.guardianproject.info/issues/5358&lt;/a&gt;{.external}&lt;a href=&#34;https://dev.guardianproject.info/issues/5357&#34;&gt;https://dev.guardianproject.info/issues/5357&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Orweb?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Orweb is our current default browser for Orbot/Tor mobile users (&lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;https://guardianproject.info/apps/orweb&lt;/a&gt;{.external}) that has been downloaded over 2 million times. It is VERY VERY SIMPLE, as it only has one tab, no bookmark capability, and an extremely minimal user experience.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb is built upon the bundled WebView (Webkit) browser component inside of the Android operating system. This has proven to be problematic because we cannot control the version of that component, and cannot upgrade it directly when bugs are found. In addition, Google has made it very difficult to effectively control the network proxy settings of all aspects of this component, making it difficult to guarantee that traffic will not leak on all devices and OS versions.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb also only provides a very limited amount of capability of Tor Browser, primarily related to reducing browser fingerprinting, minimizing disk writes, and cookie and history management. It trys to mimic some of the settings of Tor Browser, but doesn’t actually use any of the actual code written for Tor Browser security hardening.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb does have an advantage which is that it less than 2MB while Orfox is in the 25-30MB range. This is primarily because Orweb relies on many components built into Android, so it does not need to bundle them. Orfox contains the full stack of code necessary for a complete browser, and thus is more secure and dependable, but also larger. The Mozilla Mobile team is working on reducing the size of their binaries, and the Orfox team is focused on this, as well, since we are disabling some of the components that have contributed the browser bloat.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>PanicKit: making your whole phone respond to a panic button</title>
      <link>https://guardianproject.info/2016/01/12/panickit-making-your-whole-phone-respond-to-a-panic-button/</link>
      <pubDate>Tue, 12 Jan 2016 08:59:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/2016/01/12/panickit-making-your-whole-phone-respond-to-a-panic-button/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard.png&#34; rel=&#34;attachment wp-att-13221&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-150x150.png&#34; alt=&#34;round hazard button&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-13221&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-200x200.png 200w, https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard.png 512w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;Our mobile devices do so many things for us, making it easy to communicate with people in all manners while giving us access to all sorts of information wherever we are. But in times of anxiety and panic, it is difficult to quickly use them. Will you be too shaky to type in your PIN or lock pattern? Will you have enough time to find your trusted contacts and send them a message? On top of that, our mobile devices carry massive amounts of private information in them: banking details, pictures, all of our messages and call logs.&lt;/p&gt;

&lt;p&gt;The kinds of data that we worry about vary widely based on where we are. In many places in the world, the stuff you are reading or the music you are listening to can get you arrested, or the people you are communicating with is enough to send you to jail. We have been adding “panic buttons” to our apps for 5 years now, and now we want to create an ecosystem of apps to create flexible and system-wide responses when we are unfortunate enough to require pressing the personal panic button.&lt;/p&gt;

&lt;p&gt;This work seeks to establish a new level of awareness, understanding and capability for providing specific mobile software features for users who are in a “panic” situations. We define “panic” as at risk of having their mobile device physically compromised or removed from their body, being physically detained themselves, or facing an immediate threat of violence, injury, kidnapping or death. This is not to say we are are building a global “911” system. We seek to explore how software that is explicitly designed for these situations, can provide some amount of assistance to the user, by either protecting their privacy, ensuring that sensitive data is hidden or unrecoverable, or that their support networks are notified of the panic event, and provided with the necessary information to take action.&lt;/p&gt;

&lt;p&gt;Over the past year, we have developed user experience design patterns, an Android library, a new panic button app, and example projects to communicate how a system-wide panic should look. For a quick introduction, check out this video demonstrating a very simple panic setup of &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.ripple&#34; target=&#34;_blank&#34;&gt;Ripple&lt;/a&gt;, a panic button, triggering &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser&#34; target=&#34;_blank&#34;&gt;Orweb&lt;/a&gt;, a private browser:&lt;/p&gt;

&lt;h2 id=&#34;make-your-app-respond-in-times-of-panic&#34;&gt;Make your app respond in times of panic&lt;/h2&gt;

&lt;p&gt;The ultimate goal of PanicKit is of course to make apps respond with actions that help protect the user. This can be as simple as locking the app when it has a passphrase, or the response can combine a number of actions into a coherent response: a messaging app locks its data and disguises itself as a game while sending out the panic message that includes the user’s location. There is a lot of complexity in all this, especially with many apps involved, so it is essential to always simplify the experience as much as possible. Thinking about panic situations is stressful, setting up the panic response should not add to that stress. Towards that end, it is better to sacrifice some flexibility if that means solid gains in simplicity.&lt;/p&gt;

&lt;p&gt;The first key design pattern is the default, non-destructive response. If all apps that support PanicKit include sensible defaults, then pressing the panic button can have a useful response without the user having to setup anything at all. In order to achieve this, we divide possible responses into two categories: non-destructive vs destructive. An app that has a PIN lock can be locked without destroying anything, the user just needs to unlock it. A browser that wipes the cache can always just download the files again next time the user goes to that website. If an app only has a default, non-destructive response, then there is no need to have a configuration interface; it can be represented purely in the trigger app’s list of responders, where it will be marked “App hides when triggered”.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/01/02.0.png&#34; rel=&#34;attachment wp-att-13212&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2016/01/02.0-939x1024.png&#34; alt=&#34;panic responder setup&#34; width=&#34;780&#34; height=&#34;851&#34; class=&#34;alignnone size-large wp-image-13212&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/01/02.0-939x1024.png 939w, https://guardianproject.info/wp-content/uploads/2016/01/02.0-275x300.png 275w, https://guardianproject.info/wp-content/uploads/2016/01/02.0-768x838.png 768w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many of the most valuable panic responses require doing something that can not be undone, so we classify these as destructive. Deleting data is exactly what is needed in a panic situation, but the user must opt-in to enable this kind of response in order to prevent data from being mistakenly deleted. Sending a message can also be a very valuable panic response. But sending a message to the wrong person can cause harm, sending it at the wrong time can destroy people’s expectations: if you cry wolf too often, then people will stop hearing it. Disguising an app can also save people a lot of trouble. But if the user does not know this is going to happen, their experience will be that the app was deleted. So these are all destructive responses and require the user to enable them via a panic setup screen.&lt;/p&gt;

&lt;p&gt;For apps that offer configurable responses, it is essential to present those options clearly with as little clutter as possible. The panic setup should be on a devoted screen, not mixed in with other settings, and takes up the full screen. Panic is a time of stress, the panic response should strive to avoid adding any stress on top of that. When an app offers a few options for responses, then even the devoted screen can quickly get complicated: a list of possibilities, a text field for a message, and a way to manage the contacts to send to. It is important that the entire response is easily visible in one screen so that the user can quickly and easily tell how that app will respond. The entire panic setup should be on a single screen with as little scrolling as possible. Large widgets like a message text field should be placed at the bottom, and be collapsed if not active.&lt;/p&gt;

&lt;p&gt;To get started, add the PanicKit library to your &lt;em&gt;build.gradle&lt;/em&gt;: &lt;code&gt;info.guardianproject.panic:panic:0.5&lt;/code&gt;, then check out the FakePanicResponder example app, as well as how it is implemented in real apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/SMSSecure/SMSSecure/blob/8b2d61161716dcae33c7ae2fd9540931b632030a/src/org/smssecure/smssecure/PanicResponderActivity.java&#34; target=&#34;_blank&#34;&gt;SMSSecure lock as default response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/theScrabi/NewPipe/pull/133&#34; target=&#34;_blank&#34;&gt;NewPipe clear search history as default response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/zom/Zom-Android/blob/master/app/src/main/java/org/awesomeapp/messenger/ui/PanicSetupActivity.java&#34; target=&#34;_blank&#34;&gt;Zom with multiple destructive responses and a default lock response&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;make-your-own-panic-button-app&#34;&gt;Make your own panic button app&lt;/h2&gt;

&lt;p&gt;One key reason why we took on this project is to spur more innovation in what a “panic button” can look like. There are currently two solid panic trigger apps that use PanicKit: &lt;a href=&#34;https://panicbutton.io&#34; target=&#34;_blank&#34;&gt;PanicButton&lt;/a&gt; and &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.ripple&#34; target=&#34;_blank&#34;&gt;Ripple&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are many ideas for what a panic button can look like, now it is easy to make one that will actually trigger real things. A custom panic button app only needs to send the trigger message (technically an &lt;code&gt;ACTION_TRIGGER Intent&lt;/code&gt;), which will make apps lock, hide, delete private data, send a message, etc. Here are some ideas for panic button apps that we would love to see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a “&lt;a href=&#34;https://en.wikipedia.org/wiki/Dead_man%27s_switch&#34; target=&#34;_blank&#34;&gt;dead man’s switch&lt;/a&gt;” that triggers if the user has not checked in within the last hour&lt;/li&gt;
&lt;li&gt;a “geo-fence” that triggers if the device comes too close to a known detention center&lt;/li&gt;
&lt;li&gt;a sensor monitor that triggers on absence of movement&lt;/li&gt;
&lt;li&gt;a custom Bluetooth button that looks like a belt buckle, &lt;a href=&#34;http://news.discovery.com/tech/gear-and-gadgets/sleek-jewelry-hides-a-panic-button-140220.htm&#34; target=&#34;_blank&#34;&gt;brooch&lt;/a&gt;, or other innocuous object&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2016/01/01.3.png&#34; rel=&#34;attachment wp-att-13207&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2016/01/01.3-149x300.png&#34; alt=&#34;Ripple&#39;s responders&#34; width=&#34;149&#34; height=&#34;300&#34; class=&#34;alignright size-medium wp-image-13207&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/01/01.3-149x300.png 149w, https://guardianproject.info/wp-content/uploads/2016/01/01.3-768x1544.png 768w, https://guardianproject.info/wp-content/uploads/2016/01/01.3-509x1024.png 509w, https://guardianproject.info/wp-content/uploads/2016/01/01.3.png 1006w&#34; sizes=&#34;(max-width: 149px) 100vw, 149px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An important part of the user experience of the panic button app is how it represents what the trigger will do. For that, we paid careful attention to the design of the list of “panic responder” apps. It should quickly and clearly show which apps are enabled. In our pattern, enabled apps should be sorted to the top of the list and disabled apps should be greyed out including the app icon. There should also be a standard switch to both allow the user to enable/disable an app as well as provide extra feedback on whether an app is enabled or not. That provides three visual channels that communicate what will respond (top of the list, in full color, and with the shape of a switch that is turned on). For a thorough overview of design patterns, see &lt;a href=&#34;https://dev.guardianproject.info/boards/21/topics/390&#34; target=&#34;_blank&#34;&gt;Panic Design Patterns&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Panic responders can have both non-destructive and destructive responses, and some are only appropriate for a full on panic. If you are just feeling anxious, and are worried that the situation is getting dangerous, then deleting files is not appropriate but locking and hiding is. An app could instead be an “anxious trigger” app, and be limited to only non-destructive responses. A trigger app can only send one kind of trigger message (the &lt;code&gt;ACTION_TRIGGER Intent&lt;/code&gt;), to keep the inter-app interaction simple. So the anxious trigger app would instead not offer the “EDIT” option (implemented with an &lt;code&gt;ACTION_CONNECT Intent&lt;/code&gt;), and that limits the responses to the default, non-destructive responses in all the apps that receive a trigger from the anxious trigger app.&lt;/p&gt;

&lt;p&gt;To get started, add the panickit library to your build.gradle &lt;code&gt;info.guardianproject.panic:panic:0.5&lt;/code&gt;, then check out the &lt;code&gt;PanicTrigger&lt;/code&gt; class. You can see how it is implemented in these example apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/Ripple&#34; target=&#34;_blank&#34;&gt;Ripple&lt;/a&gt; – &lt;em&gt;a real panic button that is simple enough to be an example&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/FakePanicButton&#34; target=&#34;_blank&#34;&gt;FakePanicButton&lt;/a&gt; – &lt;em&gt;a fake app that is only meant to be an example&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;more-work-and-open-questions&#34;&gt;More work and open questions&lt;/h2&gt;

&lt;p&gt;There is a lot of potential for making our mobile devices help us in anxious and panicked moments. PanicKit has established that a system-wide panic response can be simple, approachable, and effective. But there is definitely much work to be done. There is an organization forming around this work, The &lt;a href=&#34;https://github.com/PanicInitiative&#34; target=&#34;_blank&#34;&gt;Panic Initiative&lt;/a&gt;, that will build upon the work done by Amnesty International, &lt;a href=&#34;https://iilab.org/&#34; target=&#34;_blank&#34;&gt;iilab&lt;/a&gt;, and our PanicKit work.&lt;/p&gt;

&lt;p&gt;There are of course still many open questions that we are very interested in, and hope to see more people working on this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Should this be handled on the system level?&lt;/li&gt;
&lt;li&gt;How the trigger app query the responder for its action without leaking private data like contacts or location?&lt;/li&gt;
&lt;li&gt;How can panic and anxiety be represented graphically, using colors, iconography, UI, etc.?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more discussion and resources, check out the &lt;a href=&#34;https://dev.guardianproject.info/projects/panic/wiki&#34; target=&#34;_blank&#34;&gt;PanicKit wiki&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How to Migrate Your Android App’s Signing Key</title>
      <link>https://guardianproject.info/2015/12/29/how-to-migrate-your-android-apps-signing-key/</link>
      <pubDate>Tue, 29 Dec 2015 12:03:54 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/12/29/how-to-migrate-your-android-apps-signing-key/</guid>
      <description>

&lt;p&gt;&lt;strong&gt;It is time to update to a stronger signing key for your Android app! The old default RSA 1024-bit key is weak and officially deprecated.&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&#34;what&#34;&gt;What?&lt;/h2&gt;

&lt;p&gt;The Android OS requires that every application installed be signed by a digital key. The purpose behind this signature is to identify the author of the application, allow this author and this author alone to make updates to the app, as well as provide a mechanism to establish inter-application trust. The Android security model defines an app by two things: the package name (aka &lt;a href=&#34;https://developer.android.com/reference/android/content/Context.html#getPackageName%28%29&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;packageName&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/applicationid-vs-packagename&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;ApplicationID&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://developer.android.com/guide/topics/manifest/manifest-element.html#package&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;package&lt;/code&gt;&lt;/a&gt;) and the signing key. If either of those are different, then Android considers it a different app. When the package name and signing key of one APK match an installed app, then the APK is considered an update and Android will replace the installed app with the APK. If the APK is signed by a different key, then Android will prevent installing and updating.&lt;/p&gt;

&lt;p&gt;First thing is to see what the current signing key is. Check any app’s signing key using our free utility app &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.checkey&#34; target=&#34;_blank&#34;&gt;Checkey&lt;/a&gt;:&lt;/p&gt;

&lt;div id=&#34;attachment_13170&#34; style=&#34;width: 790px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/12/checkey-1.png&#34; rel=&#34;attachment wp-att-13170&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13170&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/12/checkey-1-1024x576.png&#34; alt=&#34;Lookout needs to generate a new key!&#34; width=&#34;780&#34; height=&#34;439&#34; class=&#34;size-large wp-image-13170&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/12/checkey-1-1024x576.png 1024w, https://guardianproject.info/wp-content/uploads/2015/12/checkey-1-300x169.png 300w, https://guardianproject.info/wp-content/uploads/2015/12/checkey-1-768x432.png 768w, https://guardianproject.info/wp-content/uploads/2015/12/checkey-1-350x197.png 350w, https://guardianproject.info/wp-content/uploads/2015/12/checkey-1-860x484.png 860w, https://guardianproject.info/wp-content/uploads/2015/12/checkey-1.png 1280w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13170&#34; class=&#34;wp-caption-text&#34;&gt;
    Lookout needs to generate a new key!
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The official Android docs have tons of useful information about what the signing keys are good for, how to generate them, and how to use them. Unfortunately, it doesn’t provide any instructions for migrating, and for many years, 1024-bit RSA was the default. But first, why would you want or need to migrate?&lt;/p&gt;

&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;

&lt;p&gt;Depending on when you created your signing key, you might have a particularly weak key. The primary danger of a weak key is that an adversary could break your key in order to generate fake APK signatures. Then those malicious APKs can be installed as updates to your app. There are other nefarious purposes depending on how you use the signing key in your apps. Or if you are unfortunate enough to have suffered a loss of your private key material, then it is definitely time for a new signing key.&lt;/p&gt;

&lt;p&gt;According to our friends at the &lt;a href=&#34;https://androidobservatory.org/stats&#34; title=&#34;Android Observatory&#34;&gt;Android Observatory&lt;/a&gt;, over 64% of Android apps in their data store use 1024-bit signing keys (RSA or DSA).&lt;/p&gt;

&lt;div id=&#34;visualization&#34; style=&#34;width: 600px; height: 400px;&#34;&gt;
&lt;/div&gt;

&lt;p&gt;There are several good reasons to migrate off of 1024-bit RSA keys, even though there is no &lt;em&gt;public&lt;/em&gt; proof of a 1024 prime factorization required to generate any 1024-bit key at will. The evidence has been mounting for a decade.&lt;/p&gt;

&lt;p&gt;NIST’s &lt;a href=&#34;http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf&#34;&gt;official guidelines&lt;/a&gt; (PDF, page 64 and 67) deprecated 1024-bit RSA keys at the end of 2013. This deprecation by NIST isn’t an indication that 1024-bit RSA is compromised, instead it is a preemptive move to stay ahead of attacks. Confidence in NIST might be shaken in light of &lt;a href=&#34;http://blog.cryptographyengineering.com/2013/09/on-nsa.html&#34;&gt;recent revelations&lt;/a&gt;, but in this case increasing the RSA key size is unlikely to trigger any secret NSA backdoors. If anything, the deprecation year could have been extended slightly to allow the NSA a window where they had the capacity to factor 1024-bit keys and everyone was still using them. So, it’s time to move on.&lt;/p&gt;

&lt;p&gt;For an example, a decade ago the cost of building special purpose hardware capable of breaking a single 1024-bit RSA key in one year was estimated at $10 million (&lt;a href=&#34;http://tau.ac.il/~tromer/papers/cbtwirl.pdf&#34;&gt;Adi Shamir, Eran Tromer, On the cost of factoring RSA-1024&lt;/a&gt;, 2003). Presumably the techniques have improved by orders of magnatude, and the hardware value depreciated. It is conceivable the cost has fallen enough to be affordable not only by nation-state actors, but by large criminal enterprises too.&lt;/p&gt;

&lt;p&gt;For a comprehensive talk on the state of the art (as of December 2012) when it comes to breaking 1024-bit RSA, check out the 29C3 talk &lt;a href=&#34;http://events.ccc.de/congress/2012/Fahrplan/events/5275.en.html&#34; title=&#34;FactHacks: RSA factorization in the real world&#34;&gt;FactHacks: RSA factorization in the real world&lt;/a&gt; with the cryptographers Daniel J. Bernstein, Nadia Heninger, and Tanja Lange (&lt;a href=&#34;http://events.ccc.de/congress/2012/wiki/Documentation#Recordings&#34; title=&#34;29C3 Recordings&#34;&gt;watch recording&lt;/a&gt;)&lt;/p&gt;

&lt;h2 id=&#34;how&#34;&gt;How?&lt;/h2&gt;

&lt;p&gt;Migrating to a strong key for an Android app is, unfortunately, not so simple. If you are publishing a &lt;em&gt;new&lt;/em&gt; app to the app store, then simply generate a new strong signing key and you’re done. Congratulations! However, there exists no easy way to update your signing key for an existing application, because an installed application can only take updates from an APK signed with &lt;em&gt;the same&lt;/em&gt; key.&lt;/p&gt;

&lt;p&gt;Here we outline a basic method with which you can use to fake an update to your signing key. This is not as user friendly as we would like. Some of the hard facts of performing this process is that for most app stores including Google Play, you will lose ratings and reviews since the app will show up with a new package name, and the app store will treat it like an entirely new app. Also, the user will have to manually uninstall the original app once they finish the procedure. Here is a rough outline of the process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;generate the new signing key, &lt;em&gt;RSA 4096&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Update the first app, &lt;em&gt;App1&lt;/em&gt;, with a mechanism for exporting private data, using &lt;a href=&#34;https://github.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34;&gt;TrustedIntents&lt;/a&gt; with a signature pin of the new key, &lt;em&gt;RSA 4096&lt;/em&gt;, which &lt;a href=&#34;https://guardianproject.info/2014/07/30/introducing-trustedintents-for-android/&#34; target=&#34;_blank&#34;&gt;Checkey will generate for you&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a new version of the app with a different package name, &lt;em&gt;App2&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;sign &lt;em&gt;App2&lt;/em&gt; with new key, &lt;em&gt;RSA 4096&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Add method to &lt;em&gt;App2&lt;/em&gt; for receiving user data from &lt;em&gt;App1&lt;/em&gt;, including a signature pin of the old signing key, &lt;em&gt;RSA 1024&lt;/em&gt;, for use with TrustedIntents&lt;/li&gt;
&lt;li&gt;Publish &lt;em&gt;App2&lt;/em&gt; to the app stores&lt;/li&gt;
&lt;li&gt;From &lt;em&gt;App1&lt;/em&gt;, prompt user to install &lt;em&gt;App2&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;runs and imports data from &lt;em&gt;App1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;App2&lt;/em&gt; prompts user to uninstall &lt;em&gt;App1&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;, there will be some easier tools for handling this. The F-Droid system is already used to multiple signing keys per app since F-Droid uses its own signing key for many of the apps it releases, and that F-Droid signing key is different from the signing key that the original developer used in their Google Play uploads. F-Droid will likely be able to support APKs with the same package name but with multiple signing keys.&lt;/p&gt;

&lt;h3 id=&#34;a-note-on-compatibility&#34;&gt;A Note on Compatibility&lt;/h3&gt;

&lt;p&gt;There is security vs compatibility trade off a few might be interested in. Pre-4.3, Android did not support any signature algorithms except SHA1. With Android &amp;gt;= 4.3, SHA256 support was fixed, and SHA384, SHA512, and ECDSA were added (&lt;a href=&#34;https://code.google.com/p/android/issues/detail?id=38321&#34;&gt;source&lt;/a&gt;). There are still android 2.3.3 (&lt;code&gt;android-10&lt;/code&gt;) devices being sold, so anyone interested in backwards compatibility will have to heed this.&lt;/p&gt;

&lt;p&gt;Also, the larger the keysize and hashsize used, the longer it takes to install and update the application. So extremely large values might be unsuitable for slower hardware. The following probably doesn’t buy you a tremendous amount of additional security but cranks the paranoia to 11. It does so at the cost of compatibility and performance.&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
Gen with:&amp;lt;br /&amp;gt;
  keytool -genkey -v -keystore test.keystore -alias testkey -keyalg RSA -keysize 4096 -sigalg SHA512withRSA -dname &amp;quot;cn=Test,ou=Test,c=CA&amp;quot; -validity 10000&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Sign with:&amp;lt;br /&amp;gt;
  jarsigner -verbose -sigalg SHA512withRSA -digestalg SHA512 -keystore test.keystore test.apk testkey&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We have some scripts that we use to generate keys in our &lt;a href=&#34;https://github.com/guardianproject/smartcard-apk-signing&#34; target=&#34;_blank&#34;&gt;smartcard-apk-signing&lt;/a&gt; repo. It is also possible to generate an Android signing key using openssl or other libraries. It is often wise to use different software than standard for doing things like generating keys. Since the Java &lt;code&gt;keytool&lt;/code&gt; approach that is the standard, recommended method for Android, that makes it a target for adversaries that are interested in breaking keys. If a key was generated using &lt;code&gt;openssl&lt;/code&gt; or GNU TLS instead, for example, then that key would not be affected if &lt;code&gt;keytool&lt;/code&gt; had &lt;a href=&#34;https://freedom-to-tinker.com/blog/kroll/software-transparency-debian-openssl-bug/&#34; target=&#34;_blank&#34;&gt;a bug like Debian’s&lt;/a&gt; &lt;a href=&#34;https://security-tracker.debian.org/tracker/CVE-2008-0166&#34; target=&#34;_blank&#34;&gt;CVE-2008-0166&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Good translations are essential to usability</title>
      <link>https://guardianproject.info/2015/12/09/good-translations-are-essential-to-usability/</link>
      <pubDate>Wed, 09 Dec 2015 17:20:15 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/12/09/good-translations-are-essential-to-usability/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/12/Rosetta-Stone.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/12/Rosetta-Stone-230x300.jpg&#34; alt=&#34;Rosetta Stone&#34; width=&#34;230&#34; height=&#34;300&#34; class=&#34;alignright size-medium wp-image-13155&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/12/Rosetta-Stone-230x300.jpg 230w, https://guardianproject.info/wp-content/uploads/2015/12/Rosetta-Stone-786x1024.jpg 786w, https://guardianproject.info/wp-content/uploads/2015/12/Rosetta-Stone.jpg 1164w&#34; sizes=&#34;(max-width: 230px) 100vw, 230px&#34; /&gt;&lt;/a&gt;All too often, translation of an app are treated as an afterthought. It is not something that the app developers see, since they create the software in languages that work best for them. So the software looks complete to the developers. But for anyone using the software in a different language, translation is essential in order for the app to be useful. If you can’t understand the words that you see in the app’s interface, it is going to be difficult or impossible to use that app.&lt;/p&gt;

&lt;p&gt;The part of this question that is still open is how best to manage translating software. From the point of view of the app’s developer, it is not possible to check all of the translations since no one speaks &lt;a href=&#34;https://www.transifex.com/otf/orbot/&#34; target=&#34;_blank&#34;&gt;that many languages&lt;/a&gt; fluently. Many of our apps are translated into 30 or more languages, represented by both pictograms and more than 10 alphabets. No one could read all of those writing systems, let alone understand all the words written in them. So inevitably, developers must trust many other people to do accurate translations, and to not slip in false or misleading information.&lt;/p&gt;

&lt;p&gt;We receive substantial translations from random internet users who come along and contribute their time into translating our apps. We aim to make that process as easy as possible by posting clean source files to Transifex, the web service we currently use. We also work a lot with the &lt;a href=&#34;https://www.transifex.com/otf&#34; target=&#34;_blank&#34;&gt;OTF Translation Hub&lt;/a&gt;, which organizes the chaos of all those apps and contributors into regular events and completed translations. Organized community contributions work very well for building up baseline translations and keeping polished translations updated when the software changes. It is both a valuable and cost-effective resource, and I think its a model that can be emulated for other collections of software.&lt;/p&gt;

&lt;p&gt;Nevertheless, for certain target languages like Tibetan or Belarusian, community contributions are rare. We get lots of contributions for many languages, like French, German, and Spanish, but other languages, like Arabic, Chinese, Persian, and Burmese get very few contributions from volunteers. Also, in order to get completed, polished translations, it is necessary to pay translators so they can devote a solid, concentrated chunk of time on making sure the whole translation works. This person can then spend time thinking about the finer points which can have a large impact on the user experience: the tone and feeling of the language, whether it is funny, serious, cute, matter of fact, etc.&lt;/p&gt;

&lt;p&gt;So really, in order to deliver software that is translated into many languages, opening up the source files to get as many contributions as possible will get a lot of work done. But cultivating relationships with translators to oversee the whole process is essential in order to have the translations match the quality of the software.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>First Reproducible Builds Summit</title>
      <link>https://guardianproject.info/2015/12/09/first-reproducible-builds-summit/</link>
      <pubDate>Wed, 09 Dec 2015 05:02:48 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/12/09/first-reproducible-builds-summit/</guid>
      <description>&lt;p&gt;I was just in Athens for the “&lt;a href=&#34;https://reproducible-builds.org/events/athens2015/&#34;&gt;Reproducible Builds Summit&lt;/a&gt;“, an &lt;a href=&#34;https://aspirationtech.org/&#34; target=&#34;_blank&#34;&gt;Aspiration&lt;/a&gt;-run meeting focused on the issues of getting all software builds to be reproducible. This means that anyone starting with the same source code can build the &lt;em&gt;exact&lt;/em&gt; same binary, bit-for-bit. At first glance, it sounds like this horrible, arcane detail, which it is really. But it provides tons on real benefits that can save lots of time. And in terms of programming, it can actually be quite fun, like doing a puzzle or sudoku, since there is a very clear point where you have “won”.&lt;/p&gt;

&lt;p&gt;Here are some examples of real benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;makes it easy to ensure no malware was inserted into software during the build process (e.g. the &lt;a href=&#34;https://en.wikipedia.org/wiki/XcodeGhost&#34; target=&#34;_blank&#34;&gt;XCodeGhost&lt;/a&gt; malware we just saw)&lt;/li&gt;
&lt;li&gt;provides a QA tool to make sure that changes in the source code of a project produce only the expected results&lt;/li&gt;
&lt;li&gt;allows F-Droid to use the developer’s APK signature while still verifying that apps build from 100% free software&lt;/li&gt;
&lt;li&gt;make it possible to optimize and profile build processes while guaranteeing the results are exactly the same&lt;/li&gt;
&lt;li&gt;for large projects, it can greatly speed up the build process (think rebuilding Gmail)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Represented there was: &lt;a href=&#34;http://https//www.debian.org&#34; target=&#34;_blank&#34;&gt;Debian&lt;/a&gt;, Google, &lt;a href=&#34;https://www.freebsd.org/&#34; target=&#34;_blank&#34;&gt;FreeBSD&lt;/a&gt;, &lt;a href=&#34;https://getfedora.org/&#34; target=&#34;_blank&#34;&gt;Fedora&lt;/a&gt;, &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&#34;http://brew.sh/&#34; target=&#34;_blank&#34;&gt;Homebrew&lt;/a&gt;, &lt;a href=&#34;https://www.macports.org/&#34; target=&#34;_blank&#34;&gt;MacPorts&lt;/a&gt;, &lt;a href=&#34;https://www.netbsd.org/&#34; target=&#34;_blank&#34;&gt;NetBSD&lt;/a&gt;, &lt;a href=&#34;https://www.archlinux.org/&#34; target=&#34;_blank&#34;&gt;Arch Linux&lt;/a&gt;, &lt;a href=&#34;https://www.coreboot.org/&#34; target=&#34;_blank&#34;&gt;Coreboot&lt;/a&gt;, &lt;a href=&#34;https://openwrt.org/&#34; target=&#34;_blank&#34;&gt;OpenWRT&lt;/a&gt;, and a bunch of other&lt;br /&gt;
projects like an automotive Linux distro called &lt;a href=&#34;https://wiki.baserock.org/&#34; target=&#34;_blank&#34;&gt;Baserock&lt;/a&gt;, the &lt;a href=&#34;https://www.gnu.org/software/guix/&#34; target=&#34;_blank&#34;&gt;Guix&lt;/a&gt; package manager, a Linux distro called &lt;a href=&#34;https://nixos.org/&#34; target=&#34;_blank&#34;&gt;NixOS&lt;/a&gt;, &lt;a href=&#34;https://www.haskell.org/&#34; target=&#34;_blank&#34;&gt;Haskell&lt;/a&gt; hackers, etc.&lt;/p&gt;

&lt;p&gt;The organizers are already planning a second meeting, probably in April in Western Europe, and are looking to get more projects involved. Lots of people were talking about how it would be great to get some Android ROM developers involved. So if you are a contributor to CyanogenMod, Copperhead, &lt;a href=&#34;https://omnirom.org/&#34; target=&#34;_blank&#34;&gt;OmniROM&lt;/a&gt;, &lt;a href=&#34;http://www.replicant.us/&#34; target=&#34;_blank&#34;&gt;Replicant&lt;/a&gt;, Blackphone, etc. and would be interested in attending, please let us know!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>CipherKit reproducible builds</title>
      <link>https://guardianproject.info/2015/09/21/cipherkit-reproducible-builds/</link>
      <pubDate>Mon, 21 Sep 2015 10:54:05 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/09/21/cipherkit-reproducible-builds/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg&#34; alt=&#34;alberti cipher disk&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-3079&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg 245w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have been on a kick recently with making our build process support “reproducible builds” aka “deterministic builds”. What is this reproducible thing? Basically, what that means is that you can run a script and end up with the &lt;em&gt;exact&lt;/em&gt; same binary file as our official releases, be it a APK, JAR, AAR, whatever. That lets anyone verify that our releases are produced only from the source in git, without including anything else, whether deliberately or accidentally (like malware).&lt;/p&gt;

&lt;p&gt;Our core CipherKit libraries are the more sensitive areas, so that’s where we’ve started. We generally work on Debian and Ubuntu and recommend that platform, but we recognized that OSX is a popular platform for Android developers also. So this process will work on OSX too, using your favorite package manager (e.g. Fink, MacPorts, or Homebrew).&lt;/p&gt;

&lt;p&gt;Then you will end up with &lt;code&gt;IOCipher-v0.3.zip&lt;/code&gt;, which includes the .jar and .so files. If your setup is close enough to our release build setup, the contents of that ZIP file will be the same as the official release. Right now, it is difficult to get the exact same binary file (e.g. the same sha256 sum) because of the timestamps in the .zip and varitions caused by using different versions of Java, and Android SDK and NDK. To check the contents of your build versus the official release:&lt;/p&gt;

&lt;pre&gt;sudo apt-get install faketime unzip wget meld
cd /tmp
wget https://guardianproject.info/releases/IOCipher-v0.3.zip
wget https://guardianproject.info/releases/IOCipher-v0.3.zip.sig
gpg --verify IOCipher-v0.3.zip.sig
git clone https://github.com/guardianproject/IOCipher
cd IOCipher
git checkout v0.3
./make-release-build
./compare-to-official-release IOCipher-v0.3.zip /tmp/IOCipher-v0.3.zip
&lt;/pre&gt;

&lt;h3 id=&#34;what-is-happening-here&#34;&gt;What is happening here?&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;meld&lt;/em&gt; (&lt;em&gt;FileMerge&lt;/em&gt; on OSX) will show a listing of all files listed, and which ones are different. You can see that the contents of the &lt;em&gt;.class&lt;/em&gt; files and &lt;em&gt;.so&lt;/em&gt; files all match, but there will be inevitable differences in some of the metadata. Native builds are much more sensitive to changes in the toolchain. The Java &lt;em&gt;.class&lt;/em&gt; files are usually reproducible even when using different versions of Java and the Android SDK. Native builds are almost never reproducible if the NDK version is at all different. Sometimes even the host platform where the NDK is running (e.g. Ubuntu vs OSX, or 64-bit vs 32-bit) will cause differences in the final binaries.&lt;/p&gt;

&lt;div id=&#34;attachment_13105&#34; style=&#34;width: 883px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-MANIFEST.MF-_tmp-IOCipher-v0.3-MANIFEST.MF-Meld.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13105&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-MANIFEST.MF-_tmp-IOCipher-v0.3-MANIFEST.MF-Meld.png&#34; alt=&#34;The NDK version and build platform are listed in the manifest.&#34; width=&#34;873&#34; height=&#34;591&#34; class=&#34;size-full wp-image-13105&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-MANIFEST.MF-_tmp-IOCipher-v0.3-MANIFEST.MF-Meld.png 873w, https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-MANIFEST.MF-_tmp-IOCipher-v0.3-MANIFEST.MF-Meld-300x203.png 300w&#34; sizes=&#34;(max-width: 873px) 100vw, 873px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13105&#34; class=&#34;wp-caption-text&#34;&gt;
    The NDK version and build platform are listed in the manifest.
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_13104&#34; style=&#34;width: 883px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-_tmp-IOCipher-v0.3-Meld.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-13104&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-_tmp-IOCipher-v0.3-Meld.png&#34; alt=&#34;The Java .class files are exactly the same, but the native .so files are not.&#34; width=&#34;873&#34; height=&#34;591&#34; class=&#34;size-full wp-image-13104&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-_tmp-IOCipher-v0.3-Meld.png 873w, https://guardianproject.info/wp-content/uploads/2015/09/Screenshot-.-IOCipher-v0.3-_tmp-IOCipher-v0.3-Meld-300x203.png 300w&#34; sizes=&#34;(max-width: 873px) 100vw, 873px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-13104&#34; class=&#34;wp-caption-text&#34;&gt;
    The Java .class files are exactly the same, but the native .so files are not.
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/09/1024px-End_CEST.svg_.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/09/1024px-End_CEST.svg_-150x150.png&#34; alt=&#34;faketime&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-13098&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/09/1024px-End_CEST.svg_-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2015/09/1024px-End_CEST.svg_-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2015/09/1024px-End_CEST.svg_-200x200.png 200w, https://guardianproject.info/wp-content/uploads/2015/09/1024px-End_CEST.svg_.png 1024w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Timestamps are a very common issue when trying to reproduce a build. The release build process uses &lt;a href=&#34;https://github.com/wolfcw/libfaketime&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;faketime&lt;/code&gt;&lt;/a&gt; to provide consistent timestamps, which are picked from the git commit. &lt;code&gt;faketime&lt;/code&gt; freezes the clock entirely for native builds, so any timestamps from that process will always be exactly the same. Unfortunately, some parts of the &lt;code&gt;ant&lt;/code&gt; Java build rely on the clock moving forward, so freezing clock makes the build freeze forever. Instead, &lt;code&gt;faketime&lt;/code&gt; sets the clock using the time from the git commit, then moves time forward at 5% of the normal speed. That makes it much more likely that the timestamps will be the same, but usually what seems to happen is that the timestamps are 2 seconds off, which is the time resolution of the ZIP format. A better solution is needed here for JARs, they are easiest to verify using a sha256 sum. JAR signatures mostly seem not worth the pain they introduce. APKs signatures do not sign the whole APK, only the contents, so the varying timestamps do not matter when verifying using a APK signature. Another example of a difference: if comparing a debug build to a release build, then &lt;code&gt;BuildConfig.class&lt;/code&gt; will be difference because of the debug stuff. The sort order of the metadata in the jar MANIFEST.MF might also be different.&lt;/p&gt;

&lt;h3 id=&#34;the-end-goal&#34;&gt;The end goal&lt;/h3&gt;

&lt;p&gt;Reproducing builds is an arcane process, for sure. It is a means to an end. The goal is to get to the point where well known binaries, published in places like MavenCentral or jCenter, can easily be verified by anyone who cares to try. Or people could even set up &lt;a href=&#34;https://f-droid.org/wiki/page/Verification_Server&#34; target=&#34;_blank&#34;&gt;servers that automatically try&lt;/a&gt; to reproduce any JAR used in a project.&lt;/p&gt;

&lt;p&gt;Then people can verify those JARs in a fully decentralized manner, and publish certifications in their preferred format (GPG signatures, SHA256 sums for gradle-witness, etc). Then we can feel safe getting the release from anywhere on the internet, no matter the level of security or malware infestation.&lt;/p&gt;

&lt;p&gt;Towards that goal, we have been getting our libraries all nicely packaged up and submitted to jCenter (the default gradle repository for Android). Here are the relevant bits to include in your build.gradle:&lt;/p&gt;

&lt;pre&gt;compile &#39;info.guardianproject.cacheword:cachewordlib:0.1&#39;
compile &#39;info.guardianproject.iocipher:IOCipher:0.3&#39;
compile &#39;info.guardianproject.netcipher:netcipher:1.2&#39;
compile &#39;info.guardianproject.trustedintents:trustedintents:0.0&#39;

compile &#39;net.freehaven.tor.control:jtorctl:0.2&#39;
&lt;/pre&gt;

&lt;p&gt;SQLCipher-for-Android is coming soon:&lt;br /&gt;
&lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher/pull/197&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher/pull/197&#34;&gt;https://github.com/sqlcipher/android-database-sqlcipher/pull/197&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
I hope to also get them up on MavenCentral as well, since that one is also quite common on Android, and is a community run resource versus Bintray’s jCenter, which is purely a for-profit company.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>CameraV: Secure Verifiable Photo &amp; Video Camera</title>
      <link>https://guardianproject.info/archive/camerav/</link>
      <pubDate>Tue, 28 Jul 2015 03:07:37 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/camerav/</guid>
      <description>&lt;p&gt;THIS PROJECT IS NO LONGER ACTIVE - Please visit [ProofMode.org][&lt;a href=&#34;https://proofmode.org&#34;&gt;https://proofmode.org&lt;/a&gt;] for our latest work in verifiable media capture.&lt;/p&gt;

&lt;p&gt;CameraV is the easiest way to capture and share verifiable photos and video proof on a smartphone or tablet, all the while keeping it entirely secure and private. &lt;em&gt;This is the official app from the &lt;a href=&#34;https://blog.witness.org/2013/01/how-informacam-improves-verification-of-mobile-media-files/&#34;&gt;InformaCam&lt;/a&gt; project, a partnership between the Guardian Project and &lt;a href=&#34;https://witness.org&#34;&gt;WITNESS&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;CameraV is easy to learn and simple to use (and insanely secure &amp;amp; powerful under the covers&amp;hellip;). All photos and videos you take are password-protected and 100% encrypted on your device. You can also add private notes and tags to any photo or video, and choose who you share them with. CameraV also privately stores data from your device sensors and provides built-in tools to see and share it. Finally, it has a built-in secure camera that is simple, streamlined and even supports selfies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;READ THE USER GUIDE: &lt;a href=&#34;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&#34;&gt;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CameraV is based on the InformaCam platform, and was developed for use by activists, journalists, advocates and others, working in very difficult and high-risk situations, to capture and gather visual evidence and proof of abuse and rights violations. It can also be used in your daily life to capture any moment, and keep them safe and private. You can also use it for documenting your own evidence, after accidents, for real estate needs, or any where you need &amp;ldquo;proof&amp;rdquo;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OPEN-SOURCE AND FREE: &lt;a href=&#34;https://github.com/guardianproject/camerav&#34;&gt;https://github.com/guardianproject/camerav&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;JOIN THE COMMUNITY: &lt;a href=&#34;https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://talk.developersquare.net/c/developers-corner/smart-cameras%26sa%3DD%26usg%3DAFQjCNFW0w07DleKn7DRLuRNjZltQI2psA&amp;sa=D&amp;usg=AFQjCNFwa9nMjOqpGMyPqs2uzG1BoY8Qhw&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://talk.developersquare.net/c/developers-corner/smart-cameras&#34;&gt;https://talk.developersquare.net/c/developers-corner/smart-cameras&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;div id=&#34;watch-uploader-info&#34;&gt;
  &lt;p&gt;
    &lt;em&gt;&#34;Citizen-generated data around conflict continues to grow exponentially, but when it gets to newsrooms, human rights orgs, and courts of law, it is often impossible to verify. InformaCam provides a tool to address this shortcoming. Harlo demonstrates its power.&#34;&lt;/em&gt;
  &lt;/p&gt;
  
  &lt;p&gt;
    &lt;strong&gt;Harlo Holmes, Research Fellow and Metadata Head, The Guardian Project&lt;/strong&gt;
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;watch-description-text&#34; class=&#34;&#34;&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The CameraV and InformaCam projects are generously supported by:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://witness.org&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-722&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;witness-logo&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;  &lt;a href=&#34;http://benetech.org/&#34;&gt;&lt;img class=&#34;width:100px; alignnone wp-image-13051 &#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/07/Benetechr_logo_400_px_fair_use-300x136.jpg&#34; alt=&#34;Print&#34; width=&#34;194&#34; height=&#34;88&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/07/Benetechr_logo_400_px_fair_use-300x136.jpg 300w, https://guardianproject.info/wp-content/uploads/2015/07/Benetechr_logo_400_px_fair_use.jpg 400w&#34; sizes=&#34;(max-width: 194px) 100vw, 194px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone size-full wp-image-3267&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/knight-logo-300.jpg&#34; alt=&#34;knight-logo-300&#34; width=&#34;300&#34; height=&#34;50&#34; /&gt; &lt;a href=&#34;https://www.macfound.org/&#34;&gt;&lt;img class=&#34;alignnone wp-image-13055&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/07/mcarthur-foundation-300x106.png&#34; alt=&#34;mcarthur-foundation&#34; width=&#34;164&#34; height=&#34;58&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/07/mcarthur-foundation-300x106.png 300w, https://guardianproject.info/wp-content/uploads/2015/07/mcarthur-foundation.png 500w&#34; sizes=&#34;(max-width: 164px) 100vw, 164px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>CameraV: Secure Verifiable Photo &amp; Video Camera</title>
      <link>https://guardianproject.info/archive/camerav/</link>
      <pubDate>Tue, 28 Jul 2015 03:07:37 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/camerav/</guid>
      <description>&lt;p&gt;THIS PROJECT IS NO LONGER ACTIVE - Please visit [ProofMode.org][&lt;a href=&#34;https://proofmode.org&#34;&gt;https://proofmode.org&lt;/a&gt;] for our latest work in verifiable media capture.&lt;/p&gt;

&lt;p&gt;CameraV is the easiest way to capture and share verifiable photos and video proof on a smartphone or tablet, all the while keeping it entirely secure and private. &lt;em&gt;This is the official app from the &lt;a href=&#34;https://blog.witness.org/2013/01/how-informacam-improves-verification-of-mobile-media-files/&#34;&gt;InformaCam&lt;/a&gt; project, a partnership between the Guardian Project and &lt;a href=&#34;https://witness.org&#34;&gt;WITNESS&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;CameraV is easy to learn and simple to use (and insanely secure &amp;amp; powerful under the covers&amp;hellip;). All photos and videos you take are password-protected and 100% encrypted on your device. You can also add private notes and tags to any photo or video, and choose who you share them with. CameraV also privately stores data from your device sensors and provides built-in tools to see and share it. Finally, it has a built-in secure camera that is simple, streamlined and even supports selfies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;READ THE USER GUIDE: &lt;a href=&#34;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&#34;&gt;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CameraV is based on the InformaCam platform, and was developed for use by activists, journalists, advocates and others, working in very difficult and high-risk situations, to capture and gather visual evidence and proof of abuse and rights violations. It can also be used in your daily life to capture any moment, and keep them safe and private. You can also use it for documenting your own evidence, after accidents, for real estate needs, or any where you need &amp;ldquo;proof&amp;rdquo;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OPEN-SOURCE AND FREE: &lt;a href=&#34;https://github.com/guardianproject/camerav&#34;&gt;https://github.com/guardianproject/camerav&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;JOIN THE COMMUNITY: &lt;a href=&#34;https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://talk.developersquare.net/c/developers-corner/smart-cameras%26sa%3DD%26usg%3DAFQjCNFW0w07DleKn7DRLuRNjZltQI2psA&amp;sa=D&amp;usg=AFQjCNFwa9nMjOqpGMyPqs2uzG1BoY8Qhw&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://talk.developersquare.net/c/developers-corner/smart-cameras&#34;&gt;https://talk.developersquare.net/c/developers-corner/smart-cameras&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;div id=&#34;watch-uploader-info&#34;&gt;
  &lt;p&gt;
    &lt;em&gt;&#34;Citizen-generated data around conflict continues to grow exponentially, but when it gets to newsrooms, human rights orgs, and courts of law, it is often impossible to verify. InformaCam provides a tool to address this shortcoming. Harlo demonstrates its power.&#34;&lt;/em&gt;
  &lt;/p&gt;
  
  &lt;p&gt;
    &lt;strong&gt;Harlo Holmes, Research Fellow and Metadata Head, The Guardian Project&lt;/strong&gt;
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;watch-description-text&#34; class=&#34;&#34;&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The CameraV and InformaCam projects are generously supported by:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://witness.org&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-722&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;witness-logo&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;  &lt;a href=&#34;http://benetech.org/&#34;&gt;&lt;img class=&#34;width:100px; alignnone wp-image-13051 &#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/07/Benetechr_logo_400_px_fair_use-300x136.jpg&#34; alt=&#34;Print&#34; width=&#34;194&#34; height=&#34;88&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/07/Benetechr_logo_400_px_fair_use-300x136.jpg 300w, https://guardianproject.info/wp-content/uploads/2015/07/Benetechr_logo_400_px_fair_use.jpg 400w&#34; sizes=&#34;(max-width: 194px) 100vw, 194px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone size-full wp-image-3267&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/knight-logo-300.jpg&#34; alt=&#34;knight-logo-300&#34; width=&#34;300&#34; height=&#34;50&#34; /&gt; &lt;a href=&#34;https://www.macfound.org/&#34;&gt;&lt;img class=&#34;alignnone wp-image-13055&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/07/mcarthur-foundation-300x106.png&#34; alt=&#34;mcarthur-foundation&#34; width=&#34;164&#34; height=&#34;58&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/07/mcarthur-foundation-300x106.png 300w, https://guardianproject.info/wp-content/uploads/2015/07/mcarthur-foundation.png 500w&#34; sizes=&#34;(max-width: 164px) 100vw, 164px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orfox: Aspiring to bring Tor Browser to Android</title>
      <link>https://guardianproject.info/2015/06/30/orfox-aspiring-to-bring-tor-browser-to-android/</link>
      <pubDate>Tue, 30 Jun 2015 15:32:16 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/06/30/orfox-aspiring-to-bring-tor-browser-to-android/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update 24 September, 2015: Orfox BETA is now on Google Play: &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.orfox&#34;&gt;https://play.google.com/store/apps/details?id=info.guardianproject.orfox&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In the summer of 2014 (&lt;a href=&#34;https://lists.mayfirst.org/pipermail/guardian-dev/2014-August/003717.html&#34;&gt;https://lists.mayfirst.org/pipermail/guardian-dev/2014-August/003717.html&lt;/a&gt;{.external}), we announced that the results of work by Amogh Pradeep (&lt;a href=&#34;https://github.com/amoghbl1&#34;&gt;https://github.com/amoghbl1&lt;/a&gt;{.external}), our 2014 Google Summer of Code student, has proven we could build Firefox for Android with some of the settings and configurations from the Tor Browser desktop software. We called this app Orfox, in homage to Orbot and our current Orweb browser. This was a good first step, but we were doing the build on Mozilla’s Firefox code repository, and then retrofitting pieces from Tor Browser’s code, which wasn’t the right way to do things, honestly.&lt;/p&gt;

&lt;p&gt;This summer (2015!), with fantastic continued effort by Amogh, we have switched to building the Orfox mobile app directly from the Tor Browser code repository, successfully working through any mobile OS incompatibilities in the security hardening patches added by the Tor Browser team. We also had the additional task of reviewing the Android application code in Firefox, that is not part of Tor Browser, in order to modify and patch it to work inline with the &lt;a href=&#34;https://www.torproject.org/projects/torbrowser/design/&#34;&gt;Tor Browser requirements and design document&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As of today, we have a stable alpha release ready for testing, and are rapidly moving towards a public beta in a few weeks. Our plan is to actively encourage users to move from Orweb to Orfox, and stop active development of Orweb, even removing to from the Google Play Store. If users really want to continue using a WebView-based solution and do not need all of the capabilities that Orfox/Tor Browser provides, they can use Lightning Browser (&lt;a href=&#34;https://github.com/anthonycr/Lightning-Browser&#34;&gt;https://github.com/anthonycr/Lightning-Browser&lt;/a&gt;{.external}), a lightweight, open-source app that offers automatic Orbot (SOCKS) proxying on start-up.&lt;/p&gt;

&lt;p&gt;Below you will find screenshots and our current set of &lt;a href=&#34;https://dev.guardianproject.info/projects/orfox-private-browser/wiki/Orfox_vs_Tor_Browser_FAQ&#34;&gt;Orfox Frequently Asked Questions&lt;/a&gt; from the &lt;a href=&#34;https://dev.guardianproject.info/projects/orfox-private-browser/wiki&#34;&gt;project wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can access the current Orfox release by installing the &lt;a href=&#34;https://f-droid.org/&#34;&gt;F-Droid app&lt;/a&gt; and subscribing to our F-Droid Alpha Channel at by clicking on the following link on your phone: &lt;a href=&#34;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&#34;&gt;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div id=&#39;gallery-11&#39; class=&#39;gallery galleryid-12999 gallery-columns-3 gallery-size-medium&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-11-13003&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133152.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-11-13003&#39;&gt;
      Recognized as Tor Browser
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133103.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133103-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-11-13005&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133103-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133103-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133103.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-11-13005&#39;&gt;
      A match made by onions!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133624.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133624-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-11-13000&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133624-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133624-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133624.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-11-13000&#39;&gt;
      Bookmark support!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-11-13001&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133414.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-11-13001&#39;&gt;
      Easy access to onion sites!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133223.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133223-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-11-13002&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133223-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133223-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133223.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-11-13002&#39;&gt;
      Tabs!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130.png&#39;&gt;&lt;img width=&#34;169&#34; height=&#34;300&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-169x300.png&#34; class=&#34;attachment-medium size-medium&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-11-13004&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/06/device-2015-06-30-133130.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-11-13004&#39;&gt;
      Tor-relevant default sites
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Where can I find all the relevant Orfox project pieces?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Orfox project tracker roadmap is here: &lt;a href=&#34;https://dev.guardianproject.info/projects/orfox-private-browser/roadmap&#34;&gt;https://dev.guardianproject.info/projects/orfox-private-browser/roadmap&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The Orfox branch of the Tor Browser repository is here: &lt;a href=&#34;https://github.com/guardianproject/tor-browser&#34;&gt;https://github.com/guardianproject/tor-browser&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The Orfox build project is here: &lt;a href=&#34;https://github.com/guardianproject/orfoxfennec&#34;&gt;https://github.com/guardianproject/orfoxfennec&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;The primary Tor Browser repository is here: &lt;a href=&#34;https://gitweb.torproject.org/tor-browser.git/&#34;&gt;https://gitweb.torproject.org/tor-browser.git/&lt;/a&gt;{.external}&lt;/li&gt;
&lt;li&gt;Automated debug builds of Orfox alpha are available via F-Droid here (install F-Droid on your phone, then copy/paste or open the link to add the repo): &lt;a href=&#34;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&#34;&gt;https://dev.guardianproject.info/debug/info.guardianproject.orfox/fdroid/repo&lt;/a&gt;{.external}&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Tor Browser for desktop?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orfox is built from the same source code as Tor Browser (which is built upon Firefox), but with a few minor modifications to the privacy enhancing features to make them compatible with Firefox for Android and the Android operating system. In as many ways as possible, we will adhere to the design goals of Tor Browser (&lt;a href=&#34;https://www.torproject.org/projects/torbrowser/design/&#34;&gt;https://www.torproject.org/projects/torbrowser/design/&lt;/a&gt;{.external}), by supporting as much of their actual code as possible, and extending their work into the additional AF-Droid appndroid components of Firefox for Android.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Orfox code repository is at &lt;a href=&#34;https://github.com/guardianproject/tor-browser&#34;&gt;https://github.com/guardianproject/tor-browser&lt;/a&gt;{.external} and the Tor Browser repository is here:&lt;a href=&#34;https://gitweb.torproject.org/tor-browser.git/&#34;&gt;https://gitweb.torproject.org/tor-browser.git/&lt;/a&gt;{.external}. The Orfox repository is a fork of the Tor Browser repository with the necessary modification and Android-specific code as patches on top of the Tor Browser work. We will keep our repository in sync with updates and release of Tor Browser.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox is built from the Tor Browser repo based on ESR38 (&lt;a href=&#34;https://dev.guardianproject.info/issues/5146&#34;&gt;https://dev.guardianproject.info/issues/5146&lt;/a&gt;{.external}&lt;a href=&#34;https://dev.guardianproject.info/news/221&#34;&gt;https://dev.guardianproject.info/news/221&lt;/a&gt;{.external}) and has only two modified patches that were not relevant or necessary for Android&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox does not currently include the mobile versions of HTTPS Everywhere, No Script and the Tor Browser Button, but these we will be added shortly, now that we have discovered how to properly support automatic installation of extensions on Android (&lt;a href=&#34;https://dev.guardianproject.info/issues/5360&#34;&gt;https://dev.guardianproject.info/issues/5360&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox includes a “Request Mobile Site” option that allows you to change the user-agent from the standard Tor Browser agent to a modified Android specific one: “Mozilla/5.0 (Android; Mobile; rv:31.0) Gecko/20100101 Firefox/31.0”. (&lt;a href=&#34;https://dev.guardianproject.info/issues/5404&#34;&gt;https://dev.guardianproject.info/issues/5404&lt;/a&gt;{.external}). This is useful for being able to see the mobile version of a website, but does reduce the amount your browser blends in with other browsers.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox currently allows for users to bookmark sites, and may have additional data written to disk beyond what the core gecko browser component does. We are still auditing all disk write code, and determining how to appropriately disable or harden it. (&lt;a href=&#34;https://dev.guardianproject.info/issues/5437&#34;&gt;https://dev.guardianproject.info/issues/5437&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox cannot yet be built deterministically, but based on work with the FDroid project, we are aiming for this to be possible in the next year (&lt;a href=&#34;https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise&#34;&gt;https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise&lt;/a&gt;{.external} &lt;a href=&#34;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&#34;&gt;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Firefox for Android?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Beyond the core Tor Browser components, Orfox also must ensure all Android-specific code is properly routed through the Tor proxy, and otherwise hardened to protect against data and privacy leaks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Orfox adds patches at the Android Java code layer to enable proxying of all Java network HTTP communications through the local Orbot HTTP proxy (HTTP localhost:8118 for now, but moving to SOCKS). (&lt;a href=&#34;https://dev.guardianproject.info/issues/5235&#34;&gt;https://dev.guardianproject.info/issues/5235&lt;/a&gt;{.external} &lt;a href=&#34;https://dev.guardianproject.info/issues/5317&#34;&gt;https://dev.guardianproject.info/issues/5317&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox removes the Android permissions for Contacts, Camera, Microphone, Location and NFC (&lt;a href=&#34;https://dev.guardianproject.info/issues/3822&#34;&gt;https://dev.guardianproject.info/issues/3822&lt;/a&gt;{.external}) since the capability of using these features are not in line with the spirit of Tor Browser&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orfox removes features like WebRTC and support for interaction with Chromecasts or Roku devices, since this type of communication is not compatibility with proxying communication through a TCP-based network like Tor (&lt;a href=&#34;https://dev.guardianproject.info/issues/5358&#34;&gt;https://dev.guardianproject.info/issues/5358&lt;/a&gt;{.external} &lt;a href=&#34;https://dev.guardianproject.info/issues/5357&#34;&gt;https://dev.guardianproject.info/issues/5357&lt;/a&gt;{.external})&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How is Orfox different than Orweb?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Orweb is our current default browser for Orbot/Tor mobile users (&lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;https://guardianproject.info/apps/orweb&lt;/a&gt;{.external}) that has been downloaded over 2 million times. It is VERY VERY SIMPLE, as it only has one tab, no bookmark capability, and an extremely minimal user experience.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb is built upon the bundled WebView (Webkit) browser component inside of the Android operating system. This has proven to be problematic because we cannot control the version of that component, and cannot upgrade it directly when bugs are found. In addition, Google has made it very difficult to effectively control the network proxy settings of all aspects of this component, making it difficult to guarantee that traffic will not leak on all devices and OS versions.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb also only provides a very limited amount of capability of Tor Browser, primarily related to reducing browser fingerprinting, minimizing disk writes, and cookie and history management. It trys to mimic some of the settings of Tor Browser, but doesn’t actually use any of the actual code written for Tor Browser security hardening.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Orweb does have an advantage which is that it less than 2MB while Orfox is in the 25-30MB range. This is primarily because Orweb relies on many components built into Android, so it does not need to bundle them. Orfox contains the full stack of code necessary for a complete browser, and thus is more secure and dependable, but also larger. The Mozilla Mobile team is working on reducing the size of their binaries, and the Orfox team is focused on this, as well, since we are disabling some of the components that have contributed the browser bloat.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>PanicKit: system-wide panic responses</title>
      <link>https://guardianproject.info/code/panickit/</link>
      <pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/panickit/</guid>
      <description>

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-150x150.png&#34; alt=&#34;round hazard button&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-13221&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard-200x200.png 200w, https://guardianproject.info/wp-content/uploads/2016/01/round-button-hazard.png 512w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/PanicKit&#34; target=&#34;_blank&#34; title=&#34;PanicKit on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/PanicKit&#34; target=&#34;_blank&#34; title=&#34;PanicKit on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/PanicKit&#34; target=&#34;_blank&#34; title=&#34;PanicKit javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/panickit&#34; target=&#34;_blank&#34; title=&#34;PanicKit blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;PanicKit is a collection of tools for creating &amp;ldquo;panic buttons&amp;rdquo; that
can trigger a system-wide response when the user is in an anxious or
dangerous situation.  It enables trigger apps and responder apps to
safely and easily connect to each other. The user engages with the
trigger app when in a panic situation. The responder apps receive that
trigger signal, and individually execute the steps that they were
configured to do. The connections between trigger and responder can be
strictly enforced based on &lt;em&gt;Application ID&lt;/em&gt; and APK signing
certificate.  There are two general categories of response:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;default, non-destructive&lt;/li&gt;
&lt;li&gt;opt-in, destructive&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;screenshots&#34;&gt;Screenshots&lt;/h2&gt;

&lt;link rel=&#34;stylesheet&#34; href=&#34;https://guardianproject.info/css/jquery.fancybox-3.4.0.min.css&#34; /&gt;
&lt;script src=&#34;https://guardianproject.info/js/jquery-3.3.1.min.js&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://guardianproject.info/js/jquery.fancybox.min.js&#34;&gt;&lt;/script&gt;
&lt;div class=&#34;gallery&#34;&gt;
  
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/code/panickit/01.3.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/code/panickit/01.3.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/code/panickit/02.0.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/code/panickit/02.0.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/code/panickit/screenshot_fdroid_destructive0.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/code/panickit/screenshot_fdroid_destructive0.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/code/panickit/screenshot_fdroid_destructive1.png.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/code/panickit/screenshot_fdroid_destructive1.png.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://guardianproject.info/code/panickit/screenshot_ripple.png&#34;&gt;
    &lt;img src=&#34;https://guardianproject.info/code/panickit/screenshot_ripple.png&#34;&gt;  &lt;br/&gt;
  &lt;/a&gt;
  
  
&lt;/div&gt;


&lt;h1 id=&#34;building-apps-with-panic-support&#34;&gt;Building apps with panic support&lt;/h1&gt;

&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://projects.invisionapp.com/share/W73E3D6VE#/screens&#34;&gt;PanicButton PanicKit/Zom integration sketch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/FakePanicButton&#34;&gt;FakePanicButton&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/FakePanicResponder&#34;&gt;FakePanicResponder&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;real-world-apps&#34;&gt;Real world apps&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/ripple&#34;&gt;Ripple trigger app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/merge_requests/629&#34;&gt;F-Droid&amp;rsquo;s app hiding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/SMSSecure/SMSSecure/blob/8b2d61161716dcae33c7ae2fd9540931b632030a/src/org/smssecure/smssecure/PanicResponderActivity.java&#34; target=&#34;_blank&#34;&gt;SMSSecure lock as default response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/theScrabi/NewPipe/pull/133&#34; target=&#34;_blank&#34;&gt;NewPipe clear search history as default response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/zom/Zom-Android/blob/master/app/src/main/java/org/awesomeapp/messenger/ui/PanicSetupActivity.java&#34; target=&#34;_blank&#34;&gt;Zom with multiple destructive responses and a default lock response&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.panic:panic:1.0&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/panic/panic/1.0/panic-1.0.jar&#34;&gt;panic-1.0.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/panic/panic/1.0/panic-1.0.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/panic/panic/1.0/panic-1.0-sources.jar&#34;&gt;panic-1.0-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/panic/panic/1.0/panic-1.0-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/panic/panic/1.0/panic-1.0-javadoc.jar&#34;&gt;panic-1.0-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/panic/panic/1.0/panic-1.0-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;


&lt;h1 id=&#34;core-concepts&#34;&gt;Core Concepts&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;non-destructive vs destructive responses&lt;/li&gt;
&lt;li&gt;responders should have a default response&lt;/li&gt;
&lt;li&gt;default responses should be non-destructive&lt;/li&gt;
&lt;li&gt;users send the panic with a trigger app&lt;/li&gt;
&lt;li&gt;responder apps receive the trigger message and do something in response&lt;/li&gt;
&lt;li&gt;the user must opt in to destructive responses via &amp;ldquo;connecting&amp;rdquo; a trigger and response app&lt;/li&gt;
&lt;li&gt;the trigger method can include things like a text message, email addresses, phone numbers, etc. which a panic responder app can use to send the message.&lt;/li&gt;
&lt;li&gt;responder apps should do something without any configuration, but that default response can be limited to trusted trigger apps&lt;/li&gt;
&lt;li&gt;the trigger app can ignore any given responder&lt;/li&gt;
&lt;li&gt;a responder app can ignore all triggers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since this is an Android-specific framework, it builds upon core ideas
to Android OS, like &lt;em&gt;Intent&lt;/em&gt;, &lt;em&gt;Activity&lt;/em&gt;, and &lt;em&gt;Service&lt;/em&gt;. The panic
trigger message is an &lt;em&gt;Intent&lt;/em&gt; that can be received by &lt;em&gt;Activitys&lt;/em&gt; or
&lt;em&gt;Services&lt;/em&gt;.  The &lt;em&gt;Service&lt;/em&gt; must be an &lt;em&gt;IntentService&lt;/em&gt; or started with
&lt;code&gt;startService(Intent)&lt;/code&gt; in order to receive the panic trigger &lt;em&gt;Intent&lt;/em&gt;.&lt;/p&gt;

&lt;h2 id=&#34;implementing-a-panic-ux&#34;&gt;Implementing a panic UX&lt;/h2&gt;

&lt;p&gt;These are all of the core behaviors that are required by a good PanicKit user experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;every panic responder must accept &lt;em&gt;ACTION_TRIGGER&lt;/em&gt; &lt;em&gt;Intents&lt;/em&gt; as the trigger&lt;/li&gt;
&lt;li&gt;each app has only one &lt;em&gt;Activity&lt;/em&gt; that receives &lt;em&gt;ACTION_TRIGGER&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;each app has only one &lt;em&gt;Activity&lt;/em&gt; that receives &lt;em&gt;ACTION_CONNECT&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;each app has only one &lt;em&gt;Activity&lt;/em&gt; that receives &lt;em&gt;ACTION_DISCONNECT&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;the trigger app sends &lt;em&gt;ACTION_CONNECT&lt;/em&gt;, &lt;em&gt;ACTION_DISCONNECT&lt;/em&gt;, and &lt;em&gt;ACTION_TRIGGER&lt;/em&gt; to the responder&lt;/li&gt;
&lt;li&gt;the responder app sends &lt;em&gt;ACTION_CONNECT&lt;/em&gt; and &lt;em&gt;ACTION_DISCONNECT&lt;/em&gt; to the trigger&lt;/li&gt;
&lt;li&gt;only the user can trigger &lt;em&gt;ACTION_CONNECT&lt;/em&gt; to be sent, they should &lt;strong&gt;never&lt;/strong&gt; be automated&lt;/li&gt;
&lt;li&gt;the &lt;em&gt;Activity&lt;/em&gt; that accepts &lt;em&gt;ACTION_CONNECT&lt;/em&gt; will TOFU-trust the app that sent the &lt;em&gt;Intent&lt;/em&gt; after the user opts in&lt;/li&gt;
&lt;li&gt;the &lt;em&gt;Activity&lt;/em&gt; that sends &lt;em&gt;ACTION_CONNECT&lt;/em&gt; will TOFU-trust the receiver, if it replies with &lt;em&gt;Activity.RESULT_OK&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ACTION_TRIGGER&lt;/em&gt; will only trigger destructive responses after it has been verified that they came from a trusted sender (either pinned or TOFUed)&lt;/li&gt;
&lt;li&gt;either trigger or responder can send &lt;em&gt;ACTION_DISCONNECT&lt;/em&gt; at any time&lt;/li&gt;
&lt;li&gt;receiving &lt;em&gt;ACTION_DISCONNECT&lt;/em&gt; does not result in user interaction, the disconnect is immediate&lt;/li&gt;
&lt;li&gt;a trigger app can send &lt;em&gt;ACTION_TRIGGER&lt;/em&gt; to zero or more apps&lt;/li&gt;
&lt;li&gt;a responder app can receive &lt;em&gt;ACTION_TRIGGER&lt;/em&gt; from a single app&lt;/li&gt;
&lt;li&gt;one user panic button press can send multiple trigger events&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;configuration&#34;&gt;Configuration&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;the config screen has two final actions: 1) cancel changes 2) confirm changes&lt;/li&gt;
&lt;li&gt;when disconnected, clicking confirm creates the connection&lt;/li&gt;
&lt;li&gt;when disconnected, clicking cancel makes no connection&lt;/li&gt;
&lt;li&gt;when already connected, clicking confirm will change the settings and keep the connection&lt;/li&gt;
&lt;li&gt;when already connected, clicking cancel will discard changes to the settings but keep the connection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;panickit-in-action&#34;&gt;PanicKit in Action&lt;/h2&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/mS1gstS6YS8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;h1 id=&#34;trust-modes&#34;&gt;Trust modes&lt;/h1&gt;

&lt;p&gt;It is possible to require strict checking of panic senders and
receivers. For example, a panic trigger message might include a
private message, the location, and a list of trusted contacts. This is
sensitive information, so the trigger app should only send it to apps
that the user has allowed to receive it. Also, many panic responses
include destroying data or sending messages to trusted contacts. These
actions must require the user to opt-in, granting a specific trigger
app the privilege to trigger those sensitive responses.&lt;/p&gt;

&lt;p&gt;The enhanced trust relationship between trigger and responder can take two forms:&lt;/p&gt;

&lt;h2 id=&#34;trust-on-first-use-tofu-app&#34;&gt;Trust-On-First-Use (TOFU) App&lt;/h2&gt;

&lt;p&gt;A user goes into the settings of either a panic trigger or receiver,
and configures which apps to connect to. In this process, the apps
remember the other apps they are each connected to, and base their
trusted sending on that initial connection.&lt;/p&gt;

&lt;h2 id=&#34;pinned-trusted-app&#34;&gt;Pinned Trusted App&lt;/h2&gt;

&lt;p&gt;Using trusted pinning methods like APK signing key, a panic trigger
and panic receiver can automatically configure themselves to connect
to all installed apps that are signed by a given key. This gives a
panic setup with zero configuration. For example, &lt;em&gt;Courier Reader&lt;/em&gt; could
automatically connect to &lt;em&gt;Amnesty Panic Button&lt;/em&gt; based on signing key.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Building a trustworthy app store that respects privacy</title>
      <link>https://guardianproject.info/2015/06/02/building-a-trustworthy-app-store-that-respects-privacy/</link>
      <pubDate>Tue, 02 Jun 2015 16:38:03 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/06/02/building-a-trustworthy-app-store-that-respects-privacy/</guid>
      <description>&lt;p&gt;One core piece of our approach is thinking about very high risk situations, like Ai Weiwei or Edward Snowden, then making the tools for operating under that pressure as easy to use as possible. That means that we might occasionally come across as a little paranoid. It is important to dive into the depths of what might be possible. That is an essential step in evaluating what the risks and defenses are, and how to prioritize them. Making usable software is not just making things easy, but rather making tools for real world situations that are a simple as possible.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/06/hrome-crash.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/hrome-crash.png&#34; alt=&#34;chrome crash&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-full wp-image-12966&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We recently received some vindication of our paranoia: we have been resistant to putting all of our trust into the Google Play app store, despite many obvious advantages. Even though Google Play is probably the most secure of the big app stores, its security approach is rather thin, &lt;a href=&#34;https://jon.oberheide.org/blog/2010/06/28/a-peek-inside-the-gtalkservice-connection/&#34; target=&#34;_blank&#34;&gt;relying mainly on HTTPS with no signature for verification&lt;/a&gt;, and the Five Eyes partnership (NSA, GCHQ, etc) noticed this, and &lt;a href=&#34;https://firstlook.org/theintercept/2015/05/21/nsa-five-eyes-google-samsung-app-stores-spyware&#34; target=&#34;_blank&#34;&gt;worked to exploit it&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Android/Google Play security model is relatively simple, and that is mostly a good thing. There are two essential pieces: the signature on the APK file itself and the TLS connection to Google that provides the APK file. Once an app is installed, all APK files used to update an app must have a matching signing key. That provides a reasonably strong mechanism to defend against malware that wants to install over existing apps.&lt;/p&gt;

&lt;p&gt;Unlike package systems like Debian, there is no path to verify that the APK signing key. That means Google Play relies heavily on the TLS transport encryption to protect the APK files for when installing an Android apps for the first time. The first time an app is installed, the signing key in that app’s APK file is blindly trusted (this is called “Trust On First Use” or TOFU). It turns out that TOFU has a solid track record for security in the real world. One key aspect of implementing a good TOFU system is to make the first use indistinguishable from any other use, so that it is difficult to target only first uses while ignoring repeat uses. Intercepting repeat uses is very likely to trigger a warning and alert the user that something is wrong.&lt;/p&gt;

&lt;p&gt;Now let’s put together the pieces based on what the Chinese government can do. A few TLS certificate authorities have been caught &lt;a href=&#34;https://arstechnica.com//security/2010/03/govts-certificate-authorities-conspire-to-spy-on-ssl-users/&#34; target=&#34;_blank&#34;&gt;issuing &lt;/a&gt;&lt;a href=&#34;https://arstechnica.com//security/2011/08/earlier-this-year-an-iranian/&#34; target=&#34;_blank&#34;&gt;fake&lt;/a&gt; &lt;a href=&#34;https://arstechnica.com//business/2012/02/critics-slam-ssl-authority-for-minting-cert-used-to-impersonate-sites/&#34; target=&#34;_blank&#34;&gt;certificates&lt;/a&gt;. A company affiliated with CNNIC &lt;a href=&#34;https://arstechnica.com/security/2015/04/google-chrome-will-banish-chinese-certificate-authority-for-breach-of-trust/&#34; target=&#34;_blank&#34;&gt;was caught issuing certificates for Google domains&lt;/a&gt;. A trusted certificate authority can issue usable certificates for any domain, so any computer that trusts CNNIC would trust their fake certificates for Google. That lets the Chinese government transparently Man-in-the-Middle traffic to Google servers. China could then use the Great Firewall to generate targeted malware on the fly, seeing the user credentials that Google Play requires, seeing the list of apps that each user has installed, etc. Then when the targeted user goes to install a new app, the APK file is intercepted, malware is added, then it is re-signed and transparently sent off to the user.&lt;/p&gt;

&lt;p&gt;This targeted malware can be designed to avoid the malware scanners in Google Play, Lookout, etc. since it would be direct addition of code rather than via an exploit. It would be just adding Java classes to the APK. Or alternatively, in combination with some of the signing exploits that have been discovered in Android, like &lt;a href=&#34;http://www.saurik.com/id/19&#34; target=&#34;_blank&#34;&gt;Master Key&lt;/a&gt;, the Great Firewall is able to inject malware into the real APK itself without changing the signature.&lt;/p&gt;

&lt;p&gt;Of course, when Google Play’s TLS connection includes X.509 &lt;a href=&#34;https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning&#34; target=&#34;_blank&#34;&gt;certificate pinning&lt;/a&gt;, then the above attack would not be possible since the client would have a whitelist of certificate authorities that it trusts for play.google.com, and CNNIC would probably not be on that whitelist. This highlights the importance of pinning certificate authorities in apps that need good security over TLS or HTTPS. All TLS connections &lt;a href=&#34;http://nelenkov.blogspot.com/2012/12/certificate-pinning-in-android-42.html&#34; target=&#34;_blank&#34;&gt;support pinning at the system level&lt;/a&gt; starting in Android 4.2. We are crazy enough to support down to Android 2.3 since there are lots of older Android devices in use, and even &lt;a href=&#34;https://arstechnica.com/gadgets/2014/12/android-2-3-gingerbread-four-years-later-the-os-just-wont-die/&#34; target=&#34;_blank&#34;&gt;new devices being sold with Android 2.3.3&lt;/a&gt;. That means we think about making apps self-contained in terms of security improvements like pinning.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/06/sadballs.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/06/sadballs-150x300.png&#34; alt=&#34;sad balls&#34; width=&#34;150&#34; height=&#34;300&#34; class=&#34;alignright size-medium wp-image-12969&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/06/sadballs-150x300.png 150w, https://guardianproject.info/wp-content/uploads/2015/06/sadballs.png 400w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It gets worse&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many indigenous app stores like &lt;a href=&#34;http://cafebazaar.ir&#34; target=&#34;_blank&#34;&gt;Cafe Bazaar&lt;/a&gt; and Xiaomi’s &lt;a href=&#34;http://app.mi.com&#34; target=&#34;_blank&#34;&gt;MiMarket&lt;/a&gt; lack basic protections like TLS, making targeted attacks trivial for governments, or even anyone who gains control of a piece of the network path. These days that is actually easy to do by exploiting home routers, which are &lt;a href=&#34;https://arstechnica.com/security/2015/05/researchers-uncover-self-sustaining-botnets-of-poorly-secured-routers/&#34; target=&#34;_blank&#34;&gt;generally&lt;/a&gt; &lt;a href=&#34;https://arstechnica.com/security/2015/04/no-patch-for-remote-code-execution-bug-in-d-link-and-trendnet-routers/&#34; target=&#34;_blank&#34;&gt;easy&lt;/a&gt; to &lt;a href=&#34;https://arstechnica.com/security/2015/05/the-moose-is-loose-linux-based-worm-turns-routers-into-social-network-bots/&#34; target=&#34;_blank&#34;&gt;exploit&lt;/a&gt;. One of those botnets would easily start looking for app installs in the network traffic, then add exploits accordingly. As long as the first install is easy to detect and the user easy to track, then the malware can transparently inject malware designed to be difficult to detect by malware scanners and people alike.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3.png&#34; alt=&#34;fdroidheader3&#34; width=&#34;720&#34; height=&#34;180&#34; class=&#34;alignnone size-full wp-image-11906&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3.png 720w, https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3-300x75.png 300w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;The Alternative&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;FDroid&lt;/a&gt; also has the key advantage of being designed from the beginning to avoid tracking users, and to use proven methods of delivering software, following the signed repository model of Debian, Ubuntu, etc. but then served over a solid HTTPS channel for increased privacy and a backup layer of security. It is also possible to use privacy proxies like Tor or I2P via the proxy settings. There is no user credentials needed, it is all free software, so FDroid users can even hide themselves from the server delivering the apps, as well as any network observers. Since all APKs are delivered via signed metadata that is verified using a key built into the FDroid client app, there is no risk of getting served malware even if the HTTPS connection is completely and transparently broken.&lt;/p&gt;

&lt;p&gt;As part of our &lt;a href=&#34;https://dev.guardianproject.info/project/bazaar/wiki&#34; target=&#34;_blank&#34;&gt;Bazaar Project&lt;/a&gt;, we have been putting more and more efforts into the FDroid project, and working to make it much easier to use. All Guardian Project apps are available in FDroid, as well as all the core apps that you might need like Firefox, a Twitter client, K-9 email, etc. Tech journalist &lt;a href=&#34;https://medium.com/backchannel/why-i-m-saying-goodbye-to-apple-google-and-microsoft-78af12071bd&#34; target=&#34;_blank&#34;&gt;Dan Gillmor agrees&lt;/a&gt;: free software that respects privacy is not only for the über-geek anymore.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hiding Apps in Plain Sight</title>
      <link>https://guardianproject.info/2015/05/07/hiding-apps-in-plain-sight/</link>
      <pubDate>Thu, 07 May 2015 09:25:10 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/05/07/hiding-apps-in-plain-sight/</guid>
      <description>&lt;p&gt;Beyond just thinking about encryption of data over the wire, or at rest on your mobile device, we also consider physical access to your mobile device, as one of the possible things we need to defend against. Some of our apps, such as Courier, our secure news reader, include a Panic feature, enabling a user to quickly delete data or remove the app, if they fear their device will be taken from them, whether by a friend, family member, criminal or an authority figure. Most recently, with our work on CameraV, our &lt;a href=&#34;https://guardianproject.github.io/informacam-guide/en/InformacamGuide.html&#34;&gt;secure evidence camera app&lt;/a&gt;, we have implemented a few more features that help hide the app and its data, in order to block an unintended person from seeing the photos and videos captured by it.&lt;/p&gt;

&lt;p&gt;First, it should be said that the app utilizes &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;IOCipher&lt;/a&gt;, &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34;&gt;CacheWord&lt;/a&gt; and the &lt;a href=&#34;https://github.com/n8fr8/CameraCipher&#34;&gt;CameraCipher Library&lt;/a&gt; to store all media files it captures in an encrypted format, managed with a well-implemented service that handles key generation and life-cycle properly. This means that no photos and videos show in the device’s built-in gallery or photos app, and no pixels are ever written in plain-text to any storage space, internal or external. This helps a great deal in hiding that they exist, since often physical inspection of a device often starts with looking through any of the default apps, like messaging, gallery, contacts apps, and so on. &lt;a href=&#34;https://guardianproject.info/apps/chatsecure/&#34;&gt;ChatSecure&lt;/a&gt; also does this, be keeping your contacts, messages and media out of the shared, unencrypted default location.&lt;/p&gt;

&lt;p&gt;As of this week, we have had three new features to CameraV that all fall under what could be called “Stealth Mode” (though this has also been called “Boss Mode” since the days of MS-DOS when games included a quick button to change to something that looked like a spreadsheet for when your boss walked by). We took our inspiration from a few other apps, like Amnesty International’s &lt;a href=&#34;https://panicbutton.io/&#34;&gt;Panic Button&lt;/a&gt; which hides itself as a calculator, ChainFire’s &lt;a href=&#34;https://play.google.com/store/apps/details?id=eu.chainfire.supersu&amp;amp;hl=en&#34;&gt;SuperSU&lt;/a&gt;, which allows users to &lt;a href=&#34;http://www.chainfire.eu/articles/133/_TUT_Supporting_multiple_icons_in_your_app/&#34;&gt;switch the app icon&lt;/a&gt; between a few options, &lt;a href=&#34;https://guardianproject.info/apps/courier/&#34;&gt;Courier&lt;/a&gt;, which blocks users and other apps from taking screenshots of the news it is display, and &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt;, which actively removes itself from the “Recent Apps” listing provided by Android. All of these features combined dramatically reduce the visual footprint that an app leaves on the device, reducing the chance that someone will discover it, even if they are looking for it.&lt;/p&gt;

&lt;div id=&#34;attachment_12938&#34; style=&#34;width: 179px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-24-36.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12938&#34; class=&#34;wp-image-12938 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-24-36-169x300.png&#34; alt=&#34;CameraV settings for stealth mode&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-24-36-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-24-36-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-24-36.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12938&#34; class=&#34;wp-caption-text&#34;&gt;
    CameraV settings for stealth mode
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_12939&#34; style=&#34;width: 179px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-25-44.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12939&#34; class=&#34;wp-image-12939 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-25-44-169x300.png&#34; alt=&#34;CameraV marinading as CV Settings&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-25-44-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-25-44-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-14-25-44.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12939&#34; class=&#34;wp-caption-text&#34;&gt;
    CameraV masquerading as “CV Settings”
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_12940&#34; style=&#34;width: 179px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-11-02-46.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12940&#34; class=&#34;wp-image-12940 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-11-02-46-169x300.png&#34; alt=&#34;CameraV blocking screenshots in recent apps&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-11-02-46-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-11-02-46-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2015/05/Screenshot_2015-05-06-11-02-46.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12940&#34; class=&#34;wp-caption-text&#34;&gt;
    CameraV blocking screenshots in recent apps
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br style=&#34;clear:both;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;CameraV (you can get &lt;a href=&#34;https://rink.hockeyapp.net/apps/dafbc649fcf585d7867866d5375b6495&#34;&gt;beta access here&lt;/a&gt; and find the &lt;a href=&#34;https://github.com/guardianproject/InformaApp&#34;&gt;source here&lt;/a&gt;), incorporates all of these as options for the user to activate. You can switch the default icon and app name to a more generic settings icon and “CV Settings” app name. We plan to enhance that feature to allow the user to define the icon and name, making the app able to act like a chameleon and blend in more completely. The app can be set to now allow screenshots to be taken of it, which also causes a black screen to show up in the recent apps list, stopping a casual inspection from identifying it as a photos-type app. It can also be set to not show up in the recent apps list at all, which is a more complete solution to that problem. The last piece, again taken from the aforementioned PanicButton app, is to, when the stealth icon is activated, to change the default home screen of the app to something innocuous like a calculator, so that even when the app is opened, it does not reveal its true nature. It is even possible to completely hide the app in the launcher, until a system event like a phone call to a specific number or a certain wifi network is connected, to make the app reveal itself again.&lt;/p&gt;

&lt;p&gt;You can learn how to dynamically switch your app’s icon on the &lt;a href=&#34;http://www.chainfire.eu/articles/133/_TUT_Supporting_multiple_icons_in_your_app/&#34;&gt;Chainfire blog&lt;/a&gt; and see the code in action on the &lt;a href=&#34;https://github.com/guardianproject/InformaApp/commit/98d8c545c1901d03d9d238204bb45d502a623e59#diff-7ab4bf3d594a968a90e0250af33fcb9bR399&#34;&gt;CameraV repo here&lt;/a&gt;. To block screenshots of your app, you can set the &lt;a href=&#34;https://github.com/guardianproject/InformaApp/commit/4c153ebd8d0a6e99660a9391e99c7dd6658a0efc#diff-f9e0f2937f7b2e3f755c53e7ec2e3909R64&#34;&gt;FLAG_SECURE feature in any Activity&lt;/a&gt;. To complete &lt;a href=&#34;https://github.com/guardianproject/InformaApp/blob/master/app/AndroidManifest.xml#L87&#34;&gt;stop your app from showing up in the recent app list&lt;/a&gt;, just set &lt;a href=&#34;https://github.com/guardianproject/InformaApp/blob/master/app/AndroidManifest.xml#L87&#34;&gt;‘&lt;span class=&#34;pl-e&#34;&gt;android&lt;/span&gt;&lt;span class=&#34;pl-e&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;pl-e&#34;&gt;excludeFromRecents&lt;/span&gt;=&lt;/a&gt;&lt;span class=&#34;pl-s&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/InformaApp/blob/master/app/AndroidManifest.xml#L87&#34;&gt;&lt;span class=&#34;pl-pds&#34;&gt;“&lt;/span&gt;true&lt;/a&gt;&lt;span class=&#34;pl-pds&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/InformaApp/blob/master/app/AndroidManifest.xml#L87&#34;&gt;“‘&lt;/a&gt; in the Activity entry in the manifest. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;These are just some of the initial ideas and techniques we have gathered and implemented. We plan to provide this set of capabilities in all of the apps we offer, and hope to spread them as standard features that any app that contains sensitive data or is meant for use by people in high-risk situations, should offer. I would love to hear your thoughts on other techniques that could be used, see code snippets you might have to achieve those, or discuss how and when this whole concept may or may not be effective.&lt;/p&gt;

&lt;p&gt;For now, stay safe out there, and that goes for your data and apps, too!&lt;/p&gt;

&lt;p&gt;_&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Tanzania_0607_cropped_Nevit.jpg#/media/File:Tanzania_0607_cropped_Nevit.jpg&#34;&gt;“Tanzania 0607 cropped Nevit”&lt;/a&gt; by Nevit Dilmen (talk) – Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons_&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Getting Android tools into Debian</title>
      <link>https://guardianproject.info/2015/04/30/getting-android-tools-into-debian/</link>
      <pubDate>Thu, 30 Apr 2015 11:13:26 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/04/30/getting-android-tools-into-debian/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/04/debian.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/04/debian-150x150.jpg&#34; alt=&#34;debian&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-12920&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/04/debian-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2015/04/debian-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2015/04/debian-270x270.jpg 270w, https://guardianproject.info/wp-content/uploads/2015/04/debian-230x230.jpg 230w, https://guardianproject.info/wp-content/uploads/2015/04/debian.jpg 600w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/04/android.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/04/android-150x150.png&#34; alt=&#34;android&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-12919&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/04/android-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2015/04/android-270x270.png 270w, https://guardianproject.info/wp-content/uploads/2015/04/android-230x230.png 230w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As part of Debian’s project in Google &lt;a href=&#34;https://wiki.debian.org/SummerOfCode2015&#34; target=&#34;_blank&#34;&gt;Summer of Code&lt;/a&gt;, I’ll be working with two students, Kai-Chung Yan and Komal Sukhani, and another mentor from the &lt;a href=&#34;https://wiki.debian.org/Teams/JavaPackaging&#34; target=&#34;_blank&#34;&gt;Debian Java Team&lt;/a&gt; team, &lt;a href=&#34;https://&amp;#x71;a&amp;#x2e;d&amp;#x65;b&amp;#x69;a&amp;#x6e;.&amp;#x6f;r&amp;#x67;/dev&amp;#x65;l&amp;#x6f;p&amp;#x65;r&amp;#x2e;p&amp;#x68;p&amp;#x3f;l&amp;#x6f;gin=&amp;#x61;p&amp;#x6f;@&amp;#x67;a&amp;#x6d;b&amp;#x61;r&amp;#x75;.&amp;#x64;e&#34; target=&#34;_blank&#34;&gt;Markus Koschany&lt;/a&gt;. We are going to be working on getting the Android SDK and tools into Debian, as part of the Debian &lt;a href=&#34;https://wiki.debian.org/AndroidTools&#34; target=&#34;_blank&#34;&gt;Android Tools&lt;/a&gt; team, building upon the existing work already included from the Java and &lt;a href=&#34;https://wiki.debian.org/Teams/AndroidTools&#34; target=&#34;_blank&#34;&gt;Android Tools&lt;/a&gt; teams. This project is in conjunction with the Java team since there is overlap between Android and Java tools, like &lt;code&gt;gradle&lt;/code&gt;, &lt;code&gt;maven&lt;/code&gt;, etc. Since this work is in Debian, all of the Debian-derivatives will automatically inherit this work. That includes: Ubuntu, Mint, Elementary, and many more.&lt;/p&gt;

&lt;p&gt;The first question a lot of Android developers are probably asking is: why would we want to put the Android tools into Debian when there is already an official distribution from Google with it’s own update tools? It turns out there are many reasons, mostly centered around making things much easier to use, as well as addressing some key security concerns. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;automatic trustworthy downloads, no need to verify hash sums or think about HTTPS&lt;/li&gt;
&lt;li&gt;eliminate need for insecure wrapper scripts, like &lt;code&gt;./gradlew&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;easy install and update channel that all Debian users already know&lt;/li&gt;
&lt;li&gt;trivial install for specific tools, like &lt;code&gt;adb&lt;/code&gt;, &lt;code&gt;fastboot&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;setting up a Debian/Ubuntu/etc box for Android development is easier when everything is included&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing-150x150.jpg&#34; alt=&#34;320px-Trawling_Drawing&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-12873&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing-230x230.jpg 230w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most glaring issue from my point of view is the security issues in &lt;code&gt;gradle&lt;/code&gt;. It will happily download and execute code without any kind of verification whatsoever. It inherits this terrible practice from maven, which has been shown to be an &lt;a href=&#34;http://blog.ontoillogical.com/blog/2014/07/28/how-to-take-over-any-java-developer/&#34; target=&#34;_blank&#34;&gt;easy path to exploit anyone using it&lt;/a&gt;. This is especially concerning considering that developers are more and more &lt;a href=&#34;https://guardianproject.info/2015/02/24/phishing-for-developers/&#34; target=&#34;_blank&#34;&gt;being directly targeted&lt;/a&gt;. At least it is more common for &lt;code&gt;gradle&lt;/code&gt; configs to use HTTPS, but it is still quite easy mess up a config and force users to use HTTP instead. Fragile configs are really bad for security. Even if &lt;a href=&#34;https://github.com/WhisperSystems/gradle-witness&#34; target=&#34;_blank&#34;&gt;gradle-witness&lt;/a&gt; is used to pin the hash for the jars used in the project, &lt;code&gt;gradle-wrapper&lt;/code&gt; might still downloading insecure code an executing it immediately, giving attackers potential full user access to that machine. That is because &lt;code&gt;gradle-wrapper&lt;/code&gt; will download versions of &lt;code&gt;gradle&lt;/code&gt; that it needs, and &lt;code&gt;gradle-witness&lt;/code&gt; can not be used to pin the hash of the &lt;code&gt;gradle&lt;/code&gt; files. And the repositories that &lt;code&gt;gradle&lt;/code&gt; uses only provide methods to protect against network-based attacks. If the server that holds the jars is exploited, the attacker can replace the jars and the sum files at the same time. There is &lt;a href=&#34;https://github.com/gradle/gradle/pull/448&#34; target=&#34;_blank&#34;&gt;a pull request open for &lt;code&gt;gradle&lt;/code&gt;&lt;/a&gt; to allow pinning of the &lt;code&gt;gradle&lt;/code&gt; executables themselves, which will help this situation.&lt;/p&gt;

&lt;p&gt;On a different note, many people who are not developers at all want to use tools like &lt;code&gt;adb&lt;/code&gt; and &lt;code&gt;fastboot&lt;/code&gt; to access their Android device, or even root it. Having them in Debian means they are trivial for people to install, vastly easier than trying to figure out how to download and install the Android SDK. What lots of people end up doing instead is downloading random binaries from insecure internet forums and using those. For many devices, it is already possible to use only tools in Debian to root the device. As we get more of the Android tools packaged and updated in Debian, that will become the norm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Updates when you need them, built upon a stable base&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One common complaint about packages in Debian is that they are old and outdated. It is part of the core mission of Debian/stable to provide an operating system that changes as little as possible. That mission is contrary to what most developers need from their SDKs and sometimes even the development tools. But stability is also important for developers as well. For example, tools like &lt;code&gt;make&lt;/code&gt;, used to build native code using the Android NDK (&lt;code&gt;ndk-build&lt;/code&gt; is a &lt;code&gt;make&lt;/code&gt; script) and even Android itself, has been around a long time and is used in so many projects. That is a tool that almost every developer wants to have very stable.&lt;/p&gt;

&lt;p&gt;For the packages that developers need to have completely up-to-date, like the Android SDK itself, there are many options for distribution. Ubuntu Personal Package Archives (PPA) have proven easy and useful for exactly this kind of thing, and Debian is working on adding support for PPAs. Official repositories for &lt;a href=&#34;http://backports.debian.org/&#34; target=&#34;_blank&#34;&gt;backports&lt;/a&gt; are another avenue for timely updates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Help us figure this out&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We want lots of feedback on how to do this right! A great example is how to best support the various versions of &lt;code&gt;gradle&lt;/code&gt;. It seems to me that &lt;code&gt;gradle&lt;/code&gt; is starting to stabilize, and it is no longer necessary to track very specific releases of &lt;code&gt;gradle&lt;/code&gt;. For example, &lt;code&gt;gradle&lt;/code&gt; v2.2.1 will work well with projects that were setup with just about any v2.x version. And projects still using 1.x, they mostly seem to work using v1.12. So if this is the case, then this fits into a common pattern with build tools in Debian:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GNU Compiler Collection is packaged as &lt;code&gt;gcc4.8&lt;/code&gt;, &lt;code&gt;gcc4.7&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;Apache Maven is packaged as &lt;code&gt;maven&lt;/code&gt; and &lt;code&gt;maven2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;GNU automake is packaged as &lt;code&gt;automake1.14&lt;/code&gt;, &lt;code&gt;automake1.13&lt;/code&gt;, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m currently thinking that the best solution for gradle is like Maven, with the package called &lt;code&gt;gradle&lt;/code&gt; (v2.3) being the most up-to-date in conjunction with specific packages to support older versions, like &lt;code&gt;gradle1&lt;/code&gt; (v1.12). But maybe it makes sense to do something like gcc, with a gcc meta-package to install the currently best supported version, then all versions packaged with name that includes that version, i.e. a gradle meta-package with &lt;code&gt;gradle1&lt;/code&gt;, &lt;code&gt;gradle2&lt;/code&gt;, &lt;code&gt;gradle3&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;Other issues that we will have to grapple with include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to package various NDK versions?&lt;/li&gt;
&lt;li&gt;How do we best work with the upstream Android team?&lt;/li&gt;
&lt;li&gt;is packaging Android Studio feasible?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also hope to provide an example that any other packaging systems can learn from and build upon. GNU/Linux distros like Arch and Fedora are the obvious ones, but also projects like Homebrew, MacPorts, and Cygwin could also use this work to include Android tools as packages in their system. Indeed, some of the work already included in Debian was derived from &lt;a href=&#34;https://wiki.archlinux.org/index.php/Android#Android_SDK_core_components&#34; target=&#34;_blank&#34;&gt;some Arch packages&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Phishing for developers</title>
      <link>https://guardianproject.info/2015/02/24/phishing-for-developers/</link>
      <pubDate>Tue, 24 Feb 2015 04:41:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/02/24/phishing-for-developers/</guid>
      <description>&lt;p&gt;I recently received a very interesting phishing email directed at developers with apps in Google Play. One open question is, how targeted it was: did anyone else get this?&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/File:Trawling_Drawing.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing.jpg&#34; alt=&#34;320px-Trawling_Drawing&#34; width=&#34;320&#34; height=&#34;240&#34; class=&#34;alignright size-full wp-image-12873&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing.jpg 320w, https://guardianproject.info/wp-content/uploads/2015/02/320px-Trawling_Drawing-300x225.jpg 300w&#34; sizes=&#34;(max-width: 320px) 100vw, 320px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
It turns out that Google has been recently stepping up enforcement of certain terms, so it looks like some people are taking advantage of that. It is a pretty sophisticated or manually targeted phishing email since they got the name of the app, email address, and project name all correct. The one detail that gives it away is that the &lt;code&gt;From:&lt;/code&gt; address uses the fake domain, even though it would have been possible to send the email using the actual Google account in the &lt;code&gt;From:&lt;/code&gt; field. But this likely would have triggered spam and malware detection algorithms. So they took a subtly different approach by using a real Google address in the &lt;code&gt;Reply-To:&lt;/code&gt;. But they were clever enough to use the same sub-domain, &lt;code&gt;gooogle.com.de&lt;/code&gt;, in the From: address as in the phishing link &lt;code&gt;accounts.gooogle.com.de&lt;/code&gt;, following a Google pattern of subdomains. They also included other real Google links for support and as a “follow up” URL.&lt;/p&gt;

&lt;p&gt;When I received this, I didn’t notice the clickable link in the email since I never view HTML email. I forwarded it on to our internal email list where others figured out it was fake. In the HTML version of the email, it has this link from the fake domain &lt;code&gt;accounts.gooogle.com.de&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;p&gt;&lt;b&gt;Your application will be removed&lt;/b&gt; if you do not sign in to the &lt;a
href=&#34;http://accounts.gooogle.com.de/ServiceLogin?service=androiddeveloper&amp;passive=1209600&amp;continue=https://play.google.com/apps/publish/&amp;followup=https://play.google.com/apps/publish/&amp;type=3days&amp;pkg=org.torproject.android&#34;&gt;Developer
Console&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;This attacker might have been targeting anyone who would fall for the trick, without really caring what kind of app it was. For any accounts that the attacker got access to, they would be able to change the description text, home page, email address, etc. transparently without raising any particular warning signs. The attacker could place a recommendation in the app descriptions to also install another app, and that app would be the attacker’s malware.&lt;/p&gt;

&lt;p&gt;The attacker could not upload their own updates to an existing app, because Google Play checks uploaded APKs to make sure that the signing keys match the APKs that are already there. The attacker could create a whole new app in that developer’s account, and hope to gain installs since it would be related. Google Play has a standard view to show users apps by the same developer, for example.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two-factor authentication and beyond&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If a developer fell for this phishing attack, but had the forethought to have set up &lt;a href=&#34;https://support.google.com/accounts/answer/180744&#34; target=&#34;_blank&#34;&gt;Google 2-Step Verification&lt;/a&gt;, then even if the phisher got the username and password, they would be unable to log into that account since they would not have access to the two-factor SMS or &lt;a href=&#34;https://support.google.com/accounts/answer/1066447&#34; target=&#34;_blank&#34;&gt;Google Authenticator&lt;/a&gt; message. All developer accounts on Google Play should be required to use Google 2-Step Verification. Set it up &lt;strong&gt;now&lt;/strong&gt;, if you have not already!&lt;/p&gt;

&lt;p&gt;We also need to consider the kinds of sophisticated attacks from large state actors that are leaking out to the public. Indeed, many of these attacks are also available for any government to &lt;a href=&#34;https://netzpolitik.org/2014/gamma-finfisher-hacked-40-gb-of-internal-documents-and-source-code-of-government-malware-published/&#34; target=&#34;_blank&#34;&gt;purchase from companies like Finfisher&lt;/a&gt;. And it is only a matter of time before these techniques are widespread and easier, following the rule of “attacks never get worse; they only get better”. This phishing website could also contain malicious Javascript that installs malware that can both log all key strokes in search of passwords, as well as search for known secret caches like Java keystores for Android signing keys, and browser cookies that allow the user to skip two-factor authentication, like the &lt;a href=&#34;https://support.google.com/accounts/answer/2544838&#34; target=&#34;_blank&#34;&gt;cookie from Google’s two-step authentication&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One takeaway here: developers should &lt;strong&gt;never&lt;/strong&gt; keep or use their APK signing keys on a machine that they also use to read email and browse the web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full source of the email&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is the full source of the original email that I received, for those who might be interested in digging deeper. Another detail you can see there is that the email was not sent using Google infrastructure at all.&lt;/p&gt;

&lt;pre&gt;Return-Path: &lt;n&amp;#x6f;&amp;#x72;e&amp;#x70;&amp;#x6c;y&amp;#x2d;&amp;#x64;e&amp;#x76;&amp;#x65;l&amp;#x6f;&amp;#x70;e&amp;#x72;&amp;#x2d;g&amp;#x6f;&amp;#x6f;g&amp;#x6c;&amp;#x65;p&amp;#x6c;&amp;#x61;y&amp;#x40;&amp;#x67;o&amp;#x6f;&amp;#x6f;gl&amp;#x65;.c&amp;#x6f;m.&amp;#x64;e&gt;
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
    rodolpho.mayfirst.org
X-Spam-Level: *
X-Spam-Status: No, score=1.3 required=5.0 tests=HTML_MESSAGE,RDNS_NONE
    autolearn=disabled version=3.3.2
X-Original-To: s&amp;#x75;p&amp;#x70;o&amp;#x72;t&amp;#x40;gu&amp;#x61;r&amp;#x64;i&amp;#x61;n&amp;#x70;ro&amp;#x6a;e&amp;#x63;t&amp;#x2e;i&amp;#x6e;f&amp;#x6f;
Delivered-To: gphan&amp;#x73;&amp;#x40;&amp;#x72;&amp;#x6f;&amp;#x64;olpho&amp;#x2e;&amp;#x6d;&amp;#x61;&amp;#x79;&amp;#x66;irst.&amp;#x6f;&amp;#x72;&amp;#x67;
Received: from rodolpho.mayfirst.org (localhost [127.0.0.1])
    by rodolpho.mayfirst.org (Postfix) with ESMTP id 4CFCD5E3D
    for &lt;&amp;#x73;&amp;#x75;&amp;#x70;port@&amp;#x67;&amp;#x75;&amp;#x61;&amp;#x72;dian&amp;#x70;&amp;#x72;&amp;#x6f;&amp;#x6a;ect.&amp;#x69;&amp;#x6e;&amp;#x66;&amp;#x6f;&gt;; Fri, 20 Feb 2015 04:30:50 -0500 (EST)
X-Greylist: delayed 543 seconds by postgrey-1.34 at rodolpho; Fri, 20 Feb 2015
04:30:49 EST
Received: from astra1695.startdedicated.com (unknown [85.25.194.40])
    by rodolpho.mayfirst.org (Postfix) with ESMTP id D74C83CD84
    for &lt;sup&amp;#x70;&amp;#x6f;&amp;#x72;t@g&amp;#x75;&amp;#x61;&amp;#x72;dia&amp;#x6e;&amp;#x70;&amp;#x72;ojec&amp;#x74;&amp;#x2e;&amp;#x69;nfo&gt;; Fri, 20 Feb 2015 04:30:48 -0500 (EST)
Received: from gooogle.com.de (astra1695 [85.25.194.40])
    by astra1695.startdedicated.com (Postfix) with ESMTPA id 209D57C0918
    for &lt;su&amp;#x70;&amp;#x70;or&amp;#x74;&amp;#x40;gua&amp;#x72;&amp;#x64;ia&amp;#x6e;&amp;#x70;ro&amp;#x6a;&amp;#x65;ct.&amp;#x69;&amp;#x6e;fo&gt;; Fri, 20 Feb 2015 10:21:32 +0100 (CET)
Date: Fri, 20 Feb 2015 09:21:32 +0000
To: The Tor Project &lt;&amp;#x73;u&amp;#x70;p&amp;#x6f;rt&amp;#x40;g&amp;#x75;ar&amp;#x64;i&amp;#x61;np&amp;#x72;o&amp;#x6a;e&amp;#x63;&amp;#x74;.&amp;#x69;n&amp;#x66;o&gt;
From: Google Play Developer Support &lt;n&amp;#x6f;r&amp;#x65;p&amp;#x6c;y&amp;#x2d;de&amp;#x76;e&amp;#x6c;o&amp;#x70;e&amp;#x72;-g&amp;#x6f;o&amp;#x67;l&amp;#x65;p&amp;#x6c;a&amp;#x79;@g&amp;#x6f;o&amp;#x6f;g&amp;#x6c;e&amp;#x2e;co&amp;#x6d;.&amp;#x64;e&gt;
Reply-To: Google Play Developer Support &lt;norepl&amp;#x79;&amp;#x2d;&amp;#x64;&amp;#x65;&amp;#x76;&amp;#x65;loper-g&amp;#x6f;&amp;#x6f;&amp;#x67;&amp;#x6c;&amp;#x65;&amp;#x70;lay@go&amp;#x6f;&amp;#x67;&amp;#x6c;&amp;#x65;&amp;#x2e;&amp;#x63;om&gt;
Subject: 7-Day Notification of Google Play Developer Term Violation
Message-ID: &lt;7f7&amp;#x32;&amp;#x35;&amp;#x34;&amp;#x30;087c&amp;#x38;&amp;#x31;&amp;#x66;fe2e&amp;#x61;&amp;#x64;&amp;#x35;6042&amp;#x35;&amp;#x64;&amp;#x30;d477&amp;#x40;&amp;#x67;&amp;#x6f;oogl&amp;#x65;&amp;#x2e;&amp;#x63;om.d&amp;#x65;&gt;
X-Priority: 3
X-Mailer: PHPMailer 5.2.9 (https://github.com/PHPMailer/PHPMailer/)
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary=&#34;b1_7f72540087c81ffe2ead560425d0d477&#34;
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: ClamAV using ClamSMTP

--b1_7f72540087c81ffe2ead560425d0d477
Content-Type: text/plain; charset=us-ascii

Hello Google Play Developer,
This is a notification that your application, Orbot: Proxy with Tor, with
package ID org.torproject.android, is currently in violation of our developer
terms.
REASON FOR WARNING: Violation of the spam provisions of the Content Policy.
Please refer to the spam policy help article for more information.
Do not use irrelevant, misleading, or excessive keywords in apps descriptions,
titles, or metadata.
Please refer to the keyword spam policy help article for more information.
Your application will be removed if you do not sign in to the Developer
Console and make modifications to your application&#39;s description to bring it
into compliance within 7 days of the issuance of this notification.If you have
additional applications in your catalog, please also review them for
compliance. Note that any remaining applications found to be in violation will
be removed from the Google Play Store.
Please also consult the Policy and Best Practices and the Developer
Distribution Agreement as you bring your applications into compliance. You can
also review this Google Play Help Center article for more information on this
warning.
All violations are tracked. Serious or repeated violations of any nature will
result in the termination of your developer account, and investigation and
possible termination of related Google accounts.
Regards,
Google Play Team
1600 Amphitheatre Parkway
Mountain View, CA 94043


--b1_7f72540087c81ffe2ead560425d0d477
Content-Type: text/html; charset=us-ascii

&lt;p&gt;Hello Google Play Developer,&lt;/p&gt;
&lt;p&gt;This is a notification that your application, &lt;b&gt;Orbot: Proxy with Tor&lt;/b&gt;,
with package ID &lt;b&gt;org.torproject.android&lt;/b&gt;, is currently in violation of
our developer terms.&lt;br /&gt;
&lt;b&gt;REASON FOR WARNING&lt;/b&gt;: Violation of the spam provisions of the Content
Policy. Please refer to the spam policy help article for more information.&lt;/p&gt;
&lt;p&gt;Do not use irrelevant, misleading, or excessive keywords in apps
descriptions, titles, or metadata.&lt;br /&gt;
Please refer to the keyword spam policy help article for more information.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Your application will be removed&lt;/b&gt; if you do not sign in to the &lt;a
href=&#34;http://accounts.gooogle.com.de/ServiceLogin?service=androiddeveloper&amp;passive=1209600&amp;continue=https://play.google.com/apps/publish/&amp;followup=https://play.google.com/apps/publish/&amp;type=3days&amp;pkg=org.torproject.android&#34;&gt;Developer
Console&lt;/a&gt; and make modifications to your application&amp;#x27;s description to
bring it into compliance within &lt;b&gt;7 days&lt;/b&gt; of the issuance of this
notification.&lt;br&gt;If you have additional applications in your catalog, please
also review them for compliance. Note that any remaining applications found to
be in violation will be removed from the Google Play Store.&lt;/p&gt;
&lt;p&gt;Please also consult the &lt;a
href=&#34;https://support.google.com/googleplay/android-developer/#topic=2364761&#34;&gt;Policy
and Best Practices&lt;/a&gt; and the &lt;a
href=&#34;https://play.google.com/about/developer-distribution-agreement.html&#34;&gt;Developer
Distribution Agreement&lt;/a&gt; as you bring your applications into compliance. You
can also review this Google Play Help Center article for more information on
this warning.&lt;br /&gt;
All violations are tracked. Serious or repeated violations of any nature will
result in the termination of your developer account, and investigation and
possible termination of related Google accounts.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br&gt;
Google Play Team&lt;br&gt;
1600 Amphitheatre Parkway&lt;br&gt;
Mountain View, CA 94043&lt;/p&gt;



--b1_7f72540087c81ffe2ead560425d0d477--
&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Complete, reproducible app distribution achieved!</title>
      <link>https://guardianproject.info/2015/02/11/complete-reproducible-app-distribution-achieved/</link>
      <pubDate>Wed, 11 Feb 2015 14:51:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/02/11/complete-reproducible-app-distribution-achieved/</guid>
      <description>&lt;p&gt;With &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;, we have been working towards getting a complete app distribution channel that is able to reproducibly build each Android app from source. while this may sound like a mundane detail, it does provide lots of tangible benefits. First, it means that anyone can verify that the app that they are using is 100% built from the source code, with nothing else added. That verifies that the app is indeed 100% free, open source software.&lt;/p&gt;

&lt;p&gt;It also verifies that there have not been any malicious bits of code added into the app during the build process. As has been &lt;a href=&#34;https://www.youtube.com/watch?v=5pAen7beYNc&#34; target=&#34;_blank&#34;&gt;demonstrated&lt;/a&gt; in the &lt;a href=&#34;http://events.ccc.de/congress/2014/Fahrplan/events/6240.html&#34; target=&#34;_blank&#34;&gt;31c3 Reproducible Builds talk&lt;/a&gt;, just flipping a single bit is enough to create a usable exploit in an app.&lt;/p&gt;

&lt;p&gt;The F-Droid project is leading the way with its system for publishing verified builds. We know have our first full example, building upon our previous work with making &lt;a href=&#34;https://guardianproject.info/2014/06/09/our-first-deterministic-build-lil-debi-0-4-7/&#34; target=&#34;_blank&#34;&gt;Lil’ Debi build reproducibly&lt;/a&gt;. We started with our simple little utility app &lt;a href=&#34;https://github.com/guardianproject/checkey&#34; target=&#34;_blank&#34;&gt;Checkey&lt;/a&gt; since it has few moving parts (first get one working, then the rest).&lt;/p&gt;

&lt;p style=&#34;float: left&#34; &gt;
  &lt;a href=&#34;https://guardianproject.info/releases/Checkey-0.1.1.apk&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/02/ic_launcher-web.png&#34; alt=&#34;Checkey&#34; width=&#34;128&#34; height=&#34;128&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;float: left; text-align: center; line-height: 128px; font-size: 1000%&#34; &gt;
  =
&lt;/p&gt;

&lt;p style=&#34;float: left&#34; &gt;
  &lt;a href=&#34;https://f-droid.org/repo/info.guardianproject.checkey_101.apk&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/02/ic_launcher-web.png&#34; alt=&#34;Checkey&#34; width=&#34;128&#34; height=&#34;128&#34; style=&#34;float: right&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;clear: both;&#34;&gt;
  &lt;p&gt;
    When you download Checkey from f-droid.org, you will get an APK that was signed using the official Guardian Project offline signing key that was built by f-droid.org. No, we did not give them a copy of our key, instead, the fdroid publish process now looks for the Binaries: tag in the build recipe. If it sees that, it downloads that APK, then builds the app from source, then checks to make sure that they match using a simple diff of the APK contents and by checking that the signature on the official APK also validates on the APK that f-droid.org built.
  &lt;/p&gt;
  

&lt;p&gt;&lt;p&gt;
    Now that we have our little Checkey working, we can work towards getting all of our apps verifying in the same way, eliminating a whole field of exploits that we have to worry about. You can follow the progress of this work on the F-Droid wiki &lt;a href=&#34;https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds&#34; target=&#34;_blank&#34;&gt;Reproducible Builds&lt;/a&gt; page, and learn about a future application of it on the &lt;a href=&#34;https://f-droid.org/wiki/page/Verification_Server&#34; target=&#34;_blank&#34;&gt;Verification Server&lt;/a&gt; page.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    The next two apps that are in the reproducible pipeline are &lt;a href=&#34;https://leap.se/&#34; target=&#34;_blank&#34;&gt;LEAP&lt;/a&gt;‘s &lt;a href=&#34;https://gitlab.com/fdroid/fdroiddata/tree/master/metadata/se.leap.bitmaskclient.txt&#34; target=&#34;_blank&#34;&gt;Bitmask&lt;/a&gt; and our &lt;a href=&#34;https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/info.guardianproject.locationprivacy.txt&#34; target=&#34;_blank&#34;&gt;LocationPrivacy&lt;/a&gt;.
  &lt;/p&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Experimental app to improve privacy in location sharing</title>
      <link>https://guardianproject.info/2015/01/29/experimental-app-to-improve-privacy-in-location-sharing/</link>
      <pubDate>Thu, 29 Jan 2015 07:36:58 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/01/29/experimental-app-to-improve-privacy-in-location-sharing/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web-300x300.png&#34; alt=&#34;ic_launcher-web&#34; width=&#34;300&#34; height=&#34;300&#34; class=&#34;alignright size-medium wp-image-12835&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web-270x270.png 270w, https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web-230x230.png 230w, https://guardianproject.info/wp-content/uploads/2015/01/ic_launcher-web.png 512w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;As part of the T2 Panic effort, I’ve recently been diving deep into the issues of sharing location. It is unfortunately looking really bad, with many services, including Google, frequently sharing location as plain text over the network. I’ve started to write up some of the issues &lt;a href=&#34;https://guardianproject.info/tag/panic&#34;&gt;on this blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As part of this, I’ve put together an experimental Android app that aims to act as a privacy filter for all ways of sharing location. Mostly, that means it accepts all sorts of URLs from location services, and tries to parse the location from the URL, then rewrites it into a &lt;a href=&#34;http://geouri.org&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;geo:&lt;/code&gt; URI&lt;/a&gt;, which is the standard way to share location in Android (and hopefully soon all others). As of ChatSecure v14.1.0, these &lt;code&gt;geo:&lt;/code&gt; URLs are also clickable.&lt;/p&gt;

&lt;p&gt;Many URLs are not parsable, like &lt;code&gt;http://goo.gl/maps/Cji0V&lt;/code&gt;. LocationPrivacy then goes online and to try to fetch the location. This should happen over Tor, but it does not yet. You have been warned! Otherwise, it changes the URL to &lt;code&gt;HTTPS&lt;/code&gt; on services that support it.&lt;/p&gt;

&lt;p&gt;You can get LocationPrivacy from all the usual channels, including on FDroid in the Guardian Project repo:&lt;br /&gt;
&lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://f-droid.org&#34;&gt;https://f-droid.org&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#34;https://guardianproject.info/fdroid&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;https://guardianproject.info/fdroid&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or from Google Play:&lt;br /&gt;
&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.locationprivacy&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.locationprivacy&#34;&gt;https://play.google.com/store/apps/details?id=info.guardianproject.locationprivacy&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source code:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/LocationPrivacy&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/LocationPrivacy&#34;&gt;https://github.com/guardianproject/LocationPrivacy&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Report issues here:&lt;br /&gt;
&lt;a href=&#34;https://dev.guardianproject.info/projects/panic/issues&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/panic/issues&#34;&gt;https://dev.guardianproject.info/projects/panic/issues&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please do not rely on this app for strong privacy, it is still very much a new, beta app.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Checkey: info on local apps</title>
      <link>https://guardianproject.info/apps/info.guardianproject.checkey/</link>
      <pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/apps/info.guardianproject.checkey/</guid>
      <description></description>
    </item>
    
    <item>
      <title>First working test of IOCipher for Obj-C</title>
      <link>https://guardianproject.info/2015/01/26/first-working-test-of-iocipher-for-obj-c/</link>
      <pubDate>Mon, 26 Jan 2015 04:32:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/01/26/first-working-test-of-iocipher-for-obj-c/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg&#34; alt=&#34;alberti cipher disk&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-3079&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg 245w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;Every so often, we revisit our core libraries in the process of improving our existing apps, and creating new ones. IOCipher has become a standard part of our apps since it provides a really easy way to include encrypted file storage in Android apps. And we are now working on spreading it to iOS as well, headed up by Chris Ballinger, with the first preliminary tests of &lt;a href=&#34;https://github.com/ChatSecure/IOCipher-ObjC&#34; target=&#34;_blank&#34;&gt;IOCipher for Obj-C&lt;/a&gt;. Testing and contributions are most welcome! Find us in our &lt;a href=&#34;https://guardianproject.info/contact/&#34; target=&#34;_blank&#34;&gt;chat room or mailing list&lt;/a&gt; for questions, or just post a comment below! Since the iOS version is based on the exact same core library, libsqlfs, the container files they produce will also be fully compatible with each other.&lt;/p&gt;

&lt;p&gt;Now that iOS 8 has full disk encryption by default and a &lt;a href=&#34;https://www.blackbagtech.com/blog/2014/09/24/ios-8-and-its-impact-on-investigations&#34; title=&#34;iOS 8 and its Impact on Investigations&#34; target=&#34;_blank&#34;&gt;host of other security improvements&lt;/a&gt;, you might be wondering why you would bother with app-specific encryption. The problem with full disk encryption is that the disk is only locked when your iPhone is fully turned off. Using IOCipher adds protection for sensitive data that helps in a few different scenarios.&lt;/p&gt;

&lt;p&gt;First, full disk encryption does not protect the data at all if malware is able to get root on the device. That malware will be free to read all files on the device. Second, for people who have not set up a strong passphrase on their iOS device, using app-specific encrypted storage make it harder to access that app’s data on devices with no passcode set, especially if any additional passphrase is stored in the keychain and disallowed from backup, or if it’s just stored in your own memory.&lt;/p&gt;

&lt;p&gt;Third is for added protetion from forensic acquisition systems, which often work using root exploits in order to read the entire filesystem without unlocking the screen&lt;a href=&#34;https://www.elcomsoft.com/news/591.html&#34; target=&#34;_blank&#34;&gt;[1]&lt;/a&gt;&lt;a href=&#34;https://www.elcomsoft.com/news/586.html&#34; target=&#34;_blank&#34;&gt;[2]&lt;/a&gt;&lt;a href=&#34;http://www.htcia.org/2013/12/iphone-forensics-what-you-need-to-know/&#34; target=&#34;_blank&#34;&gt;[3]&lt;/a&gt;. By having an app-specific encrypted file container that is not mounted like a filesystem, then even root cannot directly access the files in the container. Even root needs to get the key in order to unlock the IOCipher container, whether it is in use or not, and getting that key means either a key logger, which means planning ahead, or reading they key from memory if the container is unlocked, which is a more elaborate and targeted attack that full disk acquisition after rooting.&lt;/p&gt;

&lt;p&gt;Now consider that there is a large market 0days, i.e. unpublished exploits, and companies like &lt;a href=&#34;https://netzpolitik.org/2014/gamma-finfisher-hacked-40-gb-of-internal-documents-and-source-code-of-government-malware-published/&#34; target=&#34;_blank&#34;&gt;VUPEN, FinFisher&lt;/a&gt;, and &lt;a href=&#34;https://citizenlab.org/2014/06/backdoor-hacking-teams-tradecraft-android-implant/&#34; target=&#34;_blank&#34;&gt;Hacking Team&lt;/a&gt; making it easy to purchase them, even providing guarantees that one of their exploits will work within 30 days, it seems quite likely that customers of such companies have access to secret root exploits to even iOS 8. While there are ethical and lawful reasons to use software like this, many governments are also using them for &lt;a href=&#34;https://www.eff.org/deeplinks/2012/02/spy-tech-companies-their-authoritarian-customers-part-i-finfisher-and-amesys&#34; target=&#34;_blank&#34;&gt;illegal&lt;/a&gt; &lt;a href=&#34;http://www.economist.com/blogs/pomegranate/2014/07/internet-monitoring-gulf&#34; target=&#34;_blank&#34;&gt;and&lt;/a&gt; &lt;a href=&#34;http://www.theguardian.com/technology/2014/sep/16/wikileaks-finfisher-files-malware-surveillance&#34; target=&#34;_blank&#34;&gt;unethical&lt;/a&gt; &lt;a href=&#34;https://citizenlab.org/2013/03/you-only-click-twice-finfishers-global-proliferation-2/&#34; target=&#34;_blank&#34;&gt;things&lt;/a&gt;. Since we believe that everyone has a right to privacy, to speak freely, and to peaceably protest, it is important to provide protection to people who are unfairly targeted.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.zetetic.net/sqlcipher/open-source/&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/skitch.png&#34; alt=&#34;SQLCipher&#34; width=&#34;64&#34; height=&#34;72&#34; class=&#34;alignleft size-full wp-image-3613&#34; /&gt;&lt;/a&gt;There is also another key advantage of the IOCipher approach when it comes to mobile devices. IOCipher is ultimately based on SQLite transactions in &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34; target=&#34;_blank&#34;&gt;SQLCipher&lt;/a&gt;, which means that it does not require being mounted in the normal sense. There is no open state once a transaction is complete. Each read or write operation is a self-contained SQLite transaction, so if the file system is forcably quit, SQLite’s transactions prevent the whole file system from being corrupted. This is important in mobile operating systems like Android and iOS since any app or process can be killed at any moment without warning. That means that the worst that can happen to an IOCipher volume is a single write command does not get written. The whole file system will not be corrupted if the process is killed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coming Soon&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When IOCipher is used in conjunction with our &lt;a href=&#34;https://github.com/guardianproject/CacheWord&#34; target=&#34;_blank&#34;&gt;CacheWord&lt;/a&gt; library, it is possible for an app to provide protection even against the &lt;a href=&#34;https://xkcd.com/538/&#34; target=&#34;_blank&#34;&gt;$5 wrench attack&lt;/a&gt;. CacheWord generates a strong passphrase and manages feeding it to IOCipher and SQLCipher. The user provides their own password for encrypting that strong passphrase. That CacheWord file is tiny, and can be rapidly deleted. Once it is gone, the actual passphrase that unlocks the IOCipher encryption is gone, the user’s passphrase will not unlock IOCipher directly. This is something we are working to add in all of our apps, and to also hook it up to panic button triggers. We would be quite happy to see you beat us to it by adding this feature to your app!&lt;/p&gt;

&lt;p&gt;IOCipher with a hardware security module (HSM) aka smartcard would be really nice, since it would provide some measure of added protection without the user setting an app-specific passphrase. HSMs provide write-only private key storage locked by pin code, so even if some was able to get the encrypted file and the pincode, they would not be able to retrieve the key to unlock the encrypted file. The only way to unlock the file would be with the physical device itself, or by finding the key backup, if that existed. This is possible now using an external &lt;a href=&#34;http://www.smartcard-hsm.com/features.html&#34; target=&#34;_blank&#34;&gt;microSD&lt;/a&gt; &lt;a href=&#34;http://www.go-trust.com/nist-adds-go-trusts-sdencrypter-microsd-hsm-to-the-in-process-fips-140-2-module-validation-list/&#34; target=&#34;_blank&#34;&gt;HSM&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Sharing your location privately</title>
      <link>https://guardianproject.info/2015/01/23/sharing-your-location-privately/</link>
      <pubDate>Fri, 23 Jan 2015 15:00:10 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/01/23/sharing-your-location-privately/</guid>
      <description>&lt;div id=&#34;attachment_12774&#34; style=&#34;width: 298px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/01/facebook-messenger-shared-location.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12774&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/facebook-messenger-shared-location-576x1024.png&#34; alt=&#34;Facebook location sharing embeds the location in every single message, providing a detailed log to the recipient, Facebook, and anyone Facebook shares that data with&#34; width=&#34;288&#34; height=&#34;512&#34; class=&#34;size-large wp-image-12774&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/facebook-messenger-shared-location.png 576w, https://guardianproject.info/wp-content/uploads/2015/01/facebook-messenger-shared-location-169x300.png 169w&#34; sizes=&#34;(max-width: 288px) 100vw, 288px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12774&#34; class=&#34;wp-caption-text&#34;&gt;
    Facebook location sharing embeds the location in every single message, providing a detailed log to the recipient, Facebook, and anyone Facebook shares that data with
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;One handy feature that many smartphones give us is the ability to easily share our exact position with other people. You can see this feature in a lot of apps. Google Maps lets you click “Share” and send a URL via any method you have available. In Facebook Messenger, you can click a button and the people on the other side of the chat will receive a little embedded map showing the received location. Of course, the question we always ask is: how can we do this in a privacy-preserving way? And the follow up question: what kinds of information are apps leaking, storing, using, etc? Location is especially valuable and sensitive metadata, especially when there is a lot of it, because it can be used to derive so much information about a person. Most people do not want to publicly post their phone number or home address on the internet, yet are unwittingly giving away far more detailed information by using the various location-based services that are available. There is a lot of specific location information that people do not want to publicize that they visit: a cancer specialist, an abortion clinic, a criminal court, a mistress’ house, or any location information to an abusive spouse. For a great illustration of the power of location metadata, you can watch &lt;a href=&#34;http://www.zeit.de/datenschutz/malte-spitz-data-retention&#34; target=&#34;_blank&#34;&gt;an animation of German politician Malte Spitz’s life, based on his telephone metadata that his telecom had stored&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Google, Facebook, and so many others make money by collecting as much data on their users as possible, then selling access to that data to their customers. So both those companies have incentives to make sure that you will always share your location information with them as well. The question is: are they treating this information as carefully as you would? In China, the indigenous services are much more popular than most foreign alternatives. The Chinese companies are good at making products that are popular with Chinese users, and since they collaborate with the government censorship and tracking, it is easier for them to do business in China. This combination often means that Chinese companies put security and privacy at a very low priority, even though they could comply with the Chinese law while improving their security. A good example of this is the fact that none of the major map providers in China (Baidu, Amap, or QQ) provide even an optional HTTPS interface. They only have unencrypted communications, which allows lots of people easy access to snooping, including anyone who is on the same wifi network as you are.&lt;/p&gt;

&lt;p&gt;The tools for tracking people via location data are getting better, cheaper, and more available. One funny example is &lt;a href=&#34;https://iknowwhereyourcatlives.com/&#34; target=&#34;_blank&#34;&gt;I Know Where Your Cat Lives&lt;/a&gt;, which shows the locations of cat pictures found on the public internet via the geo location included in the EXIF image data.&lt;/p&gt;

&lt;div id=&#34;attachment_12793&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://iknowwhereyourcatlives.com&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12793&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/i-know-where-your-cat-lives-300x188.jpg&#34; alt=&#34;I know where your cat lives!&#34; width=&#34;300&#34; height=&#34;188&#34; class=&#34;size-medium wp-image-12793&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/i-know-where-your-cat-lives-300x188.jpg 300w, https://guardianproject.info/wp-content/uploads/2015/01/i-know-where-your-cat-lives.jpg 768w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12793&#34; class=&#34;wp-caption-text&#34;&gt;
    I know where your cat lives!
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Location and Panic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One use that we are particularly interested in is sending location to trusted contacts when a panic button is pressed. When thinking about panic button features, privacy must be a central concern. When someone triggers their panic button, it is clearly a sensitive situation. That means that leaking more location information could exacerabate the situation. Since sending location is a useful and popular feature, it is important to consider the whole picture of where that location information might go. To start with, the panic message needs to be sent using a method that will reliably reach its intended destination. Unfortunately, that often means using insecure communications like SMS, or an app that is fully tapped by the same government that is detaining the user, like WeChat. Part of this T2 Panic research and development effort is focused on how to make a complete, secure panic solution. So we will also focus on making ChatSecure and other secure communications an available channel for sending panic messages.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://panicbutton.io&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/activate1-150x150.jpg&#34; alt=&#34;activate1&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-12805&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/activate1-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2015/01/activate1-270x270.jpg 270w, https://guardianproject.info/wp-content/uploads/2015/01/activate1-230x230.jpg 230w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;The next step is to break down the entire path of where that location information might be intercepted. The first place is on the sending device itself. The panic message will stored with the sent messages with most communications apps, and that can recovered by whoever is detaining the user. Even if the device is encrypted, it is very likely the user can be compelled to unlock the device. So the panic message should be designed with that in mind.&lt;/p&gt;

&lt;p&gt;So if we consider a fully anonymous method of communication, like ChatSecure’s “Secret Identity”, then protecting the location information becomes important even if all of the messages and their recipients are recovered from the sending device. The full “Secret Identity” procedure of creating an account per person you want to chat with, and only using that single account to communicate with that other person. It has been outlined by many people, including Laura Poitras when describing how she communicates with Edward Snowden. In this case, even if someone recovers the recipient address, all they will have is an anonymously created account with no other links to other accounts. Then location URL then becomes a way to deanonymize the recipient. First, if the URL takes the recipient to an unencrypted connection, then that it is easy to track. Even with an encrypted connection, if the server providing the map service is providing information to the government, then the encrypted connection will not help. Making this connection over Tor will also help since the map service will not be able to see the IP address of the device where the user clicked on this URL. Now consider a location URL using Google Maps, or any similar service where users frequently login. If the original panic message was sent using such a URL, and the recipient was a regular user of a service that used logins, then that login information would deanonymize the recipient if they viewed the location URL in a browser where they were also logged in with their normal Google account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Stories&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This can perhaps be better illustrated using some quick user stories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A journalist and a source set up Secret Identities in ChatSecure devoted to each other when they met up in person. Each have panic buttons set up to contact the other in case of emergency. The journalist uses &lt;a href=&#34;https://openstreetmap.org&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;http&lt;strong&gt;s&lt;/strong&gt;://openstreetmap.org&lt;/code&gt;&lt;/a&gt; to generate a shortlink that points to the chosen meeting location, then sends it to the source using the Secret Identity, &lt;a href=&#34;http://osm.org/go/0ju_SMlBn&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;&lt;a href=&#34;http://osm.org/go/0ju_SMlBn&#34;&gt;http://osm.org/go/0ju_SMlBn&lt;/a&gt;&lt;/code&gt;&lt;/a&gt;. The source clicks the link, and chooses to open the link in Firefox. Therefore, the website is shown using an unencrypted, direct connection, which is easily observed. Even though the recipient has HTTPS Everywhere set up in his browser to force HTTPS for openstreetmap.org, the osm.org shortlink does not currently have working HTTPS so it is an HTTP link. This shortlink is now a unique ID that links the journalist and source’s real IP address. If the source was using a cellular internet connection, then this will also link the IP address to the devices IMEI unique ID. The IMEI is then quite easy to link to a real identity information.&lt;/li&gt;
&lt;li&gt;A circle of activists all set each other up with a panic button app on burner Android phones. They only use these burner phones to communicate with each other. They prepare in advance to discard all the phones in case someone triggers the panic. One activitist gets detained by the secret police and triggers the panic. The secret police get the panic message and all the other phone numbers from the detainee’s phone, but the activists are no longer using those phones so they cannot be tracked by them. The activists manually copy the Google Maps shortlink &lt;a href=&#34;https://goo.gl/maps/Cji0V&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;&lt;a href=&#34;https://goo.gl/maps/Cji0V&#34;&gt;https://goo.gl/maps/Cji0V&lt;/a&gt;&lt;/code&gt;&lt;/a&gt; to their computer to find out where the detainee is. They type the map link into Internet Explorer, making sure to type HTTPS, and then again confirm that the webpage is still using an HTTPS link. What they did not see is that the shortlink first redirected to a HTTP link &lt;a href=&#34;http://maps.google.com/?q=28.118860,98.008069&amp;hl=en&amp;gl=us&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;&lt;a href=&#34;http://maps.google.com/?q=28.118860,98.008069&amp;amp;hl=en&amp;amp;gl=us&#34;&gt;http://maps.google.com/?q=28.118860,98.008069&amp;amp;hl=en&amp;amp;gl=us&lt;/a&gt;&lt;/code&gt;&lt;/a&gt;, which leaked the location in plain text. Since this URL describes a very specific point, the secret police use this as a data point to search for the IP address of all devices that have accessed that URL. Those IP addresses divulge the locations of all the activists who viewed the map URL, and provide the secret police a method for tracking them all.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I did not cover other more common use cases here because there are so many leaks that the protections presented are moot. All is not lost, there is still a lot that you can do to improve things. First off, we recommend using map apps that can work fully offline. For Android, &lt;a href=&#34;https://play.google.com/store/apps/details?id=net.osmand&#34; target=&#34;_blank&#34;&gt;Osmand&lt;/a&gt; is the best one out there, it uses OpenStreetMap data which can be freely downloaded. It is also important to encourage developers to improve the privacy of their apps. Since we are software developers, we file bug reports and make pull requests to nag location-related projects to improve their security. Here are some recent examples of what we have contributed:&lt;/p&gt;

&lt;p&gt;OpenStreetMap&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issue #799: &lt;a href=&#34;https://github.com/openstreetmap/openstreetmap-website/issues/799&#34; target=&#34;_blank&#34;&gt;Implement &lt;code&gt;geo:&lt;/code&gt; URLs for sharing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Issue #870: &lt;a href=&#34;https://github.com/openstreetmap/openstreetmap-website/issues/870&#34; target=&#34;_blank&#34;&gt;share makes HTTP url even when connecting via HTTPS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Issue #862: &lt;a href=&#34;https://github.com/openstreetmap/openstreetmap-website/issues/862&#34; target=&#34;_blank&#34;&gt;support osm.org in HTTPS certificate&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Osmand&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pull #1033: &lt;a href=&#34;https://github.com/osmandapp/Osmand/pull/1033&#34; target=&#34;_blank&#34;&gt;modernize location sharing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pull #1043: &lt;a href=&#34;https://github.com/osmandapp/Osmand/pull/1043&#34; target=&#34;_blank&#34;&gt;add support for a proxy and use more HTTPS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pull #1045: &lt;a href=&#34;https://github.com/osmandapp/Osmand/pull/1045&#34; target=&#34;_blank&#34;&gt;update URL parsing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We will be following up with further posts on this topic with more detail, including research into what is possible to derive from location data, technical details of issues, and possible solutions and work that can be done to improve things.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>2015 is the Year of Bore-Sec</title>
      <link>https://guardianproject.info/2015/01/02/2015-is-the-year-of-bore-sec/</link>
      <pubDate>Fri, 02 Jan 2015 12:35:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/2015/01/02/2015-is-the-year-of-bore-sec/</guid>
      <description>&lt;p&gt;Over the last few months, the Guardian Project team has been thinking about how to approach the next five years of our work. An idea of “security so easy and seamless, that it is boring” came to the surface through some discussions. This led us to look for inspiration in important inventions and innovations of the past, that provide safety and security to all on a day-to-day basis, without the users of these technologies hardly thinking about them. This is no longer about James Bond super-spy technologies, it is about having as little impact on your day-to-day use of mobile technology while still providing the maximum protection to your data and communications, as possible.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Here then, as inspiration and our guiding lights, is our list of safety inventions of the past that we aim to be “Boring Like….”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://blog.esurance.com/seat-belt-history/&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12756&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/Old-seatbelt-image.jpg&#34; alt=&#34;Old-seatbelt-image&#34; width=&#34;959&#34; height=&#34;380&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/Old-seatbelt-image.jpg 959w, https://guardianproject.info/wp-content/uploads/2015/01/Old-seatbelt-image-300x119.jpg 300w&#34; sizes=&#34;(max-width: 959px) 100vw, 959px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Boring Like &lt;a href=&#34;http://blog.esurance.com/seat-belt-history/&#34;&gt;Seat Belts&lt;/a&gt; (buckle up!)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Pasteurization&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12757&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/StateLibQld_1_212036_Cream_pasteurising_and_cooling_coils_at_Murgon_Butter_Factory_1939.jpg&#34; alt=&#34;StateLibQld_1_212036_Cream_pasteurising_and_cooling_coils_at_Murgon_Butter_Factory,_1939&#34; width=&#34;1000&#34; height=&#34;722&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/StateLibQld_1_212036_Cream_pasteurising_and_cooling_coils_at_Murgon_Butter_Factory_1939.jpg 1000w, https://guardianproject.info/wp-content/uploads/2015/01/StateLibQld_1_212036_Cream_pasteurising_and_cooling_coils_at_Murgon_Butter_Factory_1939-300x217.jpg 300w&#34; sizes=&#34;(max-width: 1000px) 100vw, 1000px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; Boring Like &lt;a href=&#34;https://en.wikipedia.org/wiki/Pasteurization&#34;&gt;Pasteurized Milk&lt;/a&gt; (though of course, we do respect your raw dairy folks out there…)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/01/versagate3.jpg&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12758&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/versagate3.jpg&#34; alt=&#34;versagate3&#34; width=&#34;640&#34; height=&#34;427&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/versagate3.jpg 640w, https://guardianproject.info/wp-content/uploads/2015/01/versagate3-300x200.jpg 300w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; Boring Like &lt;a href=&#34;https://www.google.com/search?q=baby+gates&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=htKmVJm_GZPmgwSNn4HYBg&amp;amp;ved=0CAkQ_AUoAg&amp;amp;biw=1701&amp;amp;bih=839&#34;&gt;Baby Gates&lt;/a&gt; (kids and dogs hate ’em, but they are a necessary fun killer for any household)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/01/smokealarm.jpg&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12759&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/smokealarm.jpg&#34; alt=&#34;smokealarm&#34; width=&#34;410&#34; height=&#34;602&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/smokealarm.jpg 410w, https://guardianproject.info/wp-content/uploads/2015/01/smokealarm-204x300.jpg 204w&#34; sizes=&#34;(max-width: 410px) 100vw, 410px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
Boring Like &lt;a href=&#34;http://thesmokedetector.umwblogs.org/antecedents-the-evolution/&#34;&gt;Smoke Detectors&lt;/a&gt; (though our friends at &lt;a href=&#34;http://getbirdi.com/&#34;&gt;Birdi&lt;/a&gt; are aiming to make them exciting again…)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://mentalfloss.com/article/54410/surprising-origins-child-proof-lids&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12760&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/childlids.jpg&#34; alt=&#34;childlids&#34; width=&#34;640&#34; height=&#34;430&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/childlids.jpg 640w, https://guardianproject.info/wp-content/uploads/2015/01/childlids-300x202.jpg 300w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
Boring Like &lt;a href=&#34;http://mentalfloss.com/article/54410/surprising-origins-child-proof-lids&#34;&gt;Childproof Lids&lt;/a&gt; (again, for the parents out there, a literal life saver)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.toyota-global.com/innovation/safety_technology/safety_technology/technology_file/active/&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12761&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/sft_08_01.jpg&#34; alt=&#34;sft_08_01&#34; width=&#34;340&#34; height=&#34;220&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/sft_08_01.jpg 340w, https://guardianproject.info/wp-content/uploads/2015/01/sft_08_01-300x194.jpg 300w&#34; sizes=&#34;(max-width: 340px) 100vw, 340px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
Boring Like &lt;a href=&#34;http://www.toyota-global.com/innovation/safety_technology/safety_technology/technology_file/active/&#34;&gt;Anti-Lock Brakes&lt;/a&gt; (the modern automobile is one of the best examples of bore-sec!)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2015/01/bg_SurgeProtectorBuyingGuide_hero_image.jpg&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12762&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/bg_SurgeProtectorBuyingGuide_hero_image.jpg&#34; alt=&#34;bg_SurgeProtectorBuyingGuide_hero_image&#34; width=&#34;650&#34; height=&#34;294&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/bg_SurgeProtectorBuyingGuide_hero_image.jpg 650w, https://guardianproject.info/wp-content/uploads/2015/01/bg_SurgeProtectorBuyingGuide_hero_image-300x136.jpg 300w&#34; sizes=&#34;(max-width: 650px) 100vw, 650px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
Boring Like &lt;a href=&#34;http://www.lowes.com/cd_Surge+Protector+Buying+Guide_754129873_Learn&#34;&gt;Surge Protectors&lt;/a&gt; (wouldn’t you rather lose your $2 power strip then your $1000 computer?)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://msdh.ms.gov/msdhsite/_static/30,5314,77,333.html&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12763&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/RestaurantInspectionGradeA.jpg&#34; alt=&#34;RestaurantInspectionGradeA&#34; width=&#34;568&#34; height=&#34;727&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/RestaurantInspectionGradeA.jpg 568w, https://guardianproject.info/wp-content/uploads/2015/01/RestaurantInspectionGradeA-234x300.jpg 234w&#34; sizes=&#34;(max-width: 568px) 100vw, 568px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
Boring Like &lt;a href=&#34;http://msdh.ms.gov/msdhsite/_static/30,5314,77,333.html&#34;&gt;Restaurant Inspections&lt;/a&gt; (peace of mind from a single letter rating when you go out to eat…)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://americandogblog.wordpress.com/tag/dog-life-vest/&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-12764&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/01/dougie_2008_in_his_outwardhound_dog_life_jacket.jpg&#34; alt=&#34;dougie_2008_in_his_outwardhound_dog_life_jacket&#34; width=&#34;360&#34; height=&#34;269&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/01/dougie_2008_in_his_outwardhound_dog_life_jacket.jpg 360w, https://guardianproject.info/wp-content/uploads/2015/01/dougie_2008_in_his_outwardhound_dog_life_jacket-300x224.jpg 300w&#34; sizes=&#34;(max-width: 360px) 100vw, 360px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
Boring Like &lt;a href=&#34;https://americandogblog.wordpress.com/tag/dog-life-vest/&#34;&gt;Life Vests&lt;/a&gt; (even dogs love ’em!)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Have some ideas of other great “Bore-Sec” tech? Add them in the comments!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With our work on critical security and privacy enhancements for mobile devices and apps, we aim to bore. The best security is the kind you don’t have to worry about, until you need it (and then you won’t know how you ever lived without it…)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s to breaking new “Bore-Sec” ground in 2015! Happy New Year!&lt;/strong&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Reducing metadata leakage from software updates</title>
      <link>https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/</link>
      <pubDate>Thu, 16 Oct 2014 12:48:04 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/10/16/reducing-metadata-leakage-from-software-updates/</guid>
      <description>

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: now you can &lt;a href=&#34;https://guardianproject.info/2016/07/31/howto-get-all-your-debian-packages-via-tor-onion-services/&#34;&gt;do this with Tor Onion Services&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-300x199.png&#34; alt=&#34;leakage&#34; width=&#34;300&#34; height=&#34;199&#34; class=&#34;alignright size-medium wp-image-12699&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-100x66.png 100w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-150x99.png 150w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-200x132.png 200w, https://guardianproject.info/wp-content/uploads/2014/10/leakage.png 410w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;Many software update systems use code signing to ensure that only the correct software is downloaded and installed, and to prevent the code from being altered. This is an effective way to prevent the code from being modified, and because of that, software update systems often use plain, unencrypted HTTP connections for downloading code updates. That means that the metadata of what packages a machine has installed is available in plain text for any network observer, from someone sitting on the same public WiFi as you, to state actors with full network observation capabilities.&lt;/p&gt;

&lt;p&gt;That means that potentially private information is leaking. That private information could be which packages you have installed and which versions. That information can help an attacker figure out the best way to break into the target machine. Also, a unique fingerprint can be generated based on which packages a machine has installed, and that could help de-anonymize traffic that goes over Tor or other anonymity tool.&lt;/p&gt;

&lt;p&gt;For people who use &lt;code&gt;apt-get&lt;/code&gt; in Debian, Ubuntu or any related GNU/Linux distro, there is a lot of metadata leaked to the internet when &lt;code&gt;apt-get&lt;/code&gt; contacts Debian repositories using a standard configuration. Mostly, that is because by default, the connections are unencrypted (http, ftp, rsync). The integrity of the package itself is not reason enough to use HTTPS since the GPG signing is much more reliable for that task. Here is how I break it down:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;package authenticity&lt;br /&gt;
(&lt;em&gt;software can be modified while being downloaded&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;repo availability&lt;br /&gt;
( &lt;em&gt;whole sites or specific URL paths can be selectively blocked by governments and companies&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;package availability&lt;br /&gt;
(&lt;em&gt;software security updates can be individually blocked&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;who’s downloading what package (&lt;em&gt;currently visible to anyone who can see the&lt;br /&gt;
network traffic, including open wifi, etc.&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The current apt model covers #1 well, but only covers #2 and #3 with a two week window (the expiration date on the repo metadata). And it does not cover #4 at all. Using HTTPS for apt repos is a simple way to improve the security of all 4. It adds a weak backup security layer for #1, it makes it much more difficult for a portion of a large internet mirror to be seletively blocked (e.g. #2 and #3). For example, if you use HTTPS to mirrors.kernel.org, everything has to be blocked to block Debian repos or packages. And pipelining downloads through a reused HTTPS connection makes it very difficult for the network observer to track metadata about packages, #4).&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-control.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-control-150x150.jpg&#34; alt=&#34;leakage control&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-12701&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/10/leakage-control-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-control-100x100.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-control-200x200.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/10/leakage-control.jpg 300w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Luckily, there are some relatively easy steps that greatly reduce the amount of metadata that is leaked: using HTTPS connections to the mirrors and running those connections through Tor. Setting &lt;code&gt;apt-get&lt;/code&gt; to pipeline as many transactions into a given HTTPS session is also useful, but currently only supported for HTTP and not HTTPS. Even though HTTPS/TLS has security weaknesses, it is a lot better than nothing, and can help provide real world protection. The downside is that it is not common for Debian machines to connect to apt mirrors using HTTPS, so that potentially marks the install as a machine worth targeting. There are more and more HTTPS mirrors, and more interest in using them, so I think in time, that will only lessen as a concern. Here are the HTTPS mirrors that I have had good luck with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mirrors.ece.ubc.ca&lt;/li&gt;
&lt;li&gt;mirrors.kernel.org&lt;/li&gt;
&lt;li&gt;mirror.cse.unsw.edu.au&lt;/li&gt;
&lt;li&gt;spout.ussg.indiana.edu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On that note, here is the config that I have been using on a number of Debian-deriv machines, and it has been working well. It requires &lt;code&gt;apt-transport-https&lt;/code&gt;, and &lt;a href=&#34;http://ubuntuguide.org/wiki/Tor#Privoxy&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;privoxy&lt;/code&gt; setup as an HTTP proxy for Tor&lt;/a&gt;.&lt;/p&gt;

&lt;pre&gt;$ cat /etc/apt/apt.conf.d/99force-tor
# force everything through privoxy HTTP proxy to tor
Acquire::ftp::Proxy &#34;http://127.0.0.1:8118&#34;;
Acquire::http::Proxy &#34;http://127.0.0.1:8118&#34;;
Acquire::https::Proxy &#34;http://127.0.0.1:8118&#34;;

# don&#39;t use SSL, its insecure, only use TLS
Acquire::https::SslForceVersion &#34;TLSv1&#34;;
&lt;/pre&gt;

&lt;p&gt;I have found about 10 official Debian mirrors that have reliable HTTPS. Then I have a &lt;a href=&#34;https://gist.github.com/eighthave/7285154&#34; target=&#34;_blank&#34;&gt;script that finds all of them&lt;/a&gt;, but many have self-signed certs and other issues. A number of the HTTPS mirrors also mirror the “security” archive, but I recommend that the &lt;code&gt;http&lt;/code&gt; URL to the official &lt;code&gt;security.debian.org&lt;/code&gt; repo is still included to make sure that security updates are promptly available.&lt;/p&gt;

&lt;p&gt;I also have a test security repo running that is only available via an .onion address. I hope to encourage people to run official mirrors on a Tor Hidden Service, then HTTPS is not needed. Note that &lt;code&gt;apt-transport-tor&lt;/code&gt; is not required if a tor proxy is setup. To try mine, add it to your &lt;code&gt;sources.list&lt;/code&gt; (and make sure &lt;code&gt;apt-get&lt;/code&gt; is somehow using Tor). The order is important, that determines the priority of where &lt;code&gt;apt-get&lt;/code&gt; will get the package from is all other variables are the same.&lt;/p&gt;

&lt;pre&gt;deb http://dju2peblv7upfz3q.onion/debian-security/ wheezy/updates main
deb http://security.debian.org/ wheezy/updates main
&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Use the official &lt;a href=&#34;https://onion.debian.org/&#34; target=&#34;_blank&#34;&gt;Debian Tor Onion Services&lt;/a&gt; now, &lt;tt&gt;dju2peblv7upfz3q.onion&lt;/tt&gt; is deprecated and will be shut down!&lt;/p&gt;

&lt;h3 id=&#34;a-specific-example-tails&#34;&gt;A specific example: TAILS&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://tails.boum.org/&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/10/Tails-150x150.png&#34; alt=&#34;Tails&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-12711&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/10/Tails-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2014/10/Tails-100x100.png 100w, https://guardianproject.info/wp-content/uploads/2014/10/Tails-200x200.png 200w, https://guardianproject.info/wp-content/uploads/2014/10/Tails.png 256w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://tails.boum.org/&#34; target=&#34;_blank&#34;&gt;TAILS&lt;/a&gt; is an operating system that aims to be as private and anonymous as possible to enable, and has allowed &lt;a href=&#34;https://freedom.press/blog/2014/04/help-support-little-known-privacy-tool-has-been-critical-journalists-reporting-nsa&#34; target=&#34;_blank&#34;&gt;journalists&lt;/a&gt; like &lt;a href=&#34;https://www.wired.com/2014/10/laura-poitras-crypto-tools-made-snowden-film-possible/&#34; target=&#34;_blank&#34;&gt;Laura Poitras&lt;/a&gt; to work without leaking information despite being targeted by some very skilled and highly resourced organizations. TAILS mostly works as a “live CD”, meaning the whole operating system is downloaded as a single “image” file, then either burned to a CD/DVD, or to a USB thumb drive. Updates work the same way. But TAILS has an optional feature to use the Debian package system to install and persist packages that are not included by default. TAILS does not use the default set of mirrors that a standard Debian install uses, it is set up by default with a range of possible Debian package sources, including the current stable version (called wheezy), the versions in testing, and packages backported to the stable version. That means that when this feature is used, TAILS fetches the metadata for all of those sections of Debian (stable/wheezy, testing, wheezy-backports, unstable).&lt;/p&gt;

&lt;p&gt;Given all of the proven fingerprinting approaches, like using the font list from the browser, I think its a safe assumption that the apt-get metadata will also provide similar fingerprinting opportunities. For basic TAILS use, this is all avoided since updates are done via ISO images. But once a user installs packages via &lt;code&gt;apt-get&lt;/code&gt;, that changes since TAILS then goes out onto the internet to fetch all of the repo metadata. That goes over Tor since TAILS forces all network traffic over Tor, so that helps break the link between the machine downloading the updates and those that can see that machines internet traffic.&lt;/p&gt;

&lt;p&gt;It seems quite likely that the set of mirrors and the order in which they are run will provide a way to identify the system as TAILS. As for identifying individual machines, &lt;code&gt;apt-get&lt;/code&gt; sends a lot of metadata, like language that the system is using, which packages need updates, etc. On top of the set of mirrors used, there is potentially enough metadata there to fingerprint the individual machine.&lt;/p&gt;

&lt;p&gt;One open question is how the &lt;code&gt;apt-get&lt;/code&gt; downloads map to different Tor circuits. If all of the traffic from a given &lt;code&gt;apt-get&lt;/code&gt; session goes over a single Tor circuit, then the exit node, the mirror server, and any network observer that can see the traffic between those two can use that as the fingerprint.&lt;/p&gt;

&lt;p&gt;To expand on this, if TAILS fetched all of its apt sources (wheezy, backports, testing, etc) via HTTPS from the same mirror (e.g. mirrors.kernel.org), then the exit node and network observer could not really distinguish the distro the machine making the connection was running since mirrors.kernel.org hosts many distro mirrors. There are two key parts here: using HTTPS to encrypt the data, and using HTTP pipelining so that network connections are reused for multiple downloads, rather than the default behavior of making a new HTTPS for each individual download. This setup would also prevent the custom pattern of apt sources from being distinguished since it would just show as downloading some series of files, and those files could be packages, package metadata, perl modules, source tarballs, etc.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>CacheWord: Passphrase Caching and Management</title>
      <link>https://guardianproject.info/code/cacheword/</link>
      <pubDate>Fri, 26 Sep 2014 21:44:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/cacheword/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/CacheWord&#34; target=&#34;_blank&#34; title=&#34;CacheWord on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/CacheWord&#34; target=&#34;_blank&#34; title=&#34;CacheWord on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/CacheWord&#34; target=&#34;_blank&#34; title=&#34;CacheWord javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/cacheword&#34; target=&#34;_blank&#34; title=&#34;CacheWord blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;CacheWord is an Android library project for passphrase caching and management.&lt;br /&gt;
It helps app developers securely generate, store, and access secrets derived&lt;br /&gt;
from a user&amp;rsquo;s passphrase. It is designed to work easily with &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;IOCipher&lt;/a&gt; and &lt;a href=&#34;https://www.zetetic.net/sqlcipher/open-source&#34; target=&#34;_blank&#34;&gt;SQLCipher-for-Android&lt;/a&gt;, but it can be used any time an app needs to manage a password. Broadly speaking this library assists developers with two related problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Secrets Management: how the secret key material for your app is generated, stored, and accessed&lt;/li&gt;
&lt;li&gt;Passphrase Caching: store the passphrase in memory to avoid constantly prompting the user&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CacheWord manages key derivation, verification, persistence, passphrase resetting, and caching secret key material in memory.&lt;/p&gt;

&lt;h3 id=&#34;features&#34;&gt;Features&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Strong key derivation (PBKDF2)&lt;/li&gt;
&lt;li&gt;Dynamic KDF iteration count based on CPU speed&lt;/li&gt;
&lt;li&gt;Secure secret storage (AES-256 GCM)&lt;/li&gt;
&lt;li&gt;Persistent notification: informs the user the app data is unlocked&lt;/li&gt;
&lt;li&gt;Configurable timeout: after a specified time of inactivity the app locks itself&lt;/li&gt;
&lt;li&gt;Manual clearing: the user can forcibly lock the application&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;source-code-repository&#34;&gt;Source Code Repository&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;library, helpers, tests, and sample project: &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34;&gt;https://github.com/guardianproject/cacheword&lt;/a&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.cacheword:cachewordlib:0.1.1&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1.jar&#34;&gt;cachewordlib-0.1.1.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-sources.jar&#34;&gt;cachewordlib-0.1.1-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-javadoc.jar&#34;&gt;cachewordlib-0.1.1-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>CacheWord: Passphrase Caching and Management</title>
      <link>https://guardianproject.info/code/cacheword/</link>
      <pubDate>Fri, 26 Sep 2014 21:44:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/cacheword/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/CacheWord&#34; target=&#34;_blank&#34; title=&#34;CacheWord on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/CacheWord&#34; target=&#34;_blank&#34; title=&#34;CacheWord on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/CacheWord&#34; target=&#34;_blank&#34; title=&#34;CacheWord javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/cacheword&#34; target=&#34;_blank&#34; title=&#34;CacheWord blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;CacheWord is an Android library project for passphrase caching and management.&lt;br /&gt;
It helps app developers securely generate, store, and access secrets derived&lt;br /&gt;
from a user&amp;rsquo;s passphrase. It is designed to work easily with &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;IOCipher&lt;/a&gt; and &lt;a href=&#34;https://www.zetetic.net/sqlcipher/open-source&#34; target=&#34;_blank&#34;&gt;SQLCipher-for-Android&lt;/a&gt;, but it can be used any time an app needs to manage a password. Broadly speaking this library assists developers with two related problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Secrets Management: how the secret key material for your app is generated, stored, and accessed&lt;/li&gt;
&lt;li&gt;Passphrase Caching: store the passphrase in memory to avoid constantly prompting the user&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CacheWord manages key derivation, verification, persistence, passphrase resetting, and caching secret key material in memory.&lt;/p&gt;

&lt;h3 id=&#34;features&#34;&gt;Features&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Strong key derivation (PBKDF2)&lt;/li&gt;
&lt;li&gt;Dynamic KDF iteration count based on CPU speed&lt;/li&gt;
&lt;li&gt;Secure secret storage (AES-256 GCM)&lt;/li&gt;
&lt;li&gt;Persistent notification: informs the user the app data is unlocked&lt;/li&gt;
&lt;li&gt;Configurable timeout: after a specified time of inactivity the app locks itself&lt;/li&gt;
&lt;li&gt;Manual clearing: the user can forcibly lock the application&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;source-code-repository&#34;&gt;Source Code Repository&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;library, helpers, tests, and sample project: &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34;&gt;https://github.com/guardianproject/cacheword&lt;/a&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.cacheword:cachewordlib:0.1.1&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1.jar&#34;&gt;cachewordlib-0.1.1.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-sources.jar&#34;&gt;cachewordlib-0.1.1-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-javadoc.jar&#34;&gt;cachewordlib-0.1.1-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/cacheword/cachewordlib/0.1.1/cachewordlib-0.1.1-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>CipherKit updates: IOCipher and CacheWord</title>
      <link>https://guardianproject.info/2014/09/26/cipherkit-updates-iocipher-and-cacheword/</link>
      <pubDate>Fri, 26 Sep 2014 21:39:54 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/09/26/cipherkit-updates-iocipher-and-cacheword/</guid>
      <description>

&lt;p&gt;We’ve been on a big kick recently, updating the newest members of our CipherKit family of frameworks: &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;IOCipher&lt;/a&gt; and &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34; target=&#34;_blank&#34;&gt;CacheWord&lt;/a&gt;. There also are is a little news about the original CipherKit framework: &lt;a href=&#34;https://www.zetetic.net/sqlcipher/open-source&#34; title=&#34;SQLCipher for Android&#34; target=&#34;_blank&#34;&gt;SQLCipher-for-Android&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;iocipher-v0-2&#34;&gt;IOCipher v0.2&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg&#34; alt=&#34;alberti cipher disk&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-3079&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg 245w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;IOCipher is a library for storing files in an encrypted virtual disk. It’s API is the exact same as &lt;code&gt;java.io&lt;/code&gt; for working with files, and it does not need root access. That makes it the sibling of SQLCipher-for-Android, both are native Android APIs that wrap the SQLCipher database.&lt;/p&gt;

&lt;p&gt;This round of work focused on making IOCipher more reliable and secure, and easy to integrate with CacheWord. It can now handle files up to 4GB in size, the same as FAT filesystems, and it has much improved performance, especially under concurrent load. There is now also an &lt;code&gt;unmount()&lt;/code&gt; method to lock the database and wipe the key from memory. The central &lt;code&gt;VirtualFileSystem&lt;/code&gt; class is now a singleton, since you can only have a single virtual disk open at a time. Lastly, the IOCipher release now includes binaries for &lt;code&gt;armeabi&lt;/code&gt;, &lt;code&gt;armeabi-v7a&lt;/code&gt;, and &lt;code&gt;x86&lt;/code&gt;. IOCipher v0.2 was built against SQLCipher-for-Android v3.1.0, and that is the minimum recommended version to use.&lt;/p&gt;

&lt;p&gt;Find downloads, example projects, test suites, and more on &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;the IOCipher page&lt;/a&gt;. Follow the development on the &lt;a href=&#34;https://dev.guardianproject.info/projects/iocipher&#34; target=&#34;_blank&#34;&gt;IOCipher project page&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;cacheword-v0-1&#34;&gt;CacheWord v0.1&lt;/h2&gt;

&lt;p&gt;Once you are using SQLCipher and IOCipher, then you’ll definitely need to do some password management, and password caching too, since no one wants to type their password again every time they come to an app. That is where CacheWord comes in: it is a library for managing passwords, and it is designed easily feed directly into SQLCipher and IOCipher, or really anything that needs secure password caching.&lt;/p&gt;

&lt;p&gt;Most of this update was about making CacheWord ready to deploy. That means fixing bugs and drastically simplifying it’s dependencies. CacheWord now can be used as a plain jar file or an Android Library Project, and it only depends on &lt;code&gt;android-support-v4.jar&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Part of the process of simplifying CacheWord also involved stripping down the API to only want CacheWord should really handle. The standard API is all in the CacheWordHandler class. So that means that your app has to handle any Notification, and pass it to CacheWord if you want CacheWordService to run in the foreground.&lt;/p&gt;

&lt;p&gt;CacheWord also now dynamically chooses how many iterations of the key derivation function based on the CPU type. That means that new, fast devices, the derived key will be a lot stronger, while on slow, old devices, it won’t take a minute to unlock your app.&lt;/p&gt;

&lt;p&gt;Find downloads, example projects, and more on &lt;a href=&#34;https://guardianproject.info/code/cacheword&#34;&gt;the CacheWord page&lt;/a&gt;. Follow the development on the &lt;a href=&#34;https://dev.guardianproject.info/projects/cacheword&#34; target=&#34;_blank&#34;&gt;CacheWord project page&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;sqlcipher&#34;&gt;SQLCipher&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/skitch.png&#34; alt=&#34;SQLCipher&#34; width=&#34;64&#34; height=&#34;72&#34; class=&#34;alignright size-full wp-image-3613&#34; /&gt;&lt;/a&gt;The upcoming release of SQLCipher-for-Android also has been simplified. It will no longer depend on commons-codec.jar or guava-r09.jar (thanks to Jeff Campbell for submitting those commits!), remove ~8000 methods for those who fear running into the 65k method limit of the classes.dex file. We’ve been working on making the build process be reproducible, so that anyone can verify that the official releases are built only from the source in the git repo, and nothing else has been added. We’re also working on moving the password format conversion code out of CacheWord and into SQLCipher, where it belongs.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Question: central server, federated, or p2p? Answer: all!</title>
      <link>https://guardianproject.info/2014/09/18/question-central-server-federated-or-p2p-answer-all/</link>
      <pubDate>Thu, 18 Sep 2014 00:30:57 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/09/18/question-central-server-federated-or-p2p-answer-all/</guid>
      <description>&lt;p&gt;There are many ideas of core architectures for providing digital services, each with their own advantages and disadvantages. I break it down along the lines of central servers, federated servers, and peer-to-peer, serverless systems.&lt;/p&gt;

&lt;div id=&#34;attachment_12631&#34; style=&#34;width: 210px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/09/200px-Server-based-network.svg_.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12631&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/09/200px-Server-based-network.svg_.png&#34; alt=&#34;a central service with clients connecting to it&#34; width=&#34;200&#34; height=&#34;207&#34; class=&#34;size-full wp-image-12631&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/09/200px-Server-based-network.svg_.png 200w, https://guardianproject.info/wp-content/uploads/2014/09/200px-Server-based-network.svg_-100x103.png 100w, https://guardianproject.info/wp-content/uploads/2014/09/200px-Server-based-network.svg_-150x155.png 150w&#34; sizes=&#34;(max-width: 200px) 100vw, 200px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12631&#34; class=&#34;wp-caption-text&#34;&gt;
    a central service with clients connecting to it
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Most big internet companies operate in effect as a central server (even though they are implemented differently). There is only facebook.com, there are no other services that can inter-operate with facebook.com. Have a single, central repo makes problems of finding the service and finding people within the service a lot easier. Once you are in Facebook, you just need to know the name of the person you want to contact and you are connected. The Facebook apps just need to talk to facebook.com, so the user does not need to know which service they are using in order to configure the app.&lt;/p&gt;

&lt;div id=&#34;attachment_12633&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;http://www.bendevane.com/RDC2012/ians/2012/10/09/campsiteofthefutur/&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12633&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-300x170.png&#34; alt=&#34;email as federated service&#34; width=&#34;300&#34; height=&#34;170&#34; class=&#34;size-medium wp-image-12633&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-300x170.png 300w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-100x56.png 100w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-150x85.png 150w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-200x113.png 200w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-450x255.png 450w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-600x341.png 600w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582-900x511.png 900w, https://guardianproject.info/wp-content/uploads/2014/09/Federated-01-1024x582.png 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12633&#34; class=&#34;wp-caption-text&#34;&gt;
    email as federated service
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Email is a great example of a federated system. Each email provider acts like a central server, but then each of those central servers can easily talk to each other and exchange data. So fastmail.fm and gmail.com are both centralized services, but users do not need to know any extra information in order to exchange emails between the two services, or any other of the millions of email servers out there. A federated system provides a lot of the benefits of a centralized server with more flexibility. The downside is that federated services generally require more configuration to use them (though webmail makes that much less of an issue).&lt;/p&gt;

&lt;div id=&#34;attachment_12632&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/09/300px-Unstructured_peer-to-peer_network_diagram.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12632&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/09/300px-Unstructured_peer-to-peer_network_diagram.png&#34; alt=&#34;a peer-to-peer network&#34; width=&#34;300&#34; height=&#34;245&#34; class=&#34;size-full wp-image-12632&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/09/300px-Unstructured_peer-to-peer_network_diagram.png 300w, https://guardianproject.info/wp-content/uploads/2014/09/300px-Unstructured_peer-to-peer_network_diagram-100x81.png 100w, https://guardianproject.info/wp-content/uploads/2014/09/300px-Unstructured_peer-to-peer_network_diagram-150x122.png 150w, https://guardianproject.info/wp-content/uploads/2014/09/300px-Unstructured_peer-to-peer_network_diagram-200x163.png 200w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12632&#34; class=&#34;wp-caption-text&#34;&gt;
    a peer-to-peer network
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Peer-to-peer systems can provide unique benefits of bandwidth efficiency as well as working around blockages in the internet. Sharing large files with thousands of people is quite expensive when using a central server, but with bittorrent, anyone can share large files to many many people using only a basic broadband connection.&lt;/p&gt;

&lt;p&gt;Over the past year and a half of our Bazaar project, we have been thinking a lot about how to distribute apps to people who face a number of challenges. Each of these systems offers distinct advantages and disadvantages, so it is quite difficult to choose only one. Instead, we thought why not try to make a system that combines all three? Android’s APK app package format is a good format to work in this model because they are self-contained and containing a form of embedded identity in the app signature. So if you already have an Android app installed, then Android will enforce that only APKs signed by the same key as the installed app can be installed over it.&lt;/p&gt;

&lt;p&gt;That means in theory, it does not matter where the APK came from as long as it has a valid signature. There are some details where it does matter, mostly related to exploits like “Master Key” that can inject code into an existing APK. The FDroid app repository signature has a similar property: once you trust the repository signing key, it does not matter how you got the repository files as long as the signature validates. This is a model proven by GNU/Linux distros like Debian. The repository metadata also provides a way to validate APKs have not been modified since they were added to the signed repository. Since both of these do not rely on the method of transport to prove their authenticity, this combination provides a great testbed for this idea of combining a central service, with decentralized servers and peer-to-peer distribution.&lt;/p&gt;

&lt;p&gt;This work was all incorporated in the &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;FDroid&lt;/a&gt; app store for Android. The central f-droid.org app repository means that FDroid can deliver well over one thousand apps without any configuration on the part of the user. The “fdroidserver” developer tools means that anyone can set up their own repository of apps, and users can easily add that repository to FDroid. It is not quite zero configuration, but the process is not too difficult, and there is more we are planning to do to smooth out that process even more. This also provides a channel for users to get apps via “collateral freedom” techniques like using Amazon S3, Akamai, etc. to distribute files where many such services are filtered or blocked. Lastly, we made it possible to have the FDroid app itself act as an app repository, and other devices can connect to that repository using local WiFi, mesh, Bluetooth, and removable media.&lt;/p&gt;

&lt;p&gt;This stuff is all implemented and included in the FDroid app and fdroidserver developer tools. The big remaining challenge is combining them all into a usable experience for people who do not know the technical details. This has been tested, discussed, sketched out, and there is a prototype implementation in the works. So I can end with a quick overview of some positive and negative observations about the various peer-to-peer connections that we experimented with:&lt;/p&gt;

&lt;ul style=&#34;list-style-type: none;&#34;&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; Bluetooth is ubiquitous
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; very slow data rate
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; pairing is difficult
  &lt;/li&gt;
&lt;/ul&gt;

&lt;ul style=&#34;list-style-type: none;&#34;&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; WiFi is very widespread
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; local connections are very fast
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; access points and proxies can block host-to-host connections
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; running access points on a device is not common nor easy
  &lt;/li&gt;
&lt;/ul&gt;

&lt;ul style=&#34;list-style-type: none;&#34;&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; NFC makes Bluetooth very easy to use
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; NFC is not commonly used or available
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; NFC is far to slow and fiddly to be used as the data transmission medium
  &lt;/li&gt;
&lt;/ul&gt;

&lt;ul style=&#34;list-style-type: none;&#34;&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; SD cards can move lots of data securely
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; not all devices have removable SD cards
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; swapping SD cards can be a fiddly process
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; swapping SD cards can not be automatic
  &lt;/li&gt;
&lt;/ul&gt;

&lt;ul style=&#34;list-style-type: none;&#34;&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; USB thumb drives can move lots of data securely
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;+&lt;/strong&gt; they can be easily swapped between devices
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; swapping SD cards can not be automatic
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; not all devices support USB-OTG i.e. attached devices
  &lt;/li&gt;
  &lt;li&gt;
    &lt;strong&gt;–&lt;/strong&gt; USB-OTG is not widely used
  &lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>ChatSecure for Android v14 is FINALLY here!</title>
      <link>https://guardianproject.info/2014/09/10/chatsecure-for-android-v14-is-finally-here/</link>
      <pubDate>Wed, 10 Sep 2014 08:35:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/09/10/chatsecure-for-android-v14-is-finally-here/</guid>
      <description>&lt;p&gt;I am so happy to announce that &lt;strong&gt;ChatSecure for Android v14 IS FINALLY HERE!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;BUT This is our first “release candidate” of v14 for public use, and while we love it dearly, you may want to wait for 14.0.1 for us to work out any hiccups.&lt;/p&gt;

&lt;p&gt;The update should be out on Google Play shortly, and FDroid in the next few days. Otherwise, you can always download the APK direct from us:&lt;/p&gt;

&lt;pre style=&#34;color: #000000;&#34;&gt;APK: &lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v14.0.0.apk&#34;&gt;https://guardianproject.info/releases/ChatSecure-v14.0.0.apk&lt;/a&gt;
Sig: &lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v14.0.0.apk.asc&#34;&gt;https://guardianproject.info/releases/ChatSecure-v14.0.0.apk.asc

&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/09/chatsecurev14.png&#34;&gt;&lt;img class=&#34;margin:6px; alignleft wp-image-12622 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/09/chatsecurev14-168x300.png&#34; alt=&#34;chatsecurev14&#34; width=&#34;168&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/09/chatsecurev14-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2014/09/chatsecurev14-450x800.png 450w, https://guardianproject.info/wp-content/uploads/2014/09/chatsecurev14.png 540w&#34; sizes=&#34;(max-width: 168px) 100vw, 168px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v14.0.0.apk.asc&#34;&gt;
&lt;/a&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Major UI update for fun and enjoyment!&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Easy to add and verify new contacts with QR codes&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Improved encrypted file sharing!&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Updated SSL/TLS settings and secure code libraries&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;20% reduction in size!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PLEASE CONTACT US with any upgrade problems!&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Source tag: &lt;a href=&#34;https://github.com/guardianproject/ChatSecureAndroid/releases/tag/14.0.0&#34;&gt;https://github.com/guardianproject/ChatSecureAndroid/releases/tag/14.0.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Full changelog for all the v13/v14 work is here: &lt;a href=&#34;https://github.com/guardianproject/ChatSecureAndroid/blob/master/CHANGELOG&#34;&gt;https://github.com/guardianproject/ChatSecureAndroid/blob/master/CHANGELOG&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ChatSecure 13.2: Important Beta!</title>
      <link>https://guardianproject.info/2014/08/05/chatsecure-13.2-important-beta/</link>
      <pubDate>Tue, 05 Aug 2014 11:35:54 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/08/05/chatsecure-13.2-important-beta/</guid>
      <description>&lt;p&gt;Today is the first public beta of ChatSecure v13.2, an important update of the user interface, networking code, and overall stability. We’ve spent the last six months tracking down crashes, memory leaks and performance issues, and have reached a stable, functional point which we want to share for public use. Reliability and simplicity our the goals, as we move towards v14 in the next few months.&lt;/p&gt;

&lt;p&gt;This beta also features a new account setup wizard that we are eager for feedback on. Our goal is to enable new users to have a much simpler experience in setting up ChatSecure to connect to existing or create new accounts. We have also provided a “one-click burner” option to quickly create throwaway accounts, that require Tor and OTR encryption always, for chatting with a single contact or even just a single conversation.&lt;/p&gt;

&lt;div id=&#39;gallery-10&#39; class=&#39;gallery galleryid-12577 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122247.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122247-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122226.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122226-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122048.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122048-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122039.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-122039-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-121908.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-121908-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/sidebar.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/sidebar-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-121532.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/device-2014-08-05-121532-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#39;clear: both&#39; /&gt;
&lt;/div&gt;

&lt;p&gt;We have also removed some features (for now), with the goal of focus on stripping down the experience, and then building it back up again. For example, there is now ONE contact list, that merges all contacts from all accounts together. It can be easily searched, and you don’t have to worry about which account is active – you just selected the person you want to communicate with, and we know which account they are associated with.&lt;/p&gt;

&lt;p&gt;We have also removed the ability to manually set presence and status (for now), while we re-think how they should work in a mobile context a bit more. The vast majority of our users do not change either value anyhow, but we do know that smartly managing online vs away, especially if you are logged in from multiple locations to the same account, is important. Expect an update here shortly, and we’d love to have your feedback and fresh ideas on mobile presence.&lt;/p&gt;

&lt;p&gt;You can currently access the beta directly via APK download (below),  through our &lt;a href=&#34;https://guardianproject.info/2014/06/06/automatic-private-distribution-of-our-test-builds/&#34;&gt;F-Droid Test Build “Nightlies” Repo&lt;/a&gt;, or through our &lt;a href=&#34;https://plus.google.com/communities/108480576214602821006&#34;&gt;Google+ Community Beta Access&lt;/a&gt;. We will roll out to our release repos and Google Play public once we get through our initial feedback on the beta.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download ChatSecure v13.2 Beta 1 Now&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-12579&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/08/chatsecure-latest-qr.png&#34; alt=&#34;chatsecure-latest-qr&#34; width=&#34;123&#34; height=&#34;123&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/08/chatsecure-latest-qr.png 123w, https://guardianproject.info/wp-content/uploads/2014/08/chatsecure-latest-qr-100x100.png 100w&#34; sizes=&#34;(max-width: 123px) 100vw, 123px&#34; /&gt;&lt;br /&gt;
APK: &lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v13.2.0-BETA-1.apk&#34;&gt;https://guardianproject.info/releases/ChatSecure-v13.2.0-BETA-1.apk&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
PGP Sig: &lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v13.2.0-alpha-10.apk.asc&#34;&gt;https://guardianproject.info/releases/ChatSecure-v13.2.0-alpha-10.apk.asc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;The source is tagged here: &lt;a href=&#34;https://github.com/guardianproject/ChatSecureAndroid/releases/tag/13.2.0-beta-1&#34;&gt;https://github.com/guardianproject/ChatSecureAndroid/releases/tag/13.2.0-beta-1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The release includes fixes from our completed &lt;a href=&#34;https://dev.guardianproject.info/projects/gibberbot/issues?utf8=%E2%9C%93&amp;amp;set_filter=1&amp;amp;f%5B%5D=fixed_version_id&amp;amp;op%5Bfixed_version_id%5D=%3D&amp;amp;v%5Bfixed_version_id%5D%5B%5D=102&amp;amp;f%5B%5D=&amp;amp;c%5B%5D=tracker&amp;amp;c%5B%5D=status&amp;amp;c%5B%5D=priority&amp;amp;c%5B%5D=subject&amp;amp;c%5B%5D=assigned_to&amp;amp;c%5B%5D=updated_on&amp;amp;c%5B%5D=due_date&amp;amp;group_by=&#34;&gt;v13 milestone&lt;/a&gt;, and our &lt;a href=&#34;https://dev.guardianproject.info/versions/121&#34;&gt;v14 milestone “Armadillo’s Agram”&lt;/a&gt;, which you can view on our project tracker (&lt;a href=&#34;https://dev.guardianproject.info/projects/gibberbot/&#34;&gt;https://dev.guardianproject.info/projects/gibberbot/&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introducing TrustedIntents for Android</title>
      <link>https://guardianproject.info/2014/07/30/introducing-trustedintents-for-android/</link>
      <pubDate>Wed, 30 Jul 2014 23:29:23 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/07/30/introducing-trustedintents-for-android/</guid>
      <description>

&lt;p&gt;Following up on &lt;a href=&#34;https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/&#34;&gt;our research on secure Intent interactions&lt;/a&gt;, we are now announcing the first working version of the &lt;a href=&#34;https://github.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;TrustedIntents&lt;/em&gt;&lt;/a&gt; library for Android. It provides methods for checking any Intent for whether the sending and receiving app matches a specified set of trusted app providers. It does this by “pinning” to the signing certificate of the APKs. The developer includes this “pin” in the app, which includes the signing certificate to trust, then &lt;em&gt;TrustedIntents&lt;/em&gt; checks &lt;code&gt;Intent&lt;/code&gt;s against the configured certificate pins. The library includes pins for the Guardian Project and Tor Project signing certificates. It is also easy to generate the pin using our new utility &lt;a href=&#34;https://github.com/guardianproject/checkey&#34; target=&#34;_blank&#34;&gt;Checkey&lt;/a&gt; (available in &lt;a href=&#34;https://guardianproject.info/2014/06/30/new-official-guardian-project-app-repo-for-fdroid/&#34; target=&#34;_blank&#34;&gt;our FDroid repo&lt;/a&gt; and in &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.checkey&#34; target=&#34;_blank&#34;&gt;Google Play&lt;/a&gt;).&lt;/p&gt;

&lt;div id=&#34;attachment_12560&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12560&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-300x168.png&#34; alt=&#34;Checkey displaying the signing certificate of ChatSecure&#34; width=&#34;300&#34; height=&#34;168&#34; class=&#34;size-medium wp-image-12560&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-300x168.png 300w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-1024x576.png 1024w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-100x56.png 100w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-150x84.png 150w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-200x112.png 200w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-450x253.png 450w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-600x337.png 600w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone-900x506.png 900w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-phone.png 1280w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12560&#34; class=&#34;wp-caption-text&#34;&gt;
    Checkey displaying the signing certificate of ChatSecure
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;We hope to make this process as dead simple as possible by providing developers with this library. &lt;em&gt;TrustedIntents&lt;/em&gt; is currently set up as an “Android Library Project” but it could easily be a jar too, the code is currently quite simple, the plan is to add more convenience methods and also support for TOFU/POP in addition to pinning. For usage examples, check out &lt;a href=&#34;https://github.com/guardianproject/TrustedIntentsExample&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;TrustedIntentsExample&lt;/em&gt;&lt;/a&gt; and the test project under the test/ subdir of the &lt;em&gt;TrustedIntents&lt;/em&gt; library source repo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;TrustedIntents&lt;/em&gt; source: &lt;a href=&#34;https://github.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/TrustedIntents&#34;&gt;https://github.com/guardianproject/TrustedIntents&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;example project: &lt;a href=&#34;https://github.com/guardianproject/TrustedIntentsExample&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/TrustedIntentsExample&#34;&gt;https://github.com/guardianproject/TrustedIntentsExample&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;wiki, issue tracker, etc: &lt;a href=&#34;https://dev.guardianproject.info/projects/trustedintents/wiki&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/trustedintents/wiki&#34;&gt;https://dev.guardianproject.info/projects/trustedintents/wiki&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Checkey&lt;/em&gt; source: &lt;a href=&#34;https://github.com/guardianproject/Checkey&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/Checkey&#34;&gt;https://github.com/guardianproject/Checkey&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Checkey&lt;/em&gt; includes a simple method for generating the certificate pins. The pin is in the format of Java subclass of &lt;code&gt;ApkSignaturePin&lt;/code&gt;, which provides all needed utility functions. The create the pin file, first install the app whose certificate you want to trust. Be sure to get it from a trusted source since you are going to be trusting the signing certificate of the APK that you have installed. Launch &lt;em&gt;Checkey&lt;/em&gt; and select that app in the list, you will see the certificate details show up on the top. To generate the .java file for pinning Intents, select &lt;strong&gt;Generate Pin&lt;/strong&gt; from the menu and send the resulting file to yourself. That file is the pin, include it in your project, then load it into TrustedIntents by doing in &lt;code&gt;onCreate()&lt;/code&gt; or wherever is appropriate:&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
TrustedIntents ti = TrustedIntents.get(context);&amp;lt;br /&amp;gt;
ti.isTrustedSigner(MySigningCertificatePin.class);&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;div id=&#34;attachment_12565&#34; style=&#34;width: 610px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12565&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin.png&#34; alt=&#34;How to generate a pin file with Checkey&#34; width=&#34;600&#34; height=&#34;444&#34; class=&#34;size-medium wp-image-12565&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin-300x222.png 300w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin-100x74.png 100w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin-150x111.png 150w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin-200x148.png 200w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin-450x334.png 450w, https://guardianproject.info/wp-content/uploads/2014/07/checkey-generate-pin-600x445.png 600w&#34; sizes=&#34;(max-width: 600px) 100vw, 600px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12565&#34; class=&#34;wp-caption-text&#34;&gt;
    How to generate a pin file with Checkey
  &lt;/p&gt;
&lt;/div&gt;

&lt;h3 id=&#34;gathering-all-the-edge-cases&#34;&gt;Gathering all the edge cases&lt;/h3&gt;

&lt;p&gt;One of the things I’ve focused on in the &lt;em&gt;TrustedIntents&lt;/em&gt; library is thinking about all the possible edge cases and how to check for them. It is rare that the main part of a security check algorithm fails, its almost always the edge cases that are the gotcha.&lt;/p&gt;

&lt;p&gt;One example: &lt;em&gt;TrustedIntents&lt;/em&gt; should properly check all signing certificates on an APK. From what I’ve seen, it is rare that APKs are signed by more than one certificate, but the spec allows for that. There might be exploits related to not handling that.&lt;/p&gt;

&lt;p&gt;Another thing is that &lt;em&gt;TrustedIntents&lt;/em&gt; uses the method that the Android code uses for comparing signatures: it does a byte-by-byte comparison of the signature byte arrays. Some apps area already doing something similar based on the hash of the signing certificate (i.e. the “fingerprint”). The Android technique will also be faster than hashing since the hash algorithm has to read the whole signature byte array anyway.&lt;/p&gt;

&lt;p&gt;We’d love to have feedback, flames, comments, etc on any and all of this. &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;Let us know&lt;/a&gt; how it works for you!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>New Official Guardian Project app repo for FDroid!</title>
      <link>https://guardianproject.info/2014/06/30/new-official-guardian-project-app-repo-for-fdroid/</link>
      <pubDate>Mon, 30 Jun 2014 20:26:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/06/30/new-official-guardian-project-app-repo-for-fdroid/</guid>
      <description>

&lt;p&gt;We now have an official &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;FDroid&lt;/a&gt; app repository that is available via three separate methods, to guarantee access to a trusted distribution channel throughout the world! To start with, you must have FDroid installed. Right now, I recommend using the latest test release since it has support for Tor and .onion addresses (earlier versions should work for non-onion addresses):&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://f-droid.org/repo/org.fdroid.fdroid_710.apk&#34;&gt;https://f-droid.org/repo/org.fdroid.fdroid_710.apk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In order to add this repo to your FDroid config, you can either click directly on these links on your devices and FDroid will recognize them, or you can click on them on your desktop, and you will be presented with a QR Code to scan. Here are your options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS: &lt;a href=&#34;https://guardianproject.info/fdroid/repo?fingerprint=B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135&#34;&gt;https://guardianproject.info/fdroid/repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tor Hidden Service aka onion address: &lt;a href=&#34;http://bdf2wcxujkg6qqff.onion/fdroid/repo?fingerprint=B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135&#34;&gt;http://bdf2wcxujkg6qqff.onion/fdroid/repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Amazon AWS S3 Bucket (&lt;em&gt;this does not show up in a browser&lt;/em&gt;): &lt;a href=&#34;https://s3.amazonaws.com/guardianproject/fdroid/repo?fingerprint=B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135&#34;&gt;https://s3.amazonaws.com/guardianproject/fdroid/repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From here on out, our old FDroid repo (&lt;a href=&#34;https://guardianproject.info/repo&#34;&gt;https://guardianproject.info/repo&lt;/a&gt;) is considered deprecated and will no longer be updated. It will eventually be removed. Update to the new one!&lt;/p&gt;

&lt;p&gt;Also, if you missed it before, all of our test builds are also &lt;a href=&#34;https://guardianproject.info/2014/06/06/automatic-private-distribution-of-our-test-builds/&#34;&gt;available for testing only via FDroid&lt;/a&gt;. Just remember, the builds in the test repo are only debug builds, not fully trusted builds, so use them for testing only.&lt;/p&gt;

&lt;h3 id=&#34;automate-it-all&#34;&gt;Automate it all!&lt;/h3&gt;

&lt;p&gt;This setup has three distribution channels that are all mirrors of a repo that is generated on a fully offline machine. This is only manageable because of lots of new automation features in the &lt;a href=&#34;https://gitlab.com/fdroid/fdroidserver&#34; target=&#34;_blank&#34;&gt;fdroidserver&lt;/a&gt; tools for building and managing app repos. You can now set up a USB thumb drive as the automatic courier for shuffling the repo from the offline machine to an online machine. The repo is generated, updated, and signed using &lt;code&gt;fdroid update&lt;/code&gt;, then those signed files are synced to the USB thumb drive using &lt;code&gt;fdroid server update&lt;/code&gt;. Then the online machine syncs the signed files from that USB thumb drive to multiple servers via SSH and Amazon S3 with a single command: &lt;code&gt;fdroid server update&lt;/code&gt;. The magic is in setting up the config options and letting the tools do the rest.&lt;/p&gt;

&lt;h3 id=&#34;new-repo-signing-key&#34;&gt;New Repo Signing Key&lt;/h3&gt;

&lt;p&gt;For part of this, I’ve completed the process of generating a new, fully offline fdroid &lt;a href=&#34;https://guardianproject.info/home/signing-keys/&#34;&gt;signing key&lt;/a&gt;. So that means there is a new signing key for the FDroid repo, and the old repo signing key is being retired.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-fdroid-repo-signing-key.pem&#34;&gt;guardianproject-rsa4096-fdroid-repo-signing-key.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-fdroid-repo-signing-key.pem.sig&#34;&gt;guardianproject-rsa4096-fdroid-repo-signing-key.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fingerprints for this signing key are:&lt;/p&gt;

&lt;pre&gt;Owner: EMAILADDRESS=root@guardianp&amp;#x72;&amp;#x6f;&amp;#x6a;&amp;#x65;&amp;#x63;&amp;#x74;&amp;#x2e;&amp;#x69;&amp;#x6e;&amp;#x66;&amp;#x6f;, CN=guardianproject.info, O=Guardian Project, OU=FDroid Repo, L=New York, ST=New York, C=US
Issuer: &amp;#x45;&amp;#x4d;&amp;#x41;ILADD&amp;#x52;&amp;#x45;&amp;#x53;&amp;#x53;=roo&amp;#x74;&amp;#x40;&amp;#x67;&amp;#x75;ardi&amp;#x61;&amp;#x6e;&amp;#x70;&amp;#x72;oject&amp;#x2e;&amp;#x69;&amp;#x6e;&amp;#x66;o, CN=guardianproject.info, O=Guardian Project, OU=FDroid Repo, L=New York, ST=New York, C=US
Serial number: a397b4da7ecda034
Valid from: Thu Jun 26 15:39:18 EDT 2014 until: Sun Nov 10 14:39:18 EST 2041
Certificate fingerprints:
 MD5:  8C:BE:60:6F:D7:7E:0D:2D:B8:06:B5:B9:AD:82:F5:5D
 SHA1: 63:9F:F1:76:2B:3E:28:EC:CE:DB:9E:01:7D:93:21:BE:90:89:CD:AD
 SHA256: B7:C2:EE:FD:8D:AC:78:06:AF:67:DF:CD:92:EB:18:12:6B:C0:83:12:A7:F2:D6:F3:86:2E:46:01:3C:7A:61:35
 Signature algorithm name: SHA1withRSA
 Version: 1
&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Recent news on Orweb flaws</title>
      <link>https://guardianproject.info/2014/06/30/recent-news-on-orweb-flaws/</link>
      <pubDate>Mon, 30 Jun 2014 12:43:51 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/06/30/recent-news-on-orweb-flaws/</guid>
      <description>&lt;p&gt;&lt;strong&gt;August 2014: New browser development news here, including Orfox, our Firefox-based browser solution: &lt;a href=&#34;https://lists.mayfirst.org/pipermail/guardian-dev/2014-August/003717.html&#34;&gt;https://lists.mayfirst.org/pipermail/guardian-dev/2014-August/003717.html&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On Saturday, a new post was relased by Xordern entitled &lt;a href=&#34;http://xordern.net/ip-leakage-of-mobile-tor-browsers.html&#34;&gt;IP Leakage of Mobile Tor Browsers&lt;/a&gt;. As the title says, the post documents flaws in mobile browser apps, such as &lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;Orweb&lt;/a&gt; and &lt;a href=&#34;https://mike.tig.as/onionbrowser/&#34;&gt;Onion Browser&lt;/a&gt;, both which automatically route communication traffic over Tor. While we appreciate the care the author has taken, he does make the mistake of using the term “security” to lump together the need for total anonymity up with the needs of anti-censorship, anti-surveillance, circumvention and local device privacy. We do understand the seriousness of this bug, but at the same time, it is not an issue encountered regularly in the wild.&lt;/p&gt;

&lt;p&gt;Here are thoughts on the three specific issues covered:&lt;/p&gt;

&lt;p&gt;1) HTML5 Multimedia: This is a &lt;a href=&#34;https://guardianproject.info/2013/08/21/orweb-security-advisory-possible-ip-leakage-with-html5-videoaudio/&#34;&gt;known issue&lt;/a&gt; which is not present on 100% of Android devices, but is definitely something to be concerned about, if you access sites with HTML5 media player content on them. To us, it is a bug in Android, and not in Orweb, since all of the appropriate APIs are called when the browser is configured to proxy. However, it is a problem, and our solution remains to either use transparent proxying feature of Orbot, or to use the Firefix Privacy configuration we provide here: &lt;a href=&#34;https://guardianproject.info/apps/firefoxprivacy&#34;&gt;https://guardianproject.info/apps/firefoxprivacy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Downloads leak: This is a new issue and one we are trying to reproduce on our end. If our proxied download indeed is not working, we will issue a fix shortly. Again, using Firefox configured in the manner we prescribe, the downloads would be proxied properly.&lt;/p&gt;

&lt;p&gt;3) Unique Headers: The inclusion of a unique HTTP header issue in this list is confusing, because it has nothing to do with IP leakage. We have never claimed that a mobile browser can be 100% anonymous, and defending against full fingerprinting of browsers based on headers is something beyond what we are attempting to do at this point.&lt;/p&gt;

&lt;p&gt;At this point, we still recommend &lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;Orweb&lt;/a&gt; for most people who want a very simple solution for a browser that is proxied through Tor. This will defeat mass traffic surveillance, network censorship, filtering by your mobile operator, work or school, and more. Orweb also keeps little data cached on the local system, and so protects against physical inspection and analysis of your device, to retrieve your browser history. HOWEVER if you do seem to visit sites that have HTML5 media players in the them, then we recommend you do not use Orweb, and again, that you use &lt;a href=&#34;https://guardianproject.info/apps/firefoxprivacy&#34;&gt;Firefox with our Privacy-Enhanced Configuration&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you are truly worried about IP leakage, then you MUST root your phone, and use Orbot’s Transparent Proxying feature. This provides the best defense against leaking of your real IP. Even further, if you require even more assurance than that, you should follow Mike Perry’s &lt;a href=&#34;https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy&#34;&gt;Android Hardening Guide&lt;/a&gt;, which uses AFWall firewall in combination with Orbot, to block traffic to apps, and even stops Google Play from updating apps without your permission.&lt;/p&gt;

&lt;p&gt;Finally, the best news is that we are making great progress in a fully privacy-by-default version of Firefox, under the project named “Orfox”. This is being done in partnership with the Tor Project, as a &lt;a href=&#34;https://www.google-melange.com/gsoc/proposal/public/google/gsoc2014/amoghbl1/5629499534213120&#34;&gt;Google Summer of Code&lt;/a&gt; effort, along with the Orweb team. We aim to use as much of the same code that Tor Browser does to harden Firefox in our browser, and are getting close to an alpha release. If you are interested in a testing the first prototype build, which address the HTML5 and Download leak issues, you can find it here: &lt;a href=&#34;https://guardianproject.info/releases/FennecForTor_GSoC_prototype.apk&#34;&gt;https://guardianproject.info/releases/FennecForTor_GSoC_prototype.apk&lt;/a&gt; and track the project here: &lt;a href=&#34;https://github.com/guardianproject/orfox&#34;&gt;https://github.com/guardianproject/orfox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TrustedIntents: flexible trusted interactions between Android apps</title>
      <link>https://guardianproject.info/code/trustedintents/</link>
      <pubDate>Mon, 23 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/trustedintents/</guid>
      <description>

&lt;p&gt;&lt;img style=&#34;margin: 0 auto;&#34; title=&#34;icon&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/trustedintents-150x150.png&#34; /&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34; title=&#34;TrustedIntents on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34; title=&#34;TrustedIntents on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/trustedintents&#34; target=&#34;_blank&#34; title=&#34;TrustedIntents blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;TrustedIntents is a library for flexible trusted interactions between
Android apps. It is modeled after Android’s signature protection level
for permissions. The key difference is that the framework allows the
trusted signature to be set, rather than requiring to match the
current app’s signature.&lt;/p&gt;

&lt;p&gt;For more info:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/trustedintents/wiki/Wiki/&#34;&gt;https://dev.guardianproject.info/projects/trustedintents/wiki/Wiki/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/&#34;&gt;https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.android.com/guide/topics/manifest/permission-element.html#plevel&#34;&gt;https://developer.android.com/guide/topics/manifest/permission-element.html#plevel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.trustedintents:trustedintents:%!s(&amp;lt;nil&amp;gt;)&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29.jar&#34;&gt;trustedintents-%!s(&amp;lt;nil&amp;gt;).jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-sources.jar&#34;&gt;trustedintents-%!s(&amp;lt;nil&amp;gt;)-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-javadoc.jar&#34;&gt;trustedintents-%!s(&amp;lt;nil&amp;gt;)-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;


&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;

&lt;p&gt;This library is licensed under the LGPLv2.1.  We believe this is compatible
with all reasonable uses, including proprietary software, but let us know if
it provides difficulties for you.  For more info on how that works with Java,
see:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.gnu.org/licenses/lgpl-java.en.html&#34;&gt;https://www.gnu.org/licenses/lgpl-java.en.html&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TrustedIntents: flexible trusted interactions between Android apps</title>
      <link>https://guardianproject.info/code/trustedintents/</link>
      <pubDate>Mon, 23 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/trustedintents/</guid>
      <description>

&lt;p&gt;&lt;img style=&#34;margin: 0 auto;&#34; title=&#34;icon&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/trustedintents-150x150.png&#34; /&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34; title=&#34;TrustedIntents on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/TrustedIntents&#34; target=&#34;_blank&#34; title=&#34;TrustedIntents on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/trustedintents&#34; target=&#34;_blank&#34; title=&#34;TrustedIntents blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;TrustedIntents is a library for flexible trusted interactions between
Android apps. It is modeled after Android’s signature protection level
for permissions. The key difference is that the framework allows the
trusted signature to be set, rather than requiring to match the
current app’s signature.&lt;/p&gt;

&lt;p&gt;For more info:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/trustedintents/wiki/Wiki/&#34;&gt;https://dev.guardianproject.info/projects/trustedintents/wiki/Wiki/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/&#34;&gt;https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.android.com/guide/topics/manifest/permission-element.html#plevel&#34;&gt;https://developer.android.com/guide/topics/manifest/permission-element.html#plevel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.trustedintents:trustedintents:%!s(&amp;lt;nil&amp;gt;)&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29.jar&#34;&gt;trustedintents-%!s(&amp;lt;nil&amp;gt;).jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-sources.jar&#34;&gt;trustedintents-%!s(&amp;lt;nil&amp;gt;)-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-javadoc.jar&#34;&gt;trustedintents-%!s(&amp;lt;nil&amp;gt;)-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/trustedintents/trustedintents/%25!s%28%3cnil%3e%29/trustedintents-%25!s%28%3cnil%3e%29-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;


&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;

&lt;p&gt;This library is licensed under the LGPLv2.1.  We believe this is compatible
with all reasonable uses, including proprietary software, but let us know if
it provides difficulties for you.  For more info on how that works with Java,
see:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.gnu.org/licenses/lgpl-java.en.html&#34;&gt;https://www.gnu.org/licenses/lgpl-java.en.html&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Our first deterministic build: Lil’ Debi 0.4.7</title>
      <link>https://guardianproject.info/2014/06/09/our-first-deterministic-build-lil-debi-0.4.7/</link>
      <pubDate>Mon, 09 Jun 2014 16:41:34 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/06/09/our-first-deterministic-build-lil-debi-0.4.7/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://abyss.uoregon.edu/~js/ast123/lectures/lec05.html&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/06/determinism.gif&#34; alt=&#34;determinism&#34; width=&#34;206&#34; height=&#34;138&#34; class=&#34;alignright size-thumbnail wp-image-12493&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We just released Lil’ Debi 0.4.7 into the &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.lildebi&#34; target=&#34;_blank&#34;&gt;Play Store&lt;/a&gt; and &lt;a href=&#34;https://f-droid.org/repository/browse/?fdid=info.guardianproject.lildebi&#34; target=&#34;_blank&#34;&gt;f-droid.org&lt;/a&gt;. It is not really different than the 0.4.6 release except in has a new, important property: the APK contents can be reproduced on other machines to the extent that the APK signature can be swapped between the official build and builds that other people have made from source, and this will still be installable. This is known as a “deterministic build” or “reproducible build”: the build process is deterministic, meaning it runs the same way each time, and that results in an APK that is reproducible by others using only the source code. There are some limitations to this, like it has to be built using similar versions of the OpenJDK 1.7 and other build tools, for example. But this process should work on any recent version of Debian or Ubuntu. Please try the process yourself, and let us know if you can verify or not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/wiki/Deterministic-Builds&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/wiki/Deterministic-Builds&#34;&gt;https://github.com/guardianproject/lildebi/wiki/Deterministic-Builds&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The ultimate goal here is to make a process that reproduces the APK exactly, bit-for-bit, so that the anyone who runs the process will end up with an APK that has the exact same hash sum. As far as I can tell, the only thing that needs to be fixed in Lil’ Debi’s process is the timestamps in the ZIP format that is the APK container.&lt;/p&gt;

&lt;p&gt;There are a number of other parallel efforts. The Tor Project has written a lot about &lt;a href=&#34;https://blog.torproject.org/category/tags/deterministic-builds&#34; target=&#34;_blank&#34;&gt;their process for reproducible builds for the Tor Browser Bundle&lt;/a&gt;. Debian has made some progress in &lt;a href=&#34;https://wiki.debian.org/ReproducibleBuilds&#34; target=&#34;_blank&#34;&gt;fixing the package builders to make the process deterministic&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot now at v14.0.0 build 100!</title>
      <link>https://guardianproject.info/2014/06/07/orbot-now-at-v14.0.0-build-100/</link>
      <pubDate>Sat, 07 Jun 2014 23:45:17 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/06/07/orbot-now-at-v14.0.0-build-100/</guid>
      <description>&lt;p&gt;The latest Orbot is out soon on Google Play, and by direct download from the link below:&lt;br /&gt;
Android APK: &lt;a href=&#34;https://guardianproject.info/releases/orbot-latest.apk&#34;&gt;https://guardianproject.info/releases/orbot-latest.apk&lt;/a&gt;&lt;br /&gt;
(&lt;a href=&#34;https://guardianproject.info/releases/orbot-latest.apk.asc&#34;&gt;PGP Sig&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The major improvements for this release are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses the latest Tor 0.2.42.22 stable version&lt;/li&gt;
&lt;li&gt;Fix for recent OpenSSL vulnerabilities&lt;/li&gt;
&lt;li&gt;Addition of Obfuscated Bridges 3 (Obfs3) support&lt;/li&gt;
&lt;li&gt;Switch from Privoxy to Polipo (semi-experimental)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and much more… see the CHANGELOG link below for all the details.&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;The tag commit message was “updating to 14.0.0 build 100!”&lt;br /&gt;
&lt;a href=&#34;https://gitweb.torproject.org/orbot.git/commit/81bd61764c2c300bd1ba1e4de5b03350455470c1&#34;&gt;https://gitweb.torproject.org/orbot.git/commit/81bd61764c2c300bd1ba1e4de5b03350455470c1&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
and the full CHANGELOG is here: &lt;a href=&#34;https://gitweb.torproject.org/orbot.git/blob_plain/81bd61764c2c300bd1ba1e4de5b03350455470c1:/CHANGELOG&#34;&gt;https://gitweb.torproject.org/orbot.git/blob_plain/81bd61764c2c300bd1ba1e4de5b03350455470c1:/CHANGELOG&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Automatic, private distribution of our test builds</title>
      <link>https://guardianproject.info/2014/06/06/automatic-private-distribution-of-our-test-builds/</link>
      <pubDate>Fri, 06 Jun 2014 17:17:01 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/06/06/automatic-private-distribution-of-our-test-builds/</guid>
      <description>&lt;p&gt;One thing we are very lucky to have is a good community of people willing to test out unfinished builds of our software. That is a very valuable contribution to the process of developing usable, secure apps. So we want to make this process as easy as possible while keeping it as secure and private as possible. To that end, we have set up an &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;FDroid&lt;/a&gt; repository of apps generated from the test builds that our build server generates automatically every time we publish new code.&lt;/p&gt;

&lt;p&gt;After this big burst of development focused on FDroid, it has become clear that FDroid has lots of promise for becoming a complete solution for the whole process of delivering software from developers to users. We have tried other ways of delivering test builds like HockeyApp and Google Play’s Alpha and Beta channels and have found them lacking. The process did not seem as easy as it should be. And of course, both of them leave a lot to be desired when it comes to privacy of the users. So this is the first step in hopefully a much bigger project.&lt;/p&gt;

&lt;p&gt;To use our new test build service, first install FDroid by downloading it from the official source: &lt;a href=&#34;https://f-droid.org&#34;&gt;https://f-droid.org&lt;/a&gt;. Then using a QR Code scanner like &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.google.zxing.client.android&#34; target=&#34;_blank&#34;&gt;Barcode Scanner&lt;/a&gt;, just scan the QR Code below, and send it to FDroid &lt;strong&gt;Repositories&lt;/strong&gt;. You can also browse to this page on your Android device, and click the link below to add it to FDroid:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://dev.guardianproject.info/fdroid/repo?fingerprint=F8ED4C73C125E7A67F99DB269480DAF50BE1758952E07EE5ABF116FE4B2DB1E8&#34;&gt;https://dev.guardianproject.info/fdroid/repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/fdroid/repo?fingerprint=F8ED4C73C125E7A67F99DB269480DAF50BE1758952E07EE5ABF116FE4B2DB1E8&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/06/dev.guardianproject.info-QR-e1402010770323.png&#34; alt=&#34;dev.guardianproject.info&#34; width=&#34;245&#34; height=&#34;245&#34; class=&#34;aligncenter size-full wp-image-12462&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also use our test repo via an anonymized connection using the Tor Hidden Service (as of this moment, that means downloading an &lt;a href=&#34;https://f-droid.org/repo/org.fdroid.fdroid_710.apk&#34;&gt;official FDroid v0.71 build&lt;/a&gt;). Just get &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34; target=&#34;_blank&#34;&gt;Orbot&lt;/a&gt; and turn it on, and the following .onion address will automatically work in FDroid, as long as you have a new enough version (0.69 or later).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://k6e4p7yji2rioxbm.onion/fdroid/repo?fingerprint=F8ED4C73C125E7A67F99DB269480DAF50BE1758952E07EE5ABF116FE4B2DB1E8&#34;&gt;http://k6e4p7yji2rioxbm.onion/fdroid/repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;http://k6e4p7yji2rioxbm.onion/fdroid/repo?fingerprint=F8ED4C73C125E7A67F99DB269480DAF50BE1758952E07EE5ABF116FE4B2DB1E8&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/06/k6e4p7yji2rioxbm.onion-QR-e1402010779963.png&#34; alt=&#34;k6e4p7yji2rioxbm.onion&#34; width=&#34;245&#34; height=&#34;245&#34; class=&#34;aligncenter size-full wp-image-12463&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Reset The Net!</title>
      <link>https://guardianproject.info/2014/06/04/reset-the-net/</link>
      <pubDate>Wed, 04 Jun 2014 19:07:14 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/06/04/reset-the-net/</guid>
      <description>&lt;p&gt;We’re making the Internet more secure, by taking part in #ResetTheNet &lt;a href=&#34;https://resetthenet.org&#34;&gt;https://resetthenet.org&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Courier: Secure News reader</title>
      <link>https://guardianproject.info/archive/courier/</link>
      <pubDate>Mon, 12 May 2014 09:59:18 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/courier/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/feature.jpg&#34;&gt;&lt;img class=&#34;alignnone wp-image-12379 size-full&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/feature.jpg&#34; alt=&#34;feature&#34; width=&#34;1024&#34; height=&#34;500&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/feature.jpg 1024w, https://guardianproject.info/wp-content/uploads/2014/05/feature-300x146.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/05/feature-100x48.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/05/feature-150x73.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/05/feature-200x97.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/05/feature-450x219.jpg 450w, https://guardianproject.info/wp-content/uploads/2014/05/feature-600x292.jpg 600w, https://guardianproject.info/wp-content/uploads/2014/05/feature-900x439.jpg 900w&#34; sizes=&#34;(max-width: 1024px) 100vw, 1024px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;★★★ BETA: THIS IS A BETA RELEASE&amp;hellip;. PLEASE &lt;a href=&#34;https://dev.guardianproject.info/projects/secure-reader/issues&#34;&gt;REPORT BUGS HERE&lt;/a&gt; or &lt;a href=&#34;https://okthanks.typeform.com/to/tXYKpF&#34;&gt;GIVE US SOME FEEDBACK&lt;/a&gt;★★★&lt;/p&gt;

&lt;p&gt;**Courier is a mobile news reader with enhanced security features, offline reading and device-to-device sharing capability.  We&amp;rsquo;ve designed it to be fast and light on slow networks and secured from device and network monitoring.&lt;br /&gt;
**&lt;/p&gt;

&lt;div style=&#34;padding: 3px; background: #eeeeee;&#34;&gt;
  &lt;strong&gt; Download: &lt;a href=&#34;https://guardianproject.info/releases/courier-latest.apk&#34;&gt;Direct APK File&lt;/a&gt; or &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.courier&#34;&gt;Google Play&lt;/a&gt;&lt;br /&gt; Source Code: &lt;a href=&#34;https://github.com/guardianproject/securereader&#34;&gt;Courier App&lt;/a&gt; or &lt;a href=&#34;https://github.com/guardianproject/securereaderlibrary&#34;&gt;Secure Reader Library (Make Your Own Reader!)&lt;/a&gt;&lt;br /&gt; Bug Reports: &lt;a href=&#34;https://dev.guardianproject.info/projects/secure-reader/&#34;&gt;Secure Reader Project&lt;/a&gt; or &lt;a href=&#34;https://github.com/guardianproject/securereader/issues&#34;&gt;Github Issues&lt;/a&gt;&lt;br /&gt;User Feedback Survey: &lt;a href=&#34;https://okthanks.typeform.com/to/tXYKpF&#34;&gt;https://okthanks.typeform.com/to/tXYKpF&lt;/a&gt;&lt;/strong&gt;
&lt;/div&gt;

&lt;p&gt;FEATURES:&lt;/p&gt;

&lt;p&gt;★ SECURE: Courier works with &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot, Tor for Android&lt;/a&gt; to defend against network surveillance and protect your privacy&lt;br /&gt;
★ ENCRYPTED: Courier encrypts your stored news - and personal information - to protect your privacy&lt;br /&gt;
★ PANIC: Courier&amp;rsquo;s configurable &amp;ldquo;panic&amp;rdquo; action will remove your news, your personal data and optionally the app itself with one swipe&lt;br /&gt;
★ SAFE: Courier securely caches your password with a configurable timeout. You can configure for repeated password entry failures to trigger data (and app!) deletion.  And you can set a special &amp;ldquo;kill password&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12422&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-177x300.png&#34; alt=&#34;05_p_tor&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12423&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-177x300.png&#34; alt=&#34;06_p_feed&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12424&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-177x300.png&#34; alt=&#34;07_p_panic&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-12425&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-177x300.png&#34; alt=&#34;08_p_stories_received&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;★ AUTOMATIC: Courier quietly synchronizes your feeds in the background (manual mode available, too!)&lt;br /&gt;
★ CONTENT SHARE: secure, off-network, sharing of news articles with other users of Courier via Bluetooth (unsecure share available, too!)&lt;br /&gt;
★ PEER-TO-PEER APP SHARING: Get your friends set up with Courier by sharing the app over a common WiFi network or hotspot.&lt;br /&gt;
★ LIGHTWEIGHT: configure Courier to minimize network data use on low-speed networks or sync only on wi-fi&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/01_p_story.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12409&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-177x300.png&#34; alt=&#34;01_p_story&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/02_story_r.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12410&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-177x300.png&#34; alt=&#34;02_story_r&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/03_story_t.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12411&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-177x300.png&#34; alt=&#34;03_story_t&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-12412&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-177x300.png&#34; alt=&#34;04_p_menu&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;★ FAVORITES: mark articles as easily-retrieved favorites&lt;br /&gt;
★ PRE-CONFIGURED: Courier ships with desirable international news feeds, and it&amp;rsquo;s easy to add your own&lt;br /&gt;
★ LANGUAGES: English, Chinese (中國的), Tibetan (བོད་ཡིག), Ukrainian (Український), Russian (русский)&lt;br /&gt;
★ AD-FREE: Courier is an ad-free, open-source application&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12386&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-300x199.png&#34; alt=&#34;10_tablet_story-l&#34; width=&#34;300&#34; height=&#34;199&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-1024x682.png 1024w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-100x66.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-150x99.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-200x133.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-450x299.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-600x399.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-900x599.png 900w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12387&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-300x199.png&#34; alt=&#34;11_tablet_feed&#34; width=&#34;300&#34; height=&#34;199&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-1024x682.png 1024w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-100x66.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-150x99.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-200x133.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-450x299.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-600x399.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-900x599.png 900w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w.jpg&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-12435&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w.jpg&#34; alt=&#34;infographic-4_900w&#34; width=&#34;900&#34; height=&#34;2231&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w.jpg 900w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-121x300.jpg 121w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-413x1024.jpg 413w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-100x247.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-150x371.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-200x495.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-300x743.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-450x1115.jpg 450w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-600x1487.jpg 600w&#34; sizes=&#34;(max-width: 900px) 100vw, 900px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Courier: Secure News reader</title>
      <link>https://guardianproject.info/archive/courier/</link>
      <pubDate>Mon, 12 May 2014 09:59:18 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/courier/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/feature.jpg&#34;&gt;&lt;img class=&#34;alignnone wp-image-12379 size-full&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/feature.jpg&#34; alt=&#34;feature&#34; width=&#34;1024&#34; height=&#34;500&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/feature.jpg 1024w, https://guardianproject.info/wp-content/uploads/2014/05/feature-300x146.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/05/feature-100x48.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/05/feature-150x73.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/05/feature-200x97.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/05/feature-450x219.jpg 450w, https://guardianproject.info/wp-content/uploads/2014/05/feature-600x292.jpg 600w, https://guardianproject.info/wp-content/uploads/2014/05/feature-900x439.jpg 900w&#34; sizes=&#34;(max-width: 1024px) 100vw, 1024px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;★★★ BETA: THIS IS A BETA RELEASE&amp;hellip;. PLEASE &lt;a href=&#34;https://dev.guardianproject.info/projects/secure-reader/issues&#34;&gt;REPORT BUGS HERE&lt;/a&gt; or &lt;a href=&#34;https://okthanks.typeform.com/to/tXYKpF&#34;&gt;GIVE US SOME FEEDBACK&lt;/a&gt;★★★&lt;/p&gt;

&lt;p&gt;**Courier is a mobile news reader with enhanced security features, offline reading and device-to-device sharing capability.  We&amp;rsquo;ve designed it to be fast and light on slow networks and secured from device and network monitoring.&lt;br /&gt;
**&lt;/p&gt;

&lt;div style=&#34;padding: 3px; background: #eeeeee;&#34;&gt;
  &lt;strong&gt; Download: &lt;a href=&#34;https://guardianproject.info/releases/courier-latest.apk&#34;&gt;Direct APK File&lt;/a&gt; or &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.courier&#34;&gt;Google Play&lt;/a&gt;&lt;br /&gt; Source Code: &lt;a href=&#34;https://github.com/guardianproject/securereader&#34;&gt;Courier App&lt;/a&gt; or &lt;a href=&#34;https://github.com/guardianproject/securereaderlibrary&#34;&gt;Secure Reader Library (Make Your Own Reader!)&lt;/a&gt;&lt;br /&gt; Bug Reports: &lt;a href=&#34;https://dev.guardianproject.info/projects/secure-reader/&#34;&gt;Secure Reader Project&lt;/a&gt; or &lt;a href=&#34;https://github.com/guardianproject/securereader/issues&#34;&gt;Github Issues&lt;/a&gt;&lt;br /&gt;User Feedback Survey: &lt;a href=&#34;https://okthanks.typeform.com/to/tXYKpF&#34;&gt;https://okthanks.typeform.com/to/tXYKpF&lt;/a&gt;&lt;/strong&gt;
&lt;/div&gt;

&lt;p&gt;FEATURES:&lt;/p&gt;

&lt;p&gt;★ SECURE: Courier works with &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot, Tor for Android&lt;/a&gt; to defend against network surveillance and protect your privacy&lt;br /&gt;
★ ENCRYPTED: Courier encrypts your stored news - and personal information - to protect your privacy&lt;br /&gt;
★ PANIC: Courier&amp;rsquo;s configurable &amp;ldquo;panic&amp;rdquo; action will remove your news, your personal data and optionally the app itself with one swipe&lt;br /&gt;
★ SAFE: Courier securely caches your password with a configurable timeout. You can configure for repeated password entry failures to trigger data (and app!) deletion.  And you can set a special &amp;ldquo;kill password&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12422&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-177x300.png&#34; alt=&#34;05_p_tor&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/05_p_tor1.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12423&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-177x300.png&#34; alt=&#34;06_p_feed&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/06_p_feed.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12424&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-177x300.png&#34; alt=&#34;07_p_panic&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/07_p_panic.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-12425&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-177x300.png&#34; alt=&#34;08_p_stories_received&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/08_p_stories_received1.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;★ AUTOMATIC: Courier quietly synchronizes your feeds in the background (manual mode available, too!)&lt;br /&gt;
★ CONTENT SHARE: secure, off-network, sharing of news articles with other users of Courier via Bluetooth (unsecure share available, too!)&lt;br /&gt;
★ PEER-TO-PEER APP SHARING: Get your friends set up with Courier by sharing the app over a common WiFi network or hotspot.&lt;br /&gt;
★ LIGHTWEIGHT: configure Courier to minimize network data use on low-speed networks or sync only on wi-fi&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/01_p_story.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12409&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-177x300.png&#34; alt=&#34;01_p_story&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/01_p_story.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/02_story_r.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12410&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-177x300.png&#34; alt=&#34;02_story_r&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/02_story_r.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/03_story_t.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12411&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-177x300.png&#34; alt=&#34;03_story_t&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/03_story_t.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-12412&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-177x300.png&#34; alt=&#34;04_p_menu&#34; width=&#34;177&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-177x300.png 177w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-605x1024.png 605w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-100x169.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-150x253.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-200x338.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-300x507.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-450x761.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2-600x1014.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/04_p_menu2.png 845w&#34; sizes=&#34;(max-width: 177px) 100vw, 177px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;★ FAVORITES: mark articles as easily-retrieved favorites&lt;br /&gt;
★ PRE-CONFIGURED: Courier ships with desirable international news feeds, and it&amp;rsquo;s easy to add your own&lt;br /&gt;
★ LANGUAGES: English, Chinese (中國的), Tibetan (བོད་ཡིག), Ukrainian (Український), Russian (русский)&lt;br /&gt;
★ AD-FREE: Courier is an ad-free, open-source application&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12386&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-300x199.png&#34; alt=&#34;10_tablet_story-l&#34; width=&#34;300&#34; height=&#34;199&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-1024x682.png 1024w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-100x66.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-150x99.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-200x133.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-450x299.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-600x399.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/10_tablet_story-l-900x599.png 900w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-12387&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-300x199.png&#34; alt=&#34;11_tablet_feed&#34; width=&#34;300&#34; height=&#34;199&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-1024x682.png 1024w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-100x66.png 100w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-150x99.png 150w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-200x133.png 200w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-450x299.png 450w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-600x399.png 600w, https://guardianproject.info/wp-content/uploads/2014/05/11_tablet_feed-900x599.png 900w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w.jpg&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-12435&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w.jpg&#34; alt=&#34;infographic-4_900w&#34; width=&#34;900&#34; height=&#34;2231&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w.jpg 900w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-121x300.jpg 121w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-413x1024.jpg 413w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-100x247.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-150x371.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-200x495.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-300x743.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-450x1115.jpg 450w, https://guardianproject.info/wp-content/uploads/2014/05/infographic-4_900w-600x1487.jpg 600w&#34; sizes=&#34;(max-width: 900px) 100vw, 900px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Security in a thumb drive: the promise and pain of hardware security modules, take one!</title>
      <link>https://guardianproject.info/2014/03/28/security-in-a-thumb-drive-the-promise-and-pain-of-hardware-security-modules-take-one/</link>
      <pubDate>Fri, 28 Mar 2014 16:54:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/03/28/security-in-a-thumb-drive-the-promise-and-pain-of-hardware-security-modules-take-one/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/03/cryptostick-usb-flash-drive-security-software.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/03/cryptostick-usb-flash-drive-security-software.jpg&#34; alt=&#34;security in a thumb drive&#34; width=&#34;219&#34; height=&#34;119&#34; class=&#34;alignleft size-full wp-image-12311&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/03/cryptostick-usb-flash-drive-security-software.jpg 219w, https://guardianproject.info/wp-content/uploads/2014/03/cryptostick-usb-flash-drive-security-software-100x54.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/03/cryptostick-usb-flash-drive-security-software-150x81.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/03/cryptostick-usb-flash-drive-security-software-200x108.jpg 200w&#34; sizes=&#34;(max-width: 219px) 100vw, 219px&#34; /&gt;&lt;/a&gt;Hardware Security Modules (aka Smartcards, chipcards, etc) provide a secure way to store and use cryptographic keys, while actually making the whole process a bit easier. In theory, one USB thumb drive like thing could manage all of the crypto keys you use in a way that makes them much harder to steal. That is the promise. The reality is that the world of Hardware Security Modules (HSMs) is a massive, scary minefield of endless technical gotchas, byzantine standards (PKCS#11!), technobabble, and incompatibilities. Before I dive too much into ranting about the days of my life wasted trying to find a clear path through this minefield, I’m going to tell you about one path I did find through to solve a key piece of the puzzle: Android and Java package signing.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs.jpg&#34; alt=&#34;ACS ACR38-T-IBS&#34; width=&#34;320&#34; height=&#34;248&#34; class=&#34;alignright size-full wp-image-12313&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs.jpg 320w, https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs-300x232.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs-100x77.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs-150x116.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/03/moreinfo_acr38t_ibs-200x155.jpg 200w&#34; sizes=&#34;(max-width: 320px) 100vw, 320px&#34; /&gt;&lt;/a&gt;For this round, I am covering the &lt;a href=&#34;http://www.aventra.fi/English/products_MyEID_E.html&#34; target=&#34;_blank&#34;&gt;Aventra MyEID PKI Card&lt;/a&gt;. I bought a SIM-sized version to fit into an &lt;a href=&#34;http://www.smartcardfocus.com/ilp/id~99/ACR38T_IBS/p/readers.shtml&#34; target=&#34;_blank&#34;&gt;ACS ACR38T-IBS-R&lt;/a&gt; smartcard reader (it is apparently no longer made, and the &lt;a href=&#34;http://acs.com.hk/en/products/1/acr38t-d1-plug-in-sim-sized-card-reader/&#34; target=&#34;_blank&#34;&gt;ACT38T-D1&lt;/a&gt; is meant to replace it). Why such specificity you may ask? Because you have to be sure that your smartcard will work with your reader, and that your reader will have a working driver for you system, and that your smartcard will have a working PKCS#11 driver so that software can talk to the smartcard. Thankfully there is the &lt;a href=&#34;https://github.com/OpenSC/OpenSC/wiki&#34; target=&#34;_blank&#34;&gt;OpenSC&lt;/a&gt; project to cover the PKCS#11 part, it implements the PKCS#11 communications standard for many smartcards. On my Ubuntu/precise system, I had to install an extra driver, &lt;code&gt;libacr38u&lt;/code&gt;, to get the ACR38T reader to show up on my system.&lt;/p&gt;

&lt;p&gt;So let’s start there and get this thing to show up! First we need some packages. The OpenSC packages are out-of-date in a lot of releases, you need version 0.13.0-4 or newer, so you have to add our PPA (Personal Package Archive) to get current versions, which include a &lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742089&#34; target=&#34;_blank&#34;&gt;specific fix for the Aventra MyEID&lt;/a&gt;: (fingerprint: &lt;code&gt;F50E ADDD 2234 F563&lt;/code&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo add-apt-repository ppa:guardianproject/ppa
sudo apt-get update
sudo apt-get install opensc libacr38u libacsccid1 pcsc-tools usbutils
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;First thing, I use &lt;code&gt;lsusb&lt;/code&gt; in the terminal to see what USB devices the Linux kernel sees, and thankfully it sees my reader:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;$ lsusb
Bus 005 Device 013: ID 072f:9000 Advanced Card Systems, Ltd ACR38 AC1038-based Smart Card Reader
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next, its time to try &lt;code&gt;pcsc_scan&lt;/code&gt; to see if the system can see the smartcard installed in the reader. If everything is installed and in order, then &lt;code&gt;pcsc_scan&lt;/code&gt; will report this:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;$ pcsc_scan 
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau &amp;lt;&amp;amp;#x6c;u&amp;amp;#x64;ov&amp;amp;#x69;c.&amp;amp;#x72;o&amp;amp;#x75;&amp;amp;#x73;s&amp;amp;#x65;au&amp;amp;#x40;f&amp;amp;#x72;&amp;amp;#x65;e&amp;amp;#x2e;fr&amp;gt;
Compiled with PC/SC lite version: 1.7.4
Using reader plug&#39;n play mechanism
Scanning present readers...
0: ACS ACR38U 00 00

Thu Mar 27 14:38:36 2014
Reader 0: ACS ACR38U 00 00
  Card state: Card inserted, 
  ATR: 3B F5 18 00 00 81 31 FE 45 4D 79 45 49 44 9A
[snip]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If &lt;code&gt;pcsc_scan&lt;/code&gt; cannot see the card, then things will not work. Try re-seating the smardcard in the reader, make sure you have all the right packages installed, and if you can see the reader in &lt;code&gt;lsusb&lt;/code&gt;. If your smartcard or reader cannot be read, then &lt;code&gt;pcsc_scan&lt;/code&gt; will report something like this:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;$ pcsc_scan 
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau &amp;lt;&amp;amp;#x6c;&amp;amp;#x75;&amp;amp;#x64;&amp;amp;#x6f;&amp;amp;#x76;&amp;amp;#x69;c.rousse&amp;amp;#x61;&amp;amp;#x75;&amp;amp;#x40;&amp;amp;#x66;&amp;amp;#x72;&amp;amp;#x65;e.fr&amp;gt;
Compiled with PC/SC lite version: 1.7.4
Using reader plug&#39;n play mechanism
Scanning present readers...
Waiting for the first reader...
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Moving right along… now &lt;code&gt;pcscd&lt;/code&gt; can see the smartcard, so we can start playing with using the OpenSC tools. These are needed to setup the card, put PINs on it for access control, and upload keys and certificates to it. The last annoying little preparation tasks are finding where &lt;code&gt;opensc-pkcs11.so&lt;/code&gt; is installed and the “slot” for the signing key in the card. These will go into a config file which &lt;code&gt;keytool&lt;/code&gt; and &lt;code&gt;jarsigner&lt;/code&gt; need. To get this info on Debian/Ubuntu/etc, run these:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;$ dpkg -S opensc-pkcs11.so
opensc: /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
$ pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so \
&amp;gt;     --list-slots
Available slots:
Slot 0 (0xffffffffffffffff): Virtual hotplug slot
  (empty)
Slot 1 (0x1): ACS ACR38U 00 00
  token label        : MyEID (signing)
  token manufacturer : Aventra Ltd.
  token model        : PKCS#15
  token flags        : rng, login required, PIN initialized, token initialized
  hardware version   : 0.0
  firmware version   : 0.0
  serial num         : 0106004065952228
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is the info needed to put into a &lt;code&gt;opensc-java.cfg&lt;/code&gt;, which &lt;code&gt;keytool&lt;/code&gt; and &lt;code&gt;jarsigner&lt;/code&gt; &lt;a href=&#34;http://docs.oracle.com/javase/7/docs/technotes/guides/security/p11guide.html&#34; target=&#34;_blank&#34;&gt;need in order to talk&lt;/a&gt; to the Aventra HSM. The name, library, and slot fields are essential, and the description is helpful. Here is how the &lt;code&gt;opensc-java.cfg&lt;/code&gt; using the above information looks:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;name = OpenSC
description = SunPKCS11 w/ OpenSC Smart card Framework
library = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
slot = 1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now everything should be ready for initializing the HSM, generating a new key, and uploading that key to the HSM. This process generates the key and certificate, puts them into files, then uploads them to the HSM. That means you should only run this process on a trusted machine, certainly with some kind of disk encryption, and preferably on a machine that is not connected to a network, running an OS that has never been connected to the internet. A live CD is one good example, I recommend &lt;a href=&#34;https://tails.boum.org/download/index.en.html#index4h1&#34; target=&#34;_blank&#34;&gt;Tails on a USB thumb drive&lt;/a&gt; running with the &lt;a href=&#34;https://tails.boum.org/doc/first_steps/persistence/index.en.html&#34; target=&#34;_blank&#34;&gt;secure persistent store&lt;/a&gt; on it (we have been working here and there on making a TAILS-based distro specifically for managing keys, we call it &lt;a href=&#34;https://dev.guardianproject.info/projects/psst/wiki/CleanRoom&#34; target=&#34;_blank&#34;&gt;CleanRoom&lt;/a&gt;).&lt;/p&gt;

&lt;div id=&#34;attachment_12321&#34; style=&#34;width: 560px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/03/cstick2.jpg&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12321&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/03/cstick2-1024x805.jpg&#34; alt=&#34;HSM plugged into a laptop&#34; width=&#34;550&#34; height=&#34;432&#34; class=&#34;size-large wp-image-12321&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/03/cstick2-1024x805.jpg 1024w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-300x235.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-100x78.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-150x117.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-200x157.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-450x353.jpg 450w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-600x471.jpg 600w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2-900x707.jpg 900w, https://guardianproject.info/wp-content/uploads/2014/03/cstick2.jpg 1600w&#34; sizes=&#34;(max-width: 550px) 100vw, 550px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12321&#34; class=&#34;wp-caption-text&#34;&gt;
    HSM plugged into a laptop
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;First off, the HSM needs to be initialized, then set up with a signing PIN and a “Security Officer” PIN (which means basically an “admin” or “root” PIN). The signing PIN is the one you will use for signing APKs, the “Security Officer PIN” (SO-PIN) is used for modifying the HSM setup, like uploading new keys, etc. Because there are so many steps in the process, I’ve written up scripts to run thru all of the steps. If you want to see the details, &lt;a href=&#34;https://github.com/guardianproject/smartcard-apk-signing/blob/master/Aventra_MyEID_Setup/setup.sh&#34; target=&#34;_blank&#34;&gt;read&lt;/a&gt; &lt;a href=&#34;https://github.com/guardianproject/smartcard-apk-signing/blob/master/openssl-gen/gen.sh&#34; target=&#34;_blank&#34;&gt;the&lt;/a&gt; &lt;a href=&#34;https://github.com/guardianproject/smartcard-apk-signing/blob/master/Aventra_MyEID_Setup/finalize.sh&#34; target=&#34;_blank&#34;&gt;scripts&lt;/a&gt;. The next step is to generate the key using &lt;code&gt;openssl&lt;/code&gt; and upload it to the HSM. Then the HSM needs to be “finalized”, which means the PINs are activated, and keys cannot be uploaded. Don’t worry, as long as you have the SO-PIN, you can erase the HSM and re-initialize it. But be careful! Many HSMs will permanently self-destruct if you enter in the wrong PIN too many times, some will do that after only three wrong PINs! As long as you have not finalized the HSM, any PIN will work, so play around a lot with it before finalizing it. Run the init and key upload procedure a few times, try signing an APK, etc. Take note: the script will generate a random password for the secret files, then echo that password when it completes, so make sure no one can see your screen when you generate the real key. Alright, here goes!&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;code $ git clone https://github.com/guardianproject/smartcard-apk-signing
code $ cd smartcard-apk-signing/Aventra_MyEID_Setup
Aventra_MyEID_Setup $ ./setup.sh 
Edit pkcs15-init-options-file-pins to put in the PINs you want to set:
Aventra_MyEID_Setup $ emacs pkcs15-init-options-file-pins
Aventra_MyEID_Setup $ ./setup.sh 
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
Using card driver MyEID cards with PKCS#15 applet.
About to erase card.
PIN [Security Officer PIN] required.
Please enter PIN [Security Officer PIN]: 
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
Using card driver MyEID cards with PKCS#15 applet.
About to create PKCS #15 meta structure.
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
Using card driver MyEID cards with PKCS#15 applet.
Found MyEID
About to generate key.
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
Using card driver MyEID cards with PKCS#15 applet.
Found MyEID
About to generate key.
next generate a key with ./gen.sh then ./finalize.sh
Aventra_MyEID_Setup $ cd ../openssl-gen/
openssl-gen $ ./gen.sh 
Usage: ./gen.sh &amp;quot;CertDName&amp;quot; [4096]
  for example:
  &amp;quot;/C=US/ST=New York/O=Guardian Project &amp;amp;#x54;e&amp;amp;#x73;&amp;amp;#x74;/&amp;amp;#x43;N=&amp;amp;#x74;es&amp;amp;#x74;.&amp;amp;#x67;&amp;amp;#x75;a&amp;amp;#x72;di&amp;amp;#x61;np&amp;amp;#x72;o&amp;amp;#x6a;&amp;amp;#x65;c&amp;amp;#x74;&amp;amp;#x2e;i&amp;amp;#x6e;fo&amp;amp;#x2f;em&amp;amp;#x61;i&amp;amp;#x6c;&amp;amp;#x41;d&amp;amp;#x64;re&amp;amp;#x73;s=&amp;amp;#x74;e&amp;amp;#x73;&amp;amp;#x74;@&amp;amp;#x67;&amp;amp;#x75;a&amp;amp;#x72;di&amp;amp;#x61;np&amp;amp;#x72;o&amp;amp;#x6a;&amp;amp;#x65;c&amp;amp;#x74;.i&amp;amp;#x6e;fo&amp;quot;
openssl-gen $ ./gen.sh &amp;quot;/C=US/ST=New York/O=Guardian Project Te&amp;amp;#x73;t&amp;amp;#x2f;C&amp;amp;#x4e;=&amp;amp;#x74;e&amp;amp;#x73;t&amp;amp;#x2e;g&amp;amp;#x75;ardi&amp;amp;#x61;n&amp;amp;#x70;r&amp;amp;#x6f;j&amp;amp;#x65;c&amp;amp;#x74;.&amp;amp;#x69;n&amp;amp;#x66;o/em&amp;amp;#x61;i&amp;amp;#x6c;A&amp;amp;#x64;d&amp;amp;#x72;e&amp;amp;#x73;s&amp;amp;#x3d;t&amp;amp;#x65;st&amp;amp;#x40;g&amp;amp;#x75;a&amp;amp;#x72;d&amp;amp;#x69;a&amp;amp;#x6e;p&amp;amp;#x72;o&amp;amp;#x6a;e&amp;amp;#x63;t.&amp;amp;#x69;n&amp;amp;#x66;o&amp;quot;
Generating key, be patient...
2048 semi-random bytes loaded
Generating RSA private key, 2048 bit long modulus
.......................................+++
..................................................+++
e is 65537 (0x10001)
Signature ok
subject=/C=US/ST=New York/O=Guardian Project Test/&amp;amp;#x43;&amp;amp;#x4e;&amp;amp;#x3d;&amp;amp;#x74;&amp;amp;#x65;st.gu&amp;amp;#x61;&amp;amp;#x72;&amp;amp;#x64;&amp;amp;#x69;&amp;amp;#x61;nproj&amp;amp;#x65;&amp;amp;#x63;&amp;amp;#x74;&amp;amp;#x2e;&amp;amp;#x69;nfo/e&amp;amp;#x6d;&amp;amp;#x61;&amp;amp;#x69;&amp;amp;#x6c;&amp;amp;#x41;ddres&amp;amp;#x73;&amp;amp;#x3d;&amp;amp;#x74;&amp;amp;#x65;&amp;amp;#x73;t@gua&amp;amp;#x72;&amp;amp;#x64;&amp;amp;#x69;&amp;amp;#x61;&amp;amp;#x6e;proje&amp;amp;#x63;&amp;amp;#x74;&amp;amp;#x2e;&amp;amp;#x69;&amp;amp;#x6e;fo
Getting Private key
writing RSA key
Your HSM will prompt you for &#39;Security Officer&#39; aka admin PIN, wait for it!
Enter destination keystore password:  
Entry for alias 1 successfully imported.
Import command completed:  1 entries successfully imported, 0 entries failed or cancelled
[Storing keystore]
Key fingerprints for reference:
MD5 Fingerprint=90:24:68:F3:F3:22:7D:13:8C:81:11:C3:A4:B6:9A:2F
SHA1 Fingerprint=3D:9D:01:C9:28:BD:1F:F4:10:80:FC:02:95:51:39:F4:7D:E7:A9:B1
SHA256 Fingerprint=C6:3A:ED:1A:C7:9D:37:C7:B0:47:44:72:AC:6E:FA:6C:3A:B2:B1:1A:76:7A:4F:42:CF:36:0F:A5:49:6E:3C:50
The public files are: certificate.pem publickey.pem request.pem
The secret files are: secretkey.pem certificate.p12 certificate.jkr
The passphrase for the secret files is: fTQ*he-[:y+69RS+W&amp;amp;+!*0O5i%n
openssl-gen $ cd ../Aventra_MyEID_Setup/
Aventra_MyEID_Setup $ ./finalize.sh 
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
Using card driver MyEID cards with PKCS#15 applet.
Found MyEID
About to delete object(s).
Your HSM is ready for use! Put the secret key files someplace encrypted and safe!
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now your HSM should be ready for use for signing. You can try it out with &lt;code&gt;keytool&lt;/code&gt; to see what is on it, using the signing PIN not the Security Officer PIN:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;smartcard-apk-signing $ /usr/bin/keytool -v \
&amp;gt;     -providerClass sun.security.pkcs11.SunPKCS11 \
&amp;gt;     -providerArg opensc-java.cfg \
&amp;gt;     -providerName SunPKCS11-OpenSC -keystore NONE -storetype PKCS11 \
&amp;gt;     -list
Enter keystore password:  

Keystore type: PKCS11
Keystore provider: SunPKCS11-OpenSC

Your keystore contains 1 entry

Alias name: 1
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: &amp;amp;#x45;&amp;amp;#x4d;&amp;amp;#x41;&amp;amp;#x49;&amp;amp;#x4c;&amp;amp;#x41;&amp;amp;#x44;&amp;amp;#x44;RESS=test@g&amp;amp;#x75;&amp;amp;#x61;&amp;amp;#x72;&amp;amp;#x64;&amp;amp;#x69;&amp;amp;#x61;&amp;amp;#x6e;&amp;amp;#x70;&amp;amp;#x72;oject.info, CN=test.guardianproject.info, O=Guardian Project Test, ST=New York, C=US
Issuer: E&amp;amp;#x4d;A&amp;amp;#x49;LA&amp;amp;#x44;D&amp;amp;#x52;ES&amp;amp;#x53;=&amp;amp;#x74;e&amp;amp;#x73;&amp;amp;#x74;@&amp;amp;#x67;u&amp;amp;#x61;rd&amp;amp;#x69;a&amp;amp;#x6e;pr&amp;amp;#x6f;j&amp;amp;#x65;ct&amp;amp;#x2e;i&amp;amp;#x6e;f&amp;amp;#x6f;, CN=test.guardianproject.info, O=Guardian Project Test, ST=New York, C=US
Serial number: aa6887be1ec84bde
Valid from: Fri Mar 28 16:41:26 EDT 2014 until: Mon Aug 12 16:41:26 EDT 2041
Certificate fingerprints:
	 MD5:  90:24:68:F3:F3:22:7D:13:8C:81:11:C3:A4:B6:9A:2F
	 SHA1: 3D:9D:01:C9:28:BD:1F:F4:10:80:FC:02:95:51:39:F4:7D:E7:A9:B1
	 SHA256: C6:3A:ED:1A:C7:9D:37:C7:B0:47:44:72:AC:6E:FA:6C:3A:B2:B1:1A:76:7A:4F:42:CF:36:0F:A5:49:6E:3C:50
	 Signature algorithm name: SHA1withRSA
	 Version: 1


*******************************************
*******************************************
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And let’s try signing an actual APK using the &lt;a href=&#34;https://developer.android.com/tools/publishing/app-signing.html&#34; target=&#34;_blank&#34;&gt;arguments that Google recommends&lt;/a&gt;, again, using the signing PIN:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;smartcard-apk-signing $ /usr/bin/jarsigner -verbose \
&amp;gt;     -providerClass sun.security.pkcs11.SunPKCS11 \
&amp;gt;     -providerArg opensc-java.cfg -providerName SunPKCS11-OpenSC \
&amp;gt;     -keystore NONE -storetype PKCS11 \
&amp;gt;     -sigalg SHA1withRSA -digestalg SHA1 \
&amp;gt;     bin/LilDebi-release-unsigned.apk 1
Enter Passphrase for keystore: 
   adding: META-INF/1.SF
   adding: META-INF/1.RSA
  signing: assets/busybox
  signing: assets/complete-debian-setup.sh
  signing: assets/configure-downloaded-image.sh
  signing: assets/create-debian-setup.sh
  signing: assets/debian-archive-keyring.gpg
  signing: assets/debootstrap.tar.bz2
  signing: assets/e2fsck.static
  signing: assets/gpgv
  signing: assets/lildebi-common
[snip]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now we have a working, but elaborate, process for setting up a Hardware Security Module for signing APKs. Once the HSM is setup, using it should be quite straightforward. Next steps are to work out as many kinks in this process as possible so this will be the default way to sign APKs. That means things like figuring out how &lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742831&#34; target=&#34;_blank&#34;&gt;Java can be pre-configured to use OpenSC in the Debian package&lt;/a&gt;, as well as including all &lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742089&#34; target=&#34;_blank&#34;&gt;relevant fixes&lt;/a&gt; in the &lt;code&gt;pcscd&lt;/code&gt; and &lt;code&gt;opensc&lt;/code&gt; packages. Then the ultimate is to add support for using HSMs in Android’s generated build files like the &lt;code&gt;build.xml&lt;/code&gt; for &lt;code&gt;ant&lt;/code&gt; that is generated by &lt;code&gt;android update project&lt;/code&gt;. Then people could just plug in the HSM and run &lt;code&gt;ant release&lt;/code&gt; and have a signed APK!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Eric Schmidt Awards Guardian Project a “New Digital Age” Grant</title>
      <link>https://guardianproject.info/2014/03/10/eric-schmidt-awards-guardian-project-a-new-digital-age-grant/</link>
      <pubDate>Mon, 10 Mar 2014 12:22:34 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/03/10/eric-schmidt-awards-guardian-project-a-new-digital-age-grant/</guid>
      <description>&lt;p&gt;An interesting turn of events (which we are very grateful for!)&lt;/p&gt;

&lt;p&gt;*&lt;strong&gt;*&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FOR IMMEDIATE RELEASE&lt;br /&gt;
Diana Del Olmo, &lt;a href=&#34;mailto&amp;amp;#x3a;d&amp;amp;#x69;a&amp;amp;#x6e;a&amp;amp;#x40;g&amp;amp;#x75;a&amp;amp;#x72;d&amp;amp;#x69;a&amp;amp;#x6e;p&amp;amp;#x72;o&amp;amp;#x6a;e&amp;amp;#x63;t&amp;amp;#x2e;i&amp;amp;#x6e;f&amp;amp;#x6f;&#34;&gt;&amp;#x64;ia&amp;#x6e;&amp;#x61;@g&amp;#x75;&amp;#x61;rd&amp;#x69;&amp;#x61;np&amp;#x72;&amp;#x6f;je&amp;#x63;&amp;#x74;.i&amp;#x6e;&amp;#x66;o&lt;/a&gt;&lt;br /&gt;
Nathan Freitas (in Austin / SXSW) +1.718.569.7272&lt;br /&gt;
&lt;a href=&#34;m&amp;amp;#x61;i&amp;amp;#x6c;&amp;amp;#x74;o&amp;amp;#x3a;n&amp;amp;#x61;&amp;amp;#x74;h&amp;amp;#x61;n&amp;amp;#x40;&amp;amp;#x67;u&amp;amp;#x61;r&amp;amp;#x64;&amp;amp;#x69;a&amp;amp;#x6e;p&amp;amp;#x72;&amp;amp;#x6f;j&amp;amp;#x65;c&amp;amp;#x74;&amp;amp;#x2e;i&amp;amp;#x6e;f&amp;amp;#x6f;&#34;&gt;nat&amp;#x68;&amp;#x61;&amp;#x6e;@gua&amp;#x72;&amp;#x64;&amp;#x69;anpr&amp;#x6f;&amp;#x6a;&amp;#x65;ct.&amp;#x69;&amp;#x6e;&amp;#x66;o&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get press kit and more at: &lt;a href=&#34;https://guardianproject.info/press&#34;&gt;https://guardianproject.info/press&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Permalink:&lt;br /&gt;
&lt;a href=&#34;https://docs.google.com/document/d/1kI6dV6nPSd1z3MkxSTMRT8P9DcFQ9uOiNFcUlGTjjXA/edit?usp=sharing&#34;&gt;https://docs.google.com/document/d/1kI6dV6nPSd1z3MkxSTMRT8P9DcFQ9uOiNFcUlGTjjXA/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GOOGLE EXECUTIVE CHAIRMAN ERIC SCHMIDT AWARDS GUARDIAN PROJECT A “NEW DIGITAL AGE” GRANT&lt;/p&gt;

&lt;p&gt;The Guardian Project is amongst the 10 chosen grantee organizations to be awarded a $100,000 digital age grant due to its extensive work creating open source software to help citizens overcome government-sponsored censorship.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b.jpg&#34;&gt;&lt;img class=&#34;size-full wp-image-12288 alignnone&#34; alt=&#34;eric-schmidt-portr_2546680b&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b.jpg&#34; width=&#34;620&#34; height=&#34;387&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b.jpg 620w, https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b-300x187.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b-100x62.jpg 100w, https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b-150x93.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b-200x124.jpg 200w, https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b-450x280.jpg 450w, https://guardianproject.info/wp-content/uploads/2014/03/eric-schmidt-portr_2546680b-600x374.jpg 600w&#34; sizes=&#34;(max-width: 620px) 100vw, 620px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;&lt;a href=&#34;http://www.telegraph.co.uk/technology/internet/10018193/The-New-Digital-Age-by-Eric-Schmidt-and-Jared-Cohen-review.html&#34;&gt;image courtesy of the telegraph.co.ok&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;NEW YORK, NY (March 10, 2014)—Ten non-profits in the U.S. and abroad&lt;br /&gt;
have been named recipients of New Digital Age Grants, funded through a&lt;br /&gt;
$1 million donation by Google executive chairman Eric Schmidt. The&lt;br /&gt;
Guardian Project is one of two New York City-based groups receiving an&lt;br /&gt;
award.&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;The New Digital Age Grants were established to highlight organizations&lt;br /&gt;
that use technology to counter the global challenges Schmidt and&lt;br /&gt;
Google Ideas Director Jared Cohen write about in their book THE NEW&lt;br /&gt;
DIGITAL AGE, including government-sponsored censorship, disaster&lt;br /&gt;
relief and crime fighting. The book was released in paperback on March 4.&lt;/p&gt;

&lt;p&gt;“The recipients chosen for the New Digital Age Grants are doing some&lt;br /&gt;
very innovative and unique work, and I’m proud to offer them this&lt;br /&gt;
encouragement,” said Schmidt. “Five billion people will encounter the&lt;br /&gt;
Internet for the first time in the next decade. With this surge in the&lt;br /&gt;
use of technology around the world—much of which we in the West take&lt;br /&gt;
for granted—I felt it was important to encourage organizations that&lt;br /&gt;
are using it to solve some of our most pressing problems.”&lt;/p&gt;

&lt;p&gt;Guardian Project founder, Nathan Freitas, created the project based on&lt;br /&gt;
his first-hand experience working with Tibetan human rights and&lt;br /&gt;
independence activists for over ten years. Today, March 10th, is the&lt;br /&gt;
55th anniversary of the Tibetan Uprising Day against Chinese&lt;br /&gt;
occupation. “I have seen first hand the toll that online censorship,&lt;br /&gt;
mobile surveillance and digital persecution can take on a culture,&lt;br /&gt;
people and movement,” said Freitas. “I am elated to know Mr. Schmidt&lt;br /&gt;
supports our effort to fight back against these unjust global trends&lt;br /&gt;
through the development of free, open-source mobile security&lt;br /&gt;
capabilities.”&lt;/p&gt;

&lt;p&gt;Many of the NDA grantees, such as Aspiration, Citizen Lab and OTI,&lt;br /&gt;
already work with the Guardian Project on defending digital rights,&lt;br /&gt;
training high-risk user groups and doing core research and development&lt;br /&gt;
of anti-censorship and surveillance defense tools and training.&lt;/p&gt;

&lt;p&gt;The New Digital Age Grants are being funded through a private donation&lt;br /&gt;
by Eric and Wendy Schmidt.&lt;/p&gt;

&lt;p&gt;About the Guardian Project&lt;/p&gt;

&lt;p&gt;The Guardian Project is a global collective of software developers&lt;br /&gt;
(hackers!), designers, advocates, activists and trainers who develop&lt;br /&gt;
open source mobile security software and operating system&lt;br /&gt;
enhancements. They also create customized mobile devices to help&lt;br /&gt;
individuals communicate more freely and protect themselves from&lt;br /&gt;
intrusion and monitoring. The effort specifically focuses on users who&lt;br /&gt;
live or work in high-risk situations, and who often face constant&lt;br /&gt;
surveillance and intrusion attempts into their mobile devices and&lt;br /&gt;
communication streams.&lt;/p&gt;

&lt;p&gt;Since it was founded in 2009, the Guardian Project has developed more&lt;br /&gt;
than a dozen mobile apps for Android and iOS with over two million&lt;br /&gt;
downloads and hundreds of thousands of active users. In the last five&lt;br /&gt;
years the Guardian Project has partnered with prominent open source&lt;br /&gt;
software projects, activists groups, NGOs, commercial partners and&lt;br /&gt;
news organizations to support their mobile security software&lt;br /&gt;
capabilities. This work has been made possible with funding from&lt;br /&gt;
Google, UC Berkeley with the MacArthur Foundation, Avaaz, Internews,&lt;br /&gt;
Open Technology Fund, WITNESS, the Knight Foundation, Benetech, and&lt;br /&gt;
Free Press Unlimited. Through work on partner projects like The Tor&lt;br /&gt;
Project, Commotion mesh and StoryMaker, we have received indirect&lt;br /&gt;
funding from both the US State Department through the Bureau of&lt;br /&gt;
Democracy, Human Rights and Labor Internet Freedom program, and the&lt;br /&gt;
Dutch Ministry of Foreign Affairs through HIVOS.&lt;/p&gt;

&lt;p&gt;The Guardian Project is very grateful for this personal donation and&lt;br /&gt;
is happy to have its work recognized by Mr Schmidt. This grant will&lt;br /&gt;
allow us to continue our work on ensuring users around the world have&lt;br /&gt;
access to secure, open and trustworthy mobile messaging services. We&lt;br /&gt;
will continue to improve reliability and security of ChatSecure for&lt;br /&gt;
Android and iOS and integrate the OStel voice and video calling&lt;br /&gt;
services into the app for a complete secure communications solution.&lt;br /&gt;
We will support the work of the new I.M.AWESOME (Instant Messaging&lt;br /&gt;
Always Secure Messaging) Coalition focused on open-standards,&lt;br /&gt;
decentralized secure mobile messaging, and voice and video&lt;br /&gt;
communications. Last, but not least, we will improve device testing,&lt;br /&gt;
support and outreach to global human rights defenders, activists and&lt;br /&gt;
journalists, bringing the technology that the Guardian Project has&lt;br /&gt;
developed to the people that need it most.&lt;/p&gt;

&lt;p&gt;About the NDA Recipients&lt;/p&gt;

&lt;p&gt;Aspiration in San Francisco, CA, provides deep mentorship to build&lt;br /&gt;
tech capacity supporting Africa, Asia and beyond. Their NDA grant will&lt;br /&gt;
grow their capacity-building programs for the Global South, increasing&lt;br /&gt;
technical capacity to meet local challenges.&lt;/p&gt;

&lt;p&gt;C4ADS, a nonprofit research team in Washington, DC, is at the cutting&lt;br /&gt;
edge of unmasking Somali pirate networks, Russian arms-smuggling&lt;br /&gt;
rings, and other illicit actors entirely through public records. Their&lt;br /&gt;
data-driven approach and reliance on public documents has enormous&lt;br /&gt;
potential impact, and the grant will help with their next big project.&lt;/p&gt;

&lt;p&gt;The Citizen Integration Center in Monterrey, Mexico has developed an&lt;br /&gt;
innovative public safety broadcast and tipline system on social media.&lt;br /&gt;
Users help their neighbors—and the city—by posting incidents and&lt;br /&gt;
receiving alerts when violence is occurring in their communities. The&lt;br /&gt;
grant will help them broaden their reach.&lt;/p&gt;

&lt;p&gt;The Citizen Lab at the Munk School of Global Affairs at the University&lt;br /&gt;
of Toronto, Canada, is a leading interdisciplinary laboratory&lt;br /&gt;
researching and exposing censorship and surveillance. The grant will&lt;br /&gt;
support their technical reconnaissance and analysis, which uniquely&lt;br /&gt;
combines experts and techniques from computer science and the social&lt;br /&gt;
sciences.&lt;/p&gt;

&lt;p&gt;The Guardian Project, based in New York City, develops open-source&lt;br /&gt;
secure communication tools for mobile devices. ChatSecure and OSTel,&lt;br /&gt;
their open standards-based encrypted messaging, voice and video&lt;br /&gt;
communication services, which are both built on open standards, have&lt;br /&gt;
earned the trust of tens of thousands of users in&lt;br /&gt;
repressively-censored environments, and the grant will advance their&lt;br /&gt;
technical development.&lt;/p&gt;

&lt;p&gt;The Igarapé Institute in Rio de Janeiro, Brazil, focuses on violence&lt;br /&gt;
prevention and reduction through technology. Their nonprofit work on&lt;br /&gt;
anti-crime projects combines the thoughtfulness of a think tank with&lt;br /&gt;
the innovative experimentation of a technology design shop. The grant&lt;br /&gt;
will support their research and development work.&lt;/p&gt;

&lt;p&gt;KoBo Toolbox in Cambridge, MA, allows fieldworkers in far-flung&lt;br /&gt;
conflict and disaster zones to easily gather information without&lt;br /&gt;
active Internet connections. The grant will help them revamp their&lt;br /&gt;
platform to make it easier and faster to deploy.&lt;/p&gt;

&lt;p&gt;The New Media Advocacy Project in New York, NY, is nonprofit&lt;br /&gt;
organization developing mobile tools to map violence and&lt;br /&gt;
disappearances in challenging environments. The grant will allow them&lt;br /&gt;
to refine their novel, interactive, video-based interfaces.&lt;/p&gt;

&lt;p&gt;The Open Technology Institute at the New America Foundation in&lt;br /&gt;
Washington, DC, advances open architectures and open-source&lt;br /&gt;
innovations for a free and open Internet. The grant will assist their&lt;br /&gt;
work with the Measurement Lab project to objectively measure and&lt;br /&gt;
report Internet interference from repressive governments.&lt;/p&gt;

&lt;p&gt;Portland State University in Portland, OR, is leading ground-breaking&lt;br /&gt;
research on network traffic obfuscation techniques, which improve&lt;br /&gt;
Internet accessibility for residents of repressively-censored&lt;br /&gt;
environments. The grant will support the research of Professor Tom&lt;br /&gt;
Shrimpton and his lab, who—with partners at the University of&lt;br /&gt;
Wisconsin and beyond—continue to push the boundaries with new&lt;br /&gt;
techniques like Format Transforming Encryption.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tweaking HTTPS for Better Security</title>
      <link>https://guardianproject.info/2014/02/12/tweaking-https-for-better-security/</link>
      <pubDate>Wed, 12 Feb 2014 19:14:59 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/02/12/tweaking-https-for-better-security/</guid>
      <description>&lt;p&gt;The HTTPS protocol is based on TLS and SSL, which are standard ways to negotiate encrypted connections. There is a lot of complexity in the protocols and lots of config options, but luckily most of the config options can be ignored since the defaults are fine. But there are some things worth tweaking to ensure that as many connections as possible are using reliable encryption ciphers while providing &lt;a href=&#34;https://en.wikipedia.org/wiki/Forward_secrecy&#34;&gt;forward secrecy&lt;/a&gt;. A connection with forward secrecy provides protection to past transactions even if the server’s HTTPS private key/certificate is stolen or compromised. This protects your users from large scale network observers that can store all traffic for later decryption, like governments, ISPs, telecoms, etc. From the server operator’s point of view, it means less risk of leaking users’ data, since even if the server is compromised, past network traffic will probably not be able to be encrypted.&lt;/p&gt;

&lt;p&gt;In my situation, I was using our development site, &lt;a href=&#34;https://dev.guardianproject.info&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://dev.guardianproject.info&#34;&gt;https://dev.guardianproject.info&lt;/a&gt;&lt;/a&gt;, as my test bed, it is Apache 2.2 and openssl 1.0.1 running on Ubuntu/precise 12.04 Long-Term Support, so that means that some of the options are more limited since this is an older release. On Debian, Ubuntu and other Debian-derivatives, you’ll only need to edit &lt;code&gt;/etc/apache2/mods-available/ssl.conf&lt;/code&gt;. There are more paranoid resources &lt;a href=&#34;https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy&#34; target=&#34;_blank&#34;&gt;for perfectly configuring your TLS&lt;/a&gt;, but we’re not ready to drop support for old browsers that only support SSLv3, and not TLS at all. So I went with this line to enable SSLv3 and TLSv1.0 and newer:&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
SSLProtocol all -SSLv2&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;With TLS connections, the client and the server each present a list of encryption ciphers that represent the ciphers they each support in order of preference. This enables the client and server to choose a cipher that both support. Normally, the client’s list takes precedence over the server’s, but with many browsers that can be changed. Unfortunately it seems that Microsoft Internet Explorer (IE) ignores this and always uses the client’s preference first. Here’s how to make Apache request that the server preferences are preferred:&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
SSLHonorCipherOrder on&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Next up is tweaking the server’s preference list to put ciphers that enable forward secrecy first (don’t worry if you don’t understand the next stuff about my rationale, my aim is to walk thru the process). This is done in most web servers using openssl-style cipher lists. I started out with &lt;a href=&#34;https://wiki.mozilla.org/Security/Server_Side_TLS&#34; target=&#34;_blank&#34;&gt;what Mozilla recommends&lt;/a&gt;, then pared down the list to remove AES-256 ciphers, since AES-128 is widely regarded to be faster, quite strong, and perhaps &lt;a href=&#34;https://wiki.mozilla.org/Security/Server_Side_TLS#Prioritization_logic&#34; target=&#34;_blank&#34;&gt;more resistant to timing attacks than AES-256&lt;/a&gt;. I also chose to remove RC4-based ciphers, since &lt;a href=&#34;https://wiki.mozilla.org/Security/Server_Side_TLS#RC4_weaknesses&#34; target=&#34;_blank&#34;&gt;RC4 might already be broken&lt;/a&gt;, and will only get worse with time. RC4 has historically been used to mitigate the “BEAST” attack, but that is &lt;a href=&#34;https://community.qualys.com/blogs/securitylabs/2013/09/10/is-beast-still-a-threat&#34; target=&#34;_blank&#34;&gt;mostly happening in the clients now&lt;/a&gt;. So with that I ended up with this cipher list (should be all one line in your config file):&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
SSLCipherSuite &amp;quot;ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA:DES-CBC3-SHA&amp;quot;&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;One thing to make sure is that all of these ciphers are supported on your system. You can get the list of supported ciphers from &lt;code&gt;openssl ciphers&lt;/code&gt;. I used this command line to get them in a nice, alphabetized list:&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
openssl ciphers | sed &#39;s,:,\n,g&#39; | sort&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Lastly, we want to set the &lt;a href=&#34;https://www.owasp.org/index.php/HTTP_Strict_Transport_Security&#34; target=&#34;_blank&#34;&gt;HSTS&lt;/a&gt; header to tell the browser to always use HTTPS. To enforce this, a header is added to the collection of HTTP headers delivered when connecting to the HTTPS site. This header tells the client browser to always connect to the current domain using HTTPS. It includes an expiration date (aka &lt;code&gt;max-age&lt;/code&gt;) after which, the client browser will again allow HTTP connections to that domain. The server might then again redirect the HTTP connection to HTTPS, and again the client will get the HSTS header, and use only HTTPS until the expiration date comes again. To include this header in your Apache server, add this line:&lt;br /&gt;
&lt;code&gt;&amp;lt;br /&amp;gt;
Header add Strict-Transport-Security &amp;quot;max-age=15768000;includeSubDomains&amp;quot;&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now you can check the results of your work with Qualys’ handy SSL Test. You can see the result of my efforts here: &lt;a href=&#34;https://www.ssllabs.com/ssltest/analyze.html?d=dev.guardianproject.info&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://www.ssllabs.com/ssltest/analyze.html?d=dev.guardianproject.info&#34;&gt;https://www.ssllabs.com/ssltest/analyze.html?d=dev.guardianproject.info&lt;/a&gt;&lt;/a&gt;. &lt;strong&gt;A-&lt;/strong&gt; is not bad. I tried for a good long while to get IE to use FS (Forward Secrecy) ciphers, but failed. IE does not respect the server-side cipher preferences. My guess is that the only way to get IE to use FS ciphers is to make a custom cipher list that does not include anything but FS ciphers and serve that only to IE. I know it is possible to do because &lt;a href=&#34;https://www.ssllabs.com/ssltest/analyze.html?d=bitbucket.com&amp;s=131.103.20.172&#34; target=&#34;_blank&#34;&gt;bitbucket.com got an &lt;strong&gt;A+&lt;/strong&gt; for doing it&lt;/a&gt;. For a quick way to check out the cipher lists and HSTS header, look at &lt;a href=&#34;https://github.com/iSECPartners/sslyze&#34; target=&#34;_blank&#34;&gt;iSEC Partner’s sslyze&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is only a quick overview of the process to outline the general concepts. To find out more I recommend reading the source articles for this post, including specific directions for nginx and lighttpd:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mozilla’s &lt;a href=&#34;https://wiki.mozilla.org/Security/Server_Side_TLS&#34; target=&#34;_blank&#34;&gt;Server-side TLS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Qualys’ &lt;a href=&#34;https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy&#34; target=&#34;_blank&#34;&gt;Configuring Apache, Nginx, and OpenSSL for Forward Secrecy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Qualys’ &lt;a href=&#34;https://community.qualys.com/blogs/securitylabs/2013/09/10/is-beast-still-a-threat&#34; target=&#34;_blank&#34;&gt;Is BEAST Still a Threat?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.owasp.org/index.php/HTTP_Strict_Transport_Security&#34; target=&#34;_blank&#34;&gt;HTTP Strict Transport Security&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Improving trust and flexibility in interactions between Android apps</title>
      <link>https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/</link>
      <pubDate>Tue, 21 Jan 2014 13:51:57 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/01/21/improving-trust-and-flexibility-in-interactions-between-android-apps/</guid>
      <description>&lt;div id=&#34;attachment_12240&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2014/01/Android-Intents.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12240&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/01/Android-Intents-300x61.png&#34; alt=&#34;Activity1 sending an Intent that either Activity2 or Activity3 can handle.&#34; width=&#34;300&#34; height=&#34;61&#34; class=&#34;size-medium wp-image-12240&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/01/Android-Intents-300x61.png 300w, https://guardianproject.info/wp-content/uploads/2014/01/Android-Intents.png 600w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12240&#34; class=&#34;wp-caption-text&#34;&gt;
    &lt;code&gt;Activity1&lt;/code&gt; sending an &lt;code&gt;Intent&lt;/code&gt; that either &lt;code&gt;Activity2&lt;/code&gt; or &lt;code&gt;Activity3&lt;/code&gt; can handle.
  &lt;/p&gt;
&lt;/div&gt;Android provides a flexible system of messaging between apps in the form of 

`&lt;a href=&#34;https://developer.android.com/guide/components/intents-filters.html&#34; target=&#34;_blank&#34;&gt;Intent&lt;/a&gt;`s. It also provides the framework for reusing large chunks of apps based on the `&lt;a href=&#34;https://developer.android.com/reference/android/app/Activity.html&#34; target=&#34;_blank&#34;&gt;Activity&lt;/a&gt;` class. `Intent`s are the messages that make the requests, and `Activity`s are the basic chunk of functionality in an app, including its interface. This combination allows apps to reuse large chunks of functionality while keeping the user experience seamless and fluent. For example, an app can send an Intent to request a camera `Activity` to prompt the user to take a picture, and that process can feel integrated into the original app that made the request. Another common use of this paradigm is choosing account information from the contacts database (aka the _People_ app). When a user is composing an new email, they will want to select who the message gets sent to. Android provides both the contacts database, and a nice overlay screen for finding and selecting the person to send to. This combination is an `Activity` provided by Android. The message that the email program sends in order to trigger that `Activity` is an `Intent`.

As usual, one of the downsides of flexibility is increased security risk. This is compounded in the Android system by rules that will automatically export an Activity to receive Intents from any app, &lt;a href=&#34;https://www.eecs.berkeley.edu/~emc/papers/spsm4027-kantola.pdf&#34; title=&#34;Reducing Attack Surfaces for Intra-Application Communication in Android&#34; target=&#34;_blank&#34;&gt;when certain conditions are met&lt;/a&gt;. If an `Activity` is exported for any app to call, &lt;a href=&#34;https://www.eecs.berkeley.edu/~emc/papers/mobi168-chin.pdf&#34; title=&#34;Analyzing Inter-Application Communication in Android&#34; target=&#34;_blank&#34;&gt;it is possible for apps to send malicious &lt;code&gt;Intent&lt;/code&gt;s&lt;/a&gt; to that `Activity`. Many `Intents` are meant to be public and others are exported as a side effect. Either way, at the very least, it is necessary to &lt;a href=&#34;http://blog.palominolabs.com/2013/05/13/android-security/&#34; title=&#34;Intent Spoofing on Android&#34; target=&#34;_blank&#34;&gt;sanitize the input&lt;/a&gt; that an `Activity` receives. On the other side of the issue, if an app is trusting another app to provide a sensitive service for it, then malware can pose as the trusted app and receive sensitive data from the trusting app. &lt;a href=&#34;http://dwaterson.com/2013/06/24/data-harvesting-by-malicious-android-apps/&#34; target=&#34;_blank&#34;&gt;An app does not need to request any permissions in order to set itself up as a receiver of &lt;code&gt;Intent&lt;/code&gt;s&lt;/a&gt;.

&lt;div id=&#34;attachment_12117&#34; style=&#34;width: 361px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://www.eecs.berkeley.edu/~emc/papers/spsm4027-kantola.pdf&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12117&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/01/activity-service-hijacking.png&#34; alt=&#34;Activity/Service hijacking: watch out for the little devil in the system&#34; width=&#34;351&#34; height=&#34;153&#34; class=&#34;size-full wp-image-12117&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/01/activity-service-hijacking.png 351w, https://guardianproject.info/wp-content/uploads/2014/01/activity-service-hijacking-300x130.png 300w&#34; sizes=&#34;(max-width: 351px) 100vw, 351px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12117&#34; class=&#34;wp-caption-text&#34;&gt;
    Activity/Service hijacking: watch out for the little devil in the system
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Android, of course, does provide some added protections for cases like this. For very sensitive situations, an &lt;code&gt;Activity&lt;/code&gt; can be setup to only receive &lt;code&gt;Intent&lt;/code&gt;s from apps that meet certain criteria. &lt;a href=&#34;https://www.isecpartners.com/media/11991/isec_securing_android_apps.pdf&#34; target=&#34;_blank&#34;&gt;Android permissions can restrict other apps&lt;/a&gt; from sending &lt;code&gt;Intent&lt;/code&gt;s to any given exported &lt;code&gt;Activity&lt;/code&gt;. If a separate app wants to send an &lt;code&gt;Intent&lt;/code&gt; to an &lt;code&gt;Activity&lt;/code&gt; that has be set with a permission, then that app must include that permission in its manifest, thereby publishing that it is using that permission. This provides a good way publish an API for getting permission, but leaving it relatively open for other apps to use. Other kinds of controls can be based on two aspects of an app that the Android system enforces to remain the same: &lt;a href=&#34;http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html&#34; target=&#34;_blank&#34;&gt;the package name and the signing key&lt;/a&gt;. If either of those change, then Android considers it a different app altogether. The strictest control is handled by the “protection level”, which can be set to only allow either the system or apps signed by the same key to send &lt;code&gt;Intent&lt;/code&gt;s to a given &lt;code&gt;Activity&lt;/code&gt;. These security tools are useful in many situations, but leave lots of privacy-oriented use cases uncovered.&lt;/p&gt;

&lt;p&gt;There are some situations that need more flexibility without opening things up entirely. The first simple example is provided by our app &lt;a href=&#34;https://guardianproject.info/apps/pixelknot/&#34; target=&#34;_blank&#34;&gt;Pixelknot&lt;/a&gt;: it needs to send pictures through services that will not mess up the hidden data in the images. It has a trusted list of apps it will send to, based on apps that have proven to pass the images through unchanged. When the user goes to share the image from Pixelknot to an cloud storage app, the user will be prompted to choose from a list of installed apps that match the whitelist in Pixelknot. We could have implemented a permission and asked lots of app providers to implement it, but it seems a mammoth task to get lots of large companies like Dropbox and Google to include our specific permission.&lt;/p&gt;

&lt;p&gt;There are other situations that require even tighter restrictions that are available. The first example here comes from our OpenPGP app for Android. &lt;a href=&#34;https://guardianproject.info/code/gnupg/&#34; target=&#34;_blank&#34;&gt;Gnu Privacy Guard (GPG)&lt;/a&gt; provides cryptographic services to any app that requests it. When the app sends data to GPG to be encrypted, it needs to be sure that the data is actually going to GPG and not to some malware. For very sensitive situations, the Android-provided package name and signing key might not be enough to ensure that the correct app is receiving the unencrypted data. Many Android devices are still unpatched to protect against &lt;a href=&#34;https://threatpost.com/second-android-master-key-attack-surfaces/101297&#34; target=&#34;_blank&#34;&gt;master key bugs&lt;/a&gt;, and for people using Android in China, Iran, etc. where the Play Store is not allowed, they don’t get the exploit scanning provided by Google. Telecoms around the world have proved to be &lt;a href=&#34;https://arstechnica.com/gadgets/2012/12/the-checkered-slow-history-of-android-handset-updates/&#34; target=&#34;_blank&#34;&gt;bad at updating the software&lt;/a&gt; for the devices that they sell, &lt;a href=&#34;https://arstechnica.com/security/2013/04/wireless-carriers-deceptive-and-unfair&#34; target=&#34;_blank&#34;&gt;leaving many security problems unfixed&lt;/a&gt;. Alternative Android app stores are a very popular way to get apps. So far, the ones that we have seen provide minimal security and no malware scanning. &lt;a href=&#34;http://www.telecoms.com/57581/china-crucial-to-android/&#34; target=&#34;_blank&#34;&gt;In China&lt;/a&gt;, &lt;a href=&#34;http://www.insidemobileapps.com/2011/09/02/china-chinese-smartphone-ios-android-market/&#34; target=&#34;_blank&#34;&gt;Android is very popular&lt;/a&gt;, so this represents a lot of Android users.&lt;/p&gt;

&lt;p&gt;Another potential use case revolves around a media reporting app that relies on other apps to provide images and video as part of regular reports. This could be something like a citizen journalist editing app or a human rights reporting app. The Guardian Project develops a handful of apps designed to create media in these situations: &lt;a href=&#34;https://guardianproject.info/apps/obscuracam/&#34; target=&#34;_blank&#34;&gt;ObscuraCam&lt;/a&gt;, InformaCam, and an new secure camera app in the works that we are contributing to. We want InformaCam to work as a provider of verifiable media to any app. It generates a package of data that includes a cryptographic signature so that its authenticity can be verified. That means that the apps that transport the InformaCam data do not need to be trusted in order to guarantee the integrity of the uploaded InformaCam data. Therefore it does not make sense in this case for InformaCam to grant itself permissions to access other apps’ secured &lt;code&gt;Activity&lt;/code&gt;s. It would add to the maintenance load of the app without furthering the goals of the InformaCam project. Luckily there are other ways to address that need.&lt;/p&gt;

&lt;p&gt;The inverse of this situation is not true. The reporting app that gathers media and sends it to trusted destinations has higher requirements for validating the data it receives via &lt;code&gt;Intent&lt;/code&gt;s. If verifiable media is required, then this reporter app will want to only accept incoming media from InformaCam. Well-known human rights activists are often the target of custom malware designed to get information from their phones. For this example, a malware version of InformaCam could be designed to track all of the media that the user is sending to the human rights reporting app. To prevent this, the reporter app will want to only accept data from a list of trusted apps. When the user tries to feed media from the malware app to the reporting app, it would be rejected, alerting the user that something is amiss. If an reporting app wants to receive data only from InformaCam, it needs to have some checks setup to enforce that. The easiest way for the reporting app to implement those checks would be to add an Android permission to the receiving &lt;code&gt;Activity&lt;/code&gt;. But that requires the sending app, in the example above that is InformaCam, to implement the reporting app’s permission. Using permissions works for tailored interactions. InformaCam aims to bring tighter secure to all relevant interactions, so we need a different approach. While InformaCam could include some specific permissions, the aim is to have a single method that supports all the desired interactions. Having a single method here means less code to audit, less complexity, and fewer places for security bugs.&lt;/p&gt;

&lt;p&gt;We have started auditing the security of communication via &lt;code&gt;Intent&lt;/code&gt;s, while also working on various ideas to address the issues laid out so far. This will include laying out best-practices and defining gaps in the Android architecture. We plan on building the techniques that we find useful into reusable libraries to make it easy for others to also have more flexible and trusted interactions. When are the standard checks not enough? If the user has a malware version of an app that exploits master key bugs, then the signature on the app will be valid. If a check is based only on a package name, malware could use any given package name. Android enforces that only one app can be installed with a given package name, but if there are multiple apps with the same package name, Android will not prevent you from installing the malware version.&lt;/p&gt;

&lt;p&gt;&lt;div id=&#34;attachment_12120&#34; style=&#34;width: 160px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;http://www.pregnancyandbaby.com/the-hatch-blog/articles/935057/classic-vanilla-tofu-ice-pops-for-babies-from-ice-pop-joy&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12120&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2014/01/IcePopJoy-ClassicVanillaTofu-300x300.jpg&#34; alt=&#34;TOFU/POP: delicious vegan treat and clever software interaction!&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-medium wp-image-12120&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2014/01/IcePopJoy-ClassicVanillaTofu-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2014/01/IcePopJoy-ClassicVanillaTofu-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2014/01/IcePopJoy-ClassicVanillaTofu.jpg 450w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p id=&#34;caption-attachment-12120&#34; class=&#34;wp-caption-text&#34;&gt;
    TOFU/POP: delicious vegan treat and clever software interaction!
  &lt;/p&gt;
&lt;/div&gt;The strictest possible checks can be based on the hash of the whole APK, while tracking the signing key of a given APK is also often useful. These two data points are the most reliable ways to verify a given app. They can be tracked in two different ways: pinning and trust-on-first-use (TOFU/POP). Pinning means that a verified hash or signing key for the apps that need to be trusted is included in the app that must trust them. Then the trusting app can verify what it is sending or receiving&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Intent&lt;/code&gt;s from, the installed app is then compared to the pre-stored pinned value. This kind of pinning allows for checks like the &lt;code&gt;Signature&lt;/code&gt; permission level but based on a key that the app developer can select and include in the app. The built-in &lt;code&gt;Signature&lt;/code&gt; permissions are fixed on the signing key of the currently running app.&lt;/p&gt;

&lt;p&gt;TOFU/POP means Trust-On-First-Use/Persistence Of Pseudonym. In this model, popularized by SSH, the user marks a given hash or signing key as trusted the first time they use the app, without extended checks about that apps validity. That mark then describes a “pseudonym” for that app, since there is no verification process, and that pseudonym is remembered for comparing in future interactions. One big advantage of TOFU/POP is that the user has control over which apps to trust, and that trust relationship is created at the moment the user takes an action to start using the app that needs to be trusted. That makes it much easier to manage than using Android permissions, which must be managed by the app’s developer. A disadvantage is that the initial trust is basically a guess, and that leaves open a method to get malware in there. The problem of installing good software, and avoiding malware, is outside of the scope of securing inter-app communication. Secure app installation is best handled by the process that is actually installing the software, like the Google Play Store or &lt;a href=&#34;https://f-droid.org&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt; does.&lt;/p&gt;

&lt;p&gt;To build on the InformaCam example, in order to setup a trusted data flow between InformaCam and the reporting app, custom checks must be implemented on both the sender and the receiver. For the sender, InformaCam, it should be able to send to any app, but it should then remember the app that it is configured to send to and make sure its really only sending to that app. It would then use TOFU/POP with the hash as the data point. For the receiver, the reporting app, it should only accept incoming data from apps that it trusts. The receiver then includes a pin for the signing key, or if the app is being deployed to unupdated devices the pin can be based on the hash to work around master key exploits. From there on out, the receiving app checks against the stored app hashes or signing keys. For less security-sensitive situations, the received can rely on TOFU/POP on the first time that an app sends media.&lt;/p&gt;

&lt;p&gt;There are various versions of these ideas floating around in various apps, and we have some in the works. We are working now to hammer out which of these ideas are the most useful, then we will be focusing our development efforts there. We would love to hear about any related effort or libraries that are out there. And we are also interested to hear about entirely different approaches than what has been outlined here.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Four Ways InformaCam Powers Mobile Media Verification</title>
      <link>https://guardianproject.info/2014/01/06/four-ways-informacam-powers-mobile-media-verification/</link>
      <pubDate>Mon, 06 Jan 2014 15:14:16 -0400</pubDate>
      
      <guid>https://guardianproject.info/2014/01/06/four-ways-informacam-powers-mobile-media-verification/</guid>
      <description>&lt;p&gt;&lt;em&gt;Note: A big discussion topic of 2013 was about how hard cryptography and security is for average people, journalists and others. With that in mind, we’d like to sub-title this post “Making Mobile Crypto Easy for Eyewitnesses”, as the InformaCam software and process described below includes the full gamut of security and cryptography tools all behind a streamlined, and even attractive application user experience we are quite proud of…. &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One of the primary goals of the &lt;a href=&#34;https://guardianproject.info/informa&#34;&gt;InformaCam&lt;/a&gt; project (now in &lt;a href=&#34;https://guardianproject.info/informa&#34;&gt;public beta!&lt;/a&gt;) is to create an environment where, when it comes to photos and video captured on smartphones, people and organizations can trust what they see. Faked photos and videos, whether intended to be humorous or malicious, are all too common online, especially in times of crisis. Thus, the software that been developed works to ensure the full, complete original photo or video captured of an event, can safely reach the people who need to see it, without it first being filtered, modified, cropped, trimmed or otherwise manipulated.&lt;/p&gt;

&lt;p&gt;There are four ways this is achieved:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;At point of capture, secure storage and analysis of the media file itself to begin a chain of custody, create a means of verifying media pixel values directly, and defend against tampering by malicious apps.&lt;/li&gt;
&lt;li&gt;Gather corroborating metadata points using the device’s built-in sensors to establish an environmental context.&lt;/li&gt;
&lt;li&gt;Use a secure method of transmission to a secure repository to continue chain of custody, and to defend against network surveillance, intrusion and filtering.&lt;/li&gt;
&lt;li&gt;Provide a means, using open tools, to verify media was not tampered with and to view and analyze corroborating metadata.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s dig deeper into each of these links of the verification chain.&lt;/p&gt;

&lt;p&gt;&lt;strong style=&#34;line-height: 1.5em;&#34;&gt;Secure Storage and Analysis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When InformaCam is activated, it begins to actively monitor the device for any new photos or videos captured by the built-in camera software. InformaCam does not support importing already captured photos or videos. It must actively detect a new photo or video is captured by the active camera software on the device. As soon as it detects a new capture, it begins the following ingest process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Import the media file into an encrypted storage system, on the device, but only accessible by the InformaCam app. This ensures the file is not modified by any other application on the device.&lt;/li&gt;
&lt;li&gt;Generate and securely store a cryptographic hash value, or checksum, of the pixels of the media file, either the single photo or collectively for all the frames of the video. Any change to the pixels of the media files (“photoshopping”, removal of frames, editing, or other modifications) would result in a change to the hash value.&lt;/li&gt;
&lt;li&gt;Delete the source photo or video from its original location on the device’s shared storage, to keep it hidden from plain view in high-risk situations. Since it has been imported to encrypted storage, this version is no longer needed, and not trustworthy, ultimately.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With this three step process we have, as near as possible to the time and place of capture, ensured we have the media file in a secure storage location, and have generated a unique hash value to verify the file against later.&lt;/p&gt;

&lt;p&gt;The hash value, which is just a short series of hexadecimal characters, can also be immediately shared to a third-party using email, text messaging, Twitter or other public notary system. The sooner it can be in the “public record” the better, to establish that the media file existed in this exact state at this time. This concept of a notary is important, and one we seek to develop more, to ensure the notary is also a trusted, tamper-proof service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Corroborating Sensor Metadata&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In addition to the media file itself and the cryptographic hash, an enormous amount of additional metadata is also captured during the window of time that InformaCam is activated and monitoring for the digital media creation events. We don’t discuss all of them here, but in short, InformaCam uses &lt;a href=&#34;http://developer.android.com/guide/topics/sensors/sensors_overview.html&#34;&gt;all available network, radio, motion and environmental sensors built into modern smartphones&lt;/a&gt; to gather corroborating data points that can be used to establish credibility. This bundle of metadata is known as J3M, or &lt;a href=&#34;https://dev.guardianproject.info/projects/informacam/wiki/JSON_Mobile_Media_Metadata_(J3M)&#34;&gt;JSON Evidentiary Mobile Media Metadata&lt;/a&gt;, with JSON (Javascript Object Notation) being the technical format it is stored in. When the media file is exported for verification, this data is bundled into the media file itself, and cryptographically signed and encrypted to ensure it cannot be modified or otherwise used by unauthorized third-parties.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Secure Repository Submission&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;line-height: 1.5em;&#34;&gt;When the owner of the device running InformaCam with the media file on it decides to share it with an organization for verification and use, they can send it using InformaCam’s built-in Secure Share mechanism. This enables the media file and embedded metadata to be d&lt;/span&gt;irectly sent to an &lt;a href=&#34;https://github.com/guardianproject/InformaRepo&#34;&gt;InformaCam Repository&lt;/a&gt; over a secure connection. While the connection uses the public internet, it is sent directly between the device and the repository inside of a secure, tamper proof tunnel powered by software known as &lt;a href=&#34;https://torproject.org&#34;&gt;Tor&lt;/a&gt;. This connection is configured using an &lt;a href=&#34;https://dev.guardianproject.info/projects/informacam/wiki/InformaCam_Trusted_Destination_(ICTD)&#34;&gt;InformaCam Trusted Definition configuration file&lt;/a&gt; which contains the necessary network addresses and credentials.&lt;/p&gt;

&lt;p&gt;The secure repository is expected to be run on a Linux server that is properly secured with strong access controls, firewalls, encrypted disk storage, and all other available mechanisms well known for securing desktop or server systems. It should not be placed on the public Internet, but only exposed through the Tor network connection. It should be hosted in a location that can be physically secured by the organization, as much as possible, and that could not be accessed without the organization being aware. This means that third party data centers should not be used, as access to these machines by law enforcement or malicious hackers can be accomplished without notice to the customers.&lt;/p&gt;

&lt;p&gt;However, as long as the media hash value itself is maintained in a secure manner, possibly even printed out and stored in an offline physically secure system, the state of the media file itself can be easily verified using common tools.&lt;/p&gt;

&lt;p&gt;&lt;strong style=&#34;line-height: 1.5em;&#34;&gt;Open Verification and Analysis Tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the media and metadata have been received in the secure repository, the organization managing it can used the &lt;a href=&#34;https://guardianproject.info/informa&#34;&gt;InformaCam Analyzer and Dashboard&lt;/a&gt; software to process and verify the media file. All of the steps below are automatically done by the software, but can also be manually done by a competent, trained technician. These are the steps taken:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Export the J3M corroborating metadata from the media file. It will be encrypted to the organization’s public cryptographic key, so it will first need to be decrypted, and also the signature of the data verified against the sender’s public key, which the organization previously obtained. This step is accomplished using the free and open-source &lt;a href=&#34;http://gnupg.org&#34;&gt;GnuPG software tools&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Run the media verification process on the photo or video file. This is accomplished using a tool in the InformaCam Analyzer software, which also includes the free and open-source &lt;a href=&#34;http://www.ffmpeg.org/&#34;&gt;FFMPEG media engine&lt;/a&gt; software. The cryptographic hash function is run again, this time on the server-side on not on the device, and the resulting hash value from the pixel values is displayed. This must match the hash value generated on the device, which should have been shared via private or public notary (SMS, email, Twitter, etc), and is also stored in the J3M metadata obtained in step #1.&lt;/li&gt;
&lt;li&gt;View the J3M metadata directly or import into the &lt;a href=&#34;https://j3m.info/submission/1110ca88837d710d9c43d49f48afce0b/&#34;&gt;InformaCam Dashboard system&lt;/a&gt; for verification. The metadata will include information such as GPS location, cellular network location, nearby bluetooth and wifi devices, compass headings, altitude, temperature and more. This data can be used to match against the time and place the media claims to be from.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Four Ways, In Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Through the four ways described above, the InformCam system works to capture and safeguard both media and metadata at all points along the way, between the device and the repository. Cryptographic functions and features provide much of the power behind this, but relying on mathematics alone does not tell the whole store. By combining the corroborating metadata and open tools for analysis, we ensure that the context of the photo or video, and the means to verify the entire package are also readily available as part of the verification process.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Integrating Crypto Identities with Android</title>
      <link>https://guardianproject.info/2013/12/28/integrating-crypto-identities-with-android/</link>
      <pubDate>Sat, 28 Dec 2013 19:42:56 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/12/28/integrating-crypto-identities-with-android/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Alberti_cipher_disk&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg&#34; alt=&#34;alberti cipher disk&#34; width=&#34;50&#34; height=&#34;50&#34; class=&#34;alignleft size-thumbnail wp-image-3079&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg 245w&#34; sizes=&#34;(max-width: 50px) 100vw, 50px&#34; /&gt;&lt;/a&gt;ver the past couple of years, Android has included a central database for managing information about people, it is known as the &lt;a href=&#34;https://developer.android.com/reference/android/provider/ContactsContract.html&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;ContactsContract&lt;/code&gt;&lt;/a&gt; (that’s a mouthful). Android then provides the &lt;em&gt;People&lt;/em&gt; app and reusable interface chunks to choose contacts that work with all the information in the &lt;code&gt;ContactsContract&lt;/code&gt; database. Any time that you are adding an account in the &lt;em&gt;Settings&lt;/em&gt; app, you are setting up this integration. You can see it with Google services, &lt;em&gt;Skype&lt;/em&gt;, &lt;em&gt;Facebook&lt;/em&gt;, and many more. This system has a lot of advantages, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a unified user experience for finding and managing data about people&lt;/li&gt;
&lt;li&gt;apps can launch common interface dialogs and screens for working with that database without having to write custom versions (launching &lt;code&gt;Activity&lt;/code&gt;s via &lt;code&gt;Intent&lt;/code&gt;s&lt;/li&gt;
&lt;li&gt;streamlined methods for building custom UIs based on the contacts database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With our work porting &lt;a href=&#34;https://www.gnupg.org/&#34; target=&#34;_blank&#34;&gt;GnuPG&lt;/a&gt; to Android, we want &lt;a href=&#34;https://guardianproject.info/code/gnupg/&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;Gnu Privacy Guard&lt;/em&gt;&lt;/a&gt; for Android to be fully integrated into the Android experience. &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; registers itself as a handler for all OpenPGP file and data types in Android, so users can work with these files using standard Android methods like Share/Send buttons. Or users can start by finding the person to encrypt to in the &lt;em&gt;People&lt;/em&gt; app, then choosing the file. These flows make it intuitive to Android users, and means we have to write less code because it taps into existing Android systems. With the past release, v0.2, we laid the foundations for having the GnuPG keyring integrated into this contacts database. The next release, v0.3 will improve contacts integration a lot.&lt;/p&gt;

&lt;div id=&#34;attachment_12225&#34; style=&#34;width: 560px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/gpg-contacts-integration.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12225&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/gpg-contacts-integration-1024x640.png&#34; alt=&#34;All of these contacts come from the GnuPG keyring being synced to the ContactsContract.  Nathan&#39;s contact is made up of combined info from Gnu Privacy Guard and Google. To encrypt a file to the author, select Encrypt File to... on his contact page.&#34; width=&#34;550&#34; height=&#34;343&#34; class=&#34;size-large wp-image-12225&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/gpg-contacts-integration-1024x640.png 1024w, https://guardianproject.info/wp-content/uploads/2013/12/gpg-contacts-integration-300x187.png 300w&#34; sizes=&#34;(max-width: 550px) 100vw, 550px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12225&#34; class=&#34;wp-caption-text&#34;&gt;
    All of these contacts come from the GnuPG keyring being synced to the &lt;code&gt;ContactsContract&lt;/code&gt;. Nathan’s contact is made up of combined info from &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; and Google. To encrypt a file to the author, select &lt;strong&gt;Encrypt file to…&lt;/strong&gt; on his contact page.
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;One of the concerns that has been voiced about integrating with the &lt;code&gt;ContactsContract&lt;/code&gt; database is that all the data put there will be then uploaded to the other accounts, like the Google account of the phone, or other accounts. As far as we can tell, there is no automatic syncing of data between accounts in the &lt;code&gt;ContactsContract&lt;/code&gt;, instead it is a system of individual, local databases. We have not confirmed this with a code audit whether there is any data leakage from &lt;code&gt;ContactsContract&lt;/code&gt;, and would love to hear more information on that. There is a layer of matching rules for locally merging those local databases into a single, unified view of that data. A good example of this unified data view in action is the built-in &lt;em&gt;People&lt;/em&gt; app. It will show data from all of the local databases, and it will link profiles together in a single view based on programmatic rules that look at email addresses, names, etc. In any case, &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; only syncs one way. It treats the GnuPG keyring as canonical and clones the GnuPG keyring contacts to the &lt;code&gt;ContactsContract&lt;/code&gt; whenever a sync is run. The sync process never reads from the &lt;code&gt;ContactsContract&lt;/code&gt;, and currently no data is ever imported from it. So at the very least, the ContactsContract should not serve as a point to inject data into the GnuPG keyring.&lt;/p&gt;

&lt;div id=&#34;attachment_12211&#34; style=&#34;width: 330px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/ContactsContract.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12211&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/ContactsContract.png&#34; alt=&#34;The ContactsContract builds up the complete view of all contacts based on RawContacts provided by each account type, which are in turn built up of standard data types like name, email, phone number, etc.&#34; width=&#34;320&#34; height=&#34;189&#34; class=&#34;size-full wp-image-12211&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/ContactsContract.png 320w, https://guardianproject.info/wp-content/uploads/2013/12/ContactsContract-300x177.png 300w&#34; sizes=&#34;(max-width: 320px) 100vw, 320px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12211&#34; class=&#34;wp-caption-text&#34;&gt;
    The &lt;code&gt;ContactsContract&lt;/code&gt; builds up the complete view of all contacts based on &lt;code&gt;RawContacts&lt;/code&gt; provided by each account type, which are in turn built up of standard data types like name, email, phone number, etc.
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;One unexplored idea is for apps that need to use crypto to use only the standard Android contacts API to fetch crypto identity information like public keys and fingerprints. For example, PGP email app &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.fsck.k9&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;K-9&lt;/em&gt;&lt;/a&gt; could look up OpenPGP info at the same time it is looking in the contacts database for email addresses. It probably even makes sense for &lt;em&gt;K-9&lt;/em&gt; to offload even more to an OpenPGP provider, and have &lt;em&gt;K-9&lt;/em&gt; just query the PGP provider whether there is a signing key available, whether the receiver has a PGP key, etc.&lt;/p&gt;

&lt;p&gt;It is also tempting to think about using a similar technique for storing other types of keys like OTR keys for secure chat. The hard part is that OTR has no method built-in to the key for verifying whether that key is trusted. OpenPGP has key signing and the Web-of-Trust, with all of its issues, but the OpenPGP security model is designed around untrusted methods of moving public key data around. Using the contacts database for moving around public key material for later verification will work equally well for OTR, OpenPGP, etc.&lt;/p&gt;

&lt;p&gt;On a similar note, we are also working with Dominik Schürmann and the &lt;em&gt;K-9&lt;/em&gt; devs to create &lt;a href=&#34;https://dev.guardianproject.info/projects/gpgandroid/wiki/API_Sketch&#34; target=&#34;_blank&#34;&gt;a common Android API for a generic OpenPGP provider&lt;/a&gt;. This is similar to the contacts system in recent versions of Android in that there is a single, central contacts system that any app can tap into for managing data related to people.&lt;/p&gt;

&lt;p&gt;We have decided to go with Dominik Schürmann’s approach of using an AIDL API to an Android Service. AIDL does have some downsides mostly around it being overcomplicated. But AIDL is the main Android method for inter-process communication with &lt;code&gt;Service&lt;/code&gt;s, so we are stuck with it, more or less. The beautiful thing is that this arrangement will make it possible for apps to fully offload the crypto handling to the &lt;code&gt;Service&lt;/code&gt;, including all the required GUI bits like passphrase prompting, progress dialog overlays, key selection, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://csunplugged.org/public-key-encryption&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/public-key-encryption-cartoon-300x292.jpg&#34; alt=&#34;contacts with keys&#34; width=&#34;300&#34; height=&#34;292&#34; class=&#34;alignright size-medium wp-image-12212&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/public-key-encryption-cartoon-300x292.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/12/public-key-encryption-cartoon.jpg 414w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;For example of how this idea would work, we can look at &lt;em&gt;K-9&lt;/em&gt; email again. If an incoming email includes a public key or fingerprint, either of these can be sent to the OpenPGP provider for importing. An &lt;code&gt;OPENPGP4FPR:&lt;/code&gt; URI will trigger downloading the public key from a keyserver. A public key contained in an attached file will be received by the OpenPGP provider via the Android file associations, which will then prompts the user to import it. When &lt;em&gt;K-9&lt;/em&gt; goes to send a OpenPGP-encrypted email to that new key, it checks the ContactsContract to see whether the recipient has a OpenPGP key. If so, it sends the email to the OpenPGP provider to be encrypted. The OpenPGP provider can then look up which key to use in it’s local keyring by using the recipient’s email address. If there are multiple keys for that email address, it prompts the user to choose. It could also base it’s choice on the OpenPGP trust level for that key.&lt;/p&gt;

&lt;p&gt;These are currently all ideas for how GnuPG can be integrated into Android. Some of these are implemented and ready for you to try out on your device. The common OpenPGP provider idea is still very much a work in progress.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Signing Keys</title>
      <link>https://guardianproject.info/signing-keys/</link>
      <pubDate>Mon, 16 Dec 2013 14:01:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/signing-keys/</guid>
      <description>

&lt;p&gt;We have a number of signing keys used for signing software releases. There are a number of different keys because there are a number of different ways of signing software. This list aims to be the comprehensive list of all the release signing keys that we use.&lt;/p&gt;

&lt;h2 id=&#34;openpgp&#34;&gt;OpenPGP&lt;/h2&gt;

&lt;p&gt;We sign all of our releases using OpenPGP detached binary signatures in a &lt;code&gt;.sig&lt;/code&gt; file.&lt;/p&gt;

&lt;h4 id=&#34;people-signing-official-releases&#34;&gt;People signing official releases&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0xE9E28DEA00AA5556&#34; target=&#34;_blank&#34;&gt;Hans-Christoph Steiner &amp;lt;&amp;#104;&amp;#x61;&amp;#110;&amp;#x73;&amp;#64;&amp;#x67;&amp;#117;&amp;#x61;&amp;#114;&amp;#x64;&amp;#105;&amp;#x61;&amp;#110;&amp;#x70;&amp;#114;&amp;#x6f;&amp;#106;&amp;#x65;&amp;#99;&amp;#x74;&amp;#46;&amp;#x69;&amp;#110;&amp;#x66;&amp;#111;&amp;gt;&lt;br /&gt;&lt;code&gt;EE66 20C7 136B 0D2C 456C  0A4D E9E2 8DEA 00AA 5556&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0x9F0FE587374bbe81&#34; target=&#34;_blank&#34;&gt;Hans-Christoph Steiner &amp;lt;&amp;#104;&amp;#x61;&amp;#110;&amp;#x73;&amp;#64;&amp;#x67;&amp;#117;&amp;#x61;&amp;#114;&amp;#x64;&amp;#105;&amp;#x61;&amp;#110;&amp;#x70;&amp;#114;&amp;#x6f;&amp;#106;&amp;#x65;&amp;#99;&amp;#x74;&amp;#46;&amp;#x69;&amp;#110;&amp;#x66;&amp;#111;&amp;gt; (deprecated)&lt;br /&gt;&lt;code&gt;5E61 C878 0F86 295C E17D 8677 9F0F E587 374B BE81&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0xA801183E69B37AA9&#34; target=&#34;_blank&#34;&gt;Nathan Freitas &amp;lt;&amp;#x6e;a&amp;#x74;&amp;#x68;a&amp;#x6e;&amp;#64;g&amp;#x75;&amp;#97;r&amp;#x64;i&amp;#x61;&amp;#x6e;p&amp;#x72;&amp;#111;j&amp;#x65;&amp;#99;t&amp;#x2e;i&amp;#x6e;&amp;#x66;o&amp;gt;&lt;br /&gt;&lt;code&gt;BBE2 0FD6 DA48 A3DD 4CC7  DF41 A801 183E 69B3 7AA9&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0x97d05003da731a17&#34; target=&#34;_blank&#34;&gt;Abel Luck &amp;lt;&amp;#x61;&amp;#x62;&amp;#101;l&amp;#64;g&amp;#x75;&amp;#x61;&amp;#x72;&amp;#100;ia&amp;#x6e;&amp;#x70;&amp;#x72;&amp;#111;je&amp;#x63;&amp;#x74;&amp;#x2e;&amp;#105;nf&amp;#x6f;&amp;gt;&lt;br /&gt;&lt;code&gt;1893 0780 A043 3A61 B8B2  17D6 97D0 5003 DA73 1A17&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;launchpad-ubuntu-package-archive-ppa&#34;&gt;Launchpad Ubuntu Package Archive (PPA)&lt;/h4&gt;

&lt;p&gt;For easy installation on Ubuntu/Mint/etc. of our official releases, as well as backported software that we use, we have an Launchpad PPA with its own signing key provided by Launchpad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0xF50EADDD2234F563&#34; target=&#34;_blank&#34;&gt;Launchpad PPA for Guardian Project&lt;br /&gt;&lt;code&gt;6B80 A842 07B3 0AC9 DEE2  35FE F50E ADDD 2234 F563&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;android-apk&#34;&gt;Android APK&lt;/h2&gt;

&lt;p&gt;We currently have two signing keys: a 4096-bit RSA key used for all new apps, and a 1024-bit RSA key that we use for all apps that we first released before 2014. You can download the whole public keys and verify it using the OpenPGP signature:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4096-bit RSA&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-certificate.pem&#34;&gt;guardianproject-rsa4096-signing-certificate.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-certificate.pem.sig&#34;&gt;guardianproject-rsa4096-signing-certificate.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-publickey.pem&#34;&gt;guardianproject-rsa4096-signing-publickey.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-publickey.pem.sig&#34;&gt;guardianproject-rsa4096-signing-publickey.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can see a survey of APKs signed by this key on Android Observatory:&lt;br /&gt;
&lt;a href=&#34;https://androidobservatory.org/cert/4CB3F539F63B32ACA13B4450638D605F531D4F4A&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://androidobservatory.org/cert/4CB3F539F63B32ACA13B4450638D605F531D4F4A&#34;&gt;https://androidobservatory.org/cert/4CB3F539F63B32ACA13B4450638D605F531D4F4A&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1024-bit RSA&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa1024-signing-key.cer&#34;&gt;guardianproject-rsa1024-signing-key.cer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa1024-signing-key.cer.sig&#34;&gt;guardianproject-rsa1024-signing-key.cer.sig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can see a survey of APKs signed by this key on Android Observatory:&lt;br /&gt;
&lt;a href=&#34;https://androidobservatory.org/cert/9F1960C9584FEE5E166419354985A2B5FE413570&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://androidobservatory.org/cert/9F1960C9584FEE5E166419354985A2B5FE413570&#34;&gt;https://androidobservatory.org/cert/9F1960C9584FEE5E166419354985A2B5FE413570&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;fdroid-repo&#34;&gt;FDroid Repo&lt;/h2&gt;

&lt;p&gt;Our official releases are also posted on our own FDroid repo, which is accessible at &lt;a href=&#34;https://guardianproject.info/fdroid/repo&#34;&gt;https://guardianproject.info/fdroid/repo&lt;/a&gt;. The signing key for that repo is available here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-fdroid-repo-signing-key.pem&#34;&gt;guardianproject-rsa4096-fdroid-repo-signing-key.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-fdroid-repo-signing-key.pem.sig&#34;&gt;guardianproject-rsa4096-fdroid-repo-signing-key.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fingerprints for this signing key are:&lt;/p&gt;

&lt;pre&gt;Owner: &amp;#69;&amp;#x4d;&amp;#65;&amp;#x49;&amp;#76;&amp;#x41;D&amp;#x44;R&amp;#x45;S&amp;#x53;=&amp;#x72;o&amp;#x6f;t&amp;#x40;g&amp;#x75;a&amp;#x72;d&amp;#105;&amp;#x61;&amp;#110;&amp;#x70;&amp;#114;&amp;#x6f;&amp;#106;&amp;#x65;c&amp;#x74;.&amp;#x69;n&amp;#x66;o, CN=guardianproject.info, O=Guardian Project, OU=FDroid Repo, L=New York, ST=New York, C=US
Issuer: &amp;#69;&amp;#x4d;&amp;#65;&amp;#x49;L&amp;#x41;D&amp;#x44;R&amp;#x45;S&amp;#x53;=&amp;#x72;o&amp;#111;&amp;#x74;&amp;#64;&amp;#x67;&amp;#117;&amp;#x61;r&amp;#x64;i&amp;#x61;n&amp;#x70;r&amp;#x6f;j&amp;#x65;c&amp;#116;&amp;#x2e;&amp;#105;&amp;#x6e;f&amp;#x6f;, CN=guardianproject.info, O=Guardian Project, OU=FDroid Repo, L=New York, ST=New York, C=US
Serial number: a397b4da7ecda034
Valid from: Thu Jun 26 15:39:18 EDT 2014 until: Sun Nov 10 14:39:18 EST 2041
Certificate fingerprints:
 MD5:  8C:BE:60:6F:D7:7E:0D:2D:B8:06:B5:B9:AD:82:F5:5D
 SHA1: 63:9F:F1:76:2B:3E:28:EC:CE:DB:9E:01:7D:93:21:BE:90:89:CD:AD
 SHA256: B7:C2:EE:FD:8D:AC:78:06:AF:67:DF:CD:92:EB:18:12:6B:C0:83:12:A7:F2:D6:F3:86:2E:46:01:3C:7A:61:35
 Signature algorithm name: SHA1withRSA
 Version: 1
&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Signing Keys</title>
      <link>https://guardianproject.info/signing-keys/</link>
      <pubDate>Mon, 16 Dec 2013 14:01:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/signing-keys/</guid>
      <description>

&lt;p&gt;We have a number of signing keys used for signing software releases. There are a number of different keys because there are a number of different ways of signing software. This list aims to be the comprehensive list of all the release signing keys that we use.&lt;/p&gt;

&lt;h2 id=&#34;openpgp&#34;&gt;OpenPGP&lt;/h2&gt;

&lt;p&gt;We sign all of our releases using OpenPGP detached binary signatures in a &lt;code&gt;.sig&lt;/code&gt; file.&lt;/p&gt;

&lt;h4 id=&#34;people-signing-official-releases&#34;&gt;People signing official releases&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0xE9E28DEA00AA5556&#34; target=&#34;_blank&#34;&gt;Hans-Christoph Steiner &amp;lt;&amp;#104;&amp;#x61;&amp;#110;&amp;#x73;&amp;#64;&amp;#x67;&amp;#117;&amp;#x61;&amp;#114;&amp;#x64;&amp;#105;&amp;#x61;&amp;#110;&amp;#x70;&amp;#114;&amp;#x6f;&amp;#106;&amp;#x65;&amp;#99;&amp;#x74;&amp;#46;&amp;#x69;&amp;#110;&amp;#x66;&amp;#111;&amp;gt;&lt;br /&gt;&lt;code&gt;EE66 20C7 136B 0D2C 456C  0A4D E9E2 8DEA 00AA 5556&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0x9F0FE587374bbe81&#34; target=&#34;_blank&#34;&gt;Hans-Christoph Steiner &amp;lt;&amp;#104;&amp;#x61;&amp;#110;&amp;#x73;&amp;#64;&amp;#x67;&amp;#117;&amp;#x61;&amp;#114;&amp;#x64;&amp;#105;&amp;#x61;&amp;#110;&amp;#x70;&amp;#114;&amp;#x6f;&amp;#106;&amp;#x65;&amp;#99;&amp;#x74;&amp;#46;&amp;#x69;&amp;#110;&amp;#x66;&amp;#111;&amp;gt; (deprecated)&lt;br /&gt;&lt;code&gt;5E61 C878 0F86 295C E17D 8677 9F0F E587 374B BE81&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0xA801183E69B37AA9&#34; target=&#34;_blank&#34;&gt;Nathan Freitas &amp;lt;&amp;#x6e;a&amp;#x74;&amp;#x68;a&amp;#x6e;&amp;#64;g&amp;#x75;&amp;#97;r&amp;#x64;i&amp;#x61;&amp;#x6e;p&amp;#x72;&amp;#111;j&amp;#x65;&amp;#99;t&amp;#x2e;i&amp;#x6e;&amp;#x66;o&amp;gt;&lt;br /&gt;&lt;code&gt;BBE2 0FD6 DA48 A3DD 4CC7  DF41 A801 183E 69B3 7AA9&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0x97d05003da731a17&#34; target=&#34;_blank&#34;&gt;Abel Luck &amp;lt;&amp;#x61;&amp;#x62;&amp;#101;l&amp;#64;g&amp;#x75;&amp;#x61;&amp;#x72;&amp;#100;ia&amp;#x6e;&amp;#x70;&amp;#x72;&amp;#111;je&amp;#x63;&amp;#x74;&amp;#x2e;&amp;#105;nf&amp;#x6f;&amp;gt;&lt;br /&gt;&lt;code&gt;1893 0780 A043 3A61 B8B2  17D6 97D0 5003 DA73 1A17&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;launchpad-ubuntu-package-archive-ppa&#34;&gt;Launchpad Ubuntu Package Archive (PPA)&lt;/h4&gt;

&lt;p&gt;For easy installation on Ubuntu/Mint/etc. of our official releases, as well as backported software that we use, we have an Launchpad PPA with its own signing key provided by Launchpad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://keys.openpgp.org/search?q=0xF50EADDD2234F563&#34; target=&#34;_blank&#34;&gt;Launchpad PPA for Guardian Project&lt;br /&gt;&lt;code&gt;6B80 A842 07B3 0AC9 DEE2  35FE F50E ADDD 2234 F563&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;android-apk&#34;&gt;Android APK&lt;/h2&gt;

&lt;p&gt;We currently have two signing keys: a 4096-bit RSA key used for all new apps, and a 1024-bit RSA key that we use for all apps that we first released before 2014. You can download the whole public keys and verify it using the OpenPGP signature:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4096-bit RSA&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-certificate.pem&#34;&gt;guardianproject-rsa4096-signing-certificate.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-certificate.pem.sig&#34;&gt;guardianproject-rsa4096-signing-certificate.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-publickey.pem&#34;&gt;guardianproject-rsa4096-signing-publickey.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-signing-publickey.pem.sig&#34;&gt;guardianproject-rsa4096-signing-publickey.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can see a survey of APKs signed by this key on Android Observatory:&lt;br /&gt;
&lt;a href=&#34;https://androidobservatory.org/cert/4CB3F539F63B32ACA13B4450638D605F531D4F4A&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://androidobservatory.org/cert/4CB3F539F63B32ACA13B4450638D605F531D4F4A&#34;&gt;https://androidobservatory.org/cert/4CB3F539F63B32ACA13B4450638D605F531D4F4A&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1024-bit RSA&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa1024-signing-key.cer&#34;&gt;guardianproject-rsa1024-signing-key.cer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa1024-signing-key.cer.sig&#34;&gt;guardianproject-rsa1024-signing-key.cer.sig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can see a survey of APKs signed by this key on Android Observatory:&lt;br /&gt;
&lt;a href=&#34;https://androidobservatory.org/cert/9F1960C9584FEE5E166419354985A2B5FE413570&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://androidobservatory.org/cert/9F1960C9584FEE5E166419354985A2B5FE413570&#34;&gt;https://androidobservatory.org/cert/9F1960C9584FEE5E166419354985A2B5FE413570&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;fdroid-repo&#34;&gt;FDroid Repo&lt;/h2&gt;

&lt;p&gt;Our official releases are also posted on our own FDroid repo, which is accessible at &lt;a href=&#34;https://guardianproject.info/fdroid/repo&#34;&gt;https://guardianproject.info/fdroid/repo&lt;/a&gt;. The signing key for that repo is available here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-fdroid-repo-signing-key.pem&#34;&gt;guardianproject-rsa4096-fdroid-repo-signing-key.pem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/guardianproject-rsa4096-fdroid-repo-signing-key.pem.sig&#34;&gt;guardianproject-rsa4096-fdroid-repo-signing-key.pem.sig&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fingerprints for this signing key are:&lt;/p&gt;

&lt;pre&gt;Owner: &amp;#69;&amp;#x4d;&amp;#65;&amp;#x49;&amp;#76;&amp;#x41;D&amp;#x44;R&amp;#x45;S&amp;#x53;=&amp;#x72;o&amp;#x6f;t&amp;#x40;g&amp;#x75;a&amp;#x72;d&amp;#105;&amp;#x61;&amp;#110;&amp;#x70;&amp;#114;&amp;#x6f;&amp;#106;&amp;#x65;c&amp;#x74;.&amp;#x69;n&amp;#x66;o, CN=guardianproject.info, O=Guardian Project, OU=FDroid Repo, L=New York, ST=New York, C=US
Issuer: &amp;#69;&amp;#x4d;&amp;#65;&amp;#x49;L&amp;#x41;D&amp;#x44;R&amp;#x45;S&amp;#x53;=&amp;#x72;o&amp;#111;&amp;#x74;&amp;#64;&amp;#x67;&amp;#117;&amp;#x61;r&amp;#x64;i&amp;#x61;n&amp;#x70;r&amp;#x6f;j&amp;#x65;c&amp;#116;&amp;#x2e;&amp;#105;&amp;#x6e;f&amp;#x6f;, CN=guardianproject.info, O=Guardian Project, OU=FDroid Repo, L=New York, ST=New York, C=US
Serial number: a397b4da7ecda034
Valid from: Thu Jun 26 15:39:18 EDT 2014 until: Sun Nov 10 14:39:18 EST 2041
Certificate fingerprints:
 MD5:  8C:BE:60:6F:D7:7E:0D:2D:B8:06:B5:B9:AD:82:F5:5D
 SHA1: 63:9F:F1:76:2B:3E:28:EC:CE:DB:9E:01:7D:93:21:BE:90:89:CD:AD
 SHA256: B7:C2:EE:FD:8D:AC:78:06:AF:67:DF:CD:92:EB:18:12:6B:C0:83:12:A7:F2:D6:F3:86:2E:46:01:3C:7A:61:35
 Signature algorithm name: SHA1withRSA
 Version: 1
&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Keys, signatures, certificates, verifications, etc. What are all these for?</title>
      <link>https://guardianproject.info/2013/12/12/keys-signatures-certificates-verifications-etc.-what-are-all-these-for/</link>
      <pubDate>Thu, 12 Dec 2013 13:20:09 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/12/12/keys-signatures-certificates-verifications-etc.-what-are-all-these-for/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/key.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/key-150x150.jpg&#34; alt=&#34;portable shared security token&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-12129&#34; /&gt;&lt;/a&gt;For the past two years, we have been thinking about how to make it easier for anyone to achieve private communications. One particular focus has been on the “security tokens” that are required to make private communications systems work. This research area is called internally &lt;a href=&#34;https://dev.guardianproject.info/projects/psst/wiki/PSST&#34; title=&#34;PSST Wiki&#34; target=&#34;_blank&#34;&gt;Portable Shared Security Tokens aka PSST&lt;/a&gt;. All of the privacy tools that we are working on require “keys” and “signatures”, to use the language of cryptography, and these are the core of what “security tokens” are. One thing we learned a lot about is how to portray and discuss tools for private or anonymous communications to people who just want to communicate and are not interested in technical discussion. This is becoming a central issue among a lot of people working to make usable privacy tools.&lt;/p&gt;

&lt;p&gt;The widely established way of talking about privacy tools comes from the lingo of the underlying methods: cryptography, networking, etc. We talk about public and private keys, signing, validation, verification, key exchange, certificates, and fingerprints. In order for cryptography to work, keys need to be marked whether they are verified or not. &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/public_key_cryptography_sm.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/public_key_cryptography_sm-300x190.png&#34; alt=&#34;hide the guts of what is happening&#34; width=&#34;300&#34; height=&#34;190&#34; class=&#34;alignleft size-medium wp-image-12135&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/public_key_cryptography_sm-300x190.png 300w, https://guardianproject.info/wp-content/uploads/2013/12/public_key_cryptography_sm.png 500w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;Few computers users understand what these terms are referring to, even highly technical people who regularly use encryption do not know the meaning of all these things, nor should they. This is a low level detail that is not important to how the vast majority of users understand privacy in computers. Keys and verification are far too abstract to be generally understandable, and what other kind of key has a fingerprint? Even more so, few people can tell you the difference between validation and verification when it comes to keys, signatures and certificates. The software should not be exposing all this, but instead should be minimizing the complexity as much as possible, and providing as simple a user experience as possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Defining the Concepts that Define the Experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A key part of defining that simple user experience is defining the core concepts that the software is organized around. In our discussions, we mostly talked about the ideas of identity and trust, while some discussion of verifying identity seemed unavoidable. Talking about identity and trust is a lot more relevant in day-to-day life, i.e. knowing that the message came from the person you think it did, and trusting that it was private. It is most direct to talk about establishing a trusted connection to another person, but that’s not something that crypto can ever promise because there is still the analog gap between the person and the device. These core ideas must represent what is technically possible, so we searched for widely understood concepts that map well to the technical limitations: “a private conversation”, “a trusted app”, “verifiable video”.&lt;/p&gt;

&lt;p&gt;&lt;div id=&#34;attachment_12128&#34; style=&#34;width: 160px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/ecc.jpg&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12128&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/ecc-150x150.jpg&#34; alt=&#34;create metaphors based on what users know&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-12128&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/ecc-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2013/12/ecc-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/12/ecc.jpg 350w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p id=&#34;caption-attachment-12128&#34; class=&#34;wp-caption-text&#34;&gt;
    create metaphors based on what users know
  &lt;/p&gt;
&lt;/div&gt;Diving in deeper, we concluded that the balance point between technical accuracy and widely understandable lingo was to talk about trusting the device, not the person. The technology can provide trusted connections between devices, and it is pretty close to how people experience digital communications. There is the laptop, the mobile phone, the net cafe, the friend’s computer, computer at work, etc. etc. When I look at my phone to see a message from a friend, it is easy to picture that friend typing that message out on that device, though it does take some conscious effort. The hard part here is that as we communicate more and more with our devices, there is less and less separation in our minds about whether we were talking in person, via voice, or by sending text. This is a point to focus on when thinking about designing the experience of private, secure communications software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let the Software Handle It!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a forming consensus in the world of usable security to focus on figuring out how to automate as much as possible then figure out how best tailor the experience of the essential parts that cannot be automated. The hard part will remain explaining the limitations of a given privacy tool.&lt;/p&gt;

&lt;p&gt;At Guardian Project, we work a lot on incremental progress, so many of our projects are focused on specific, narrow improvements. With &lt;a href=&#34;https://guardianproject.info/apps/chatsecure/&#34; target=&#34;_blank&#34;&gt;ChatSecure&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/apps/keysync/&#34; target=&#34;_blank&#34;&gt;Keysync&lt;/a&gt; , we were able to automate one small part of the whole process, cryptography identity portability, which provides the foundation to provide private communications and verifiable media. Allowing users to sync their trust profiles between desktop and mobile makes it much more likely that users will have fully verified OTR conversations when chatting on their devices and laptops.&lt;/p&gt;

&lt;p&gt;With &lt;a href=&#34;https://guardianproject.info/code/gnupg/&#34; target=&#34;_blank&#34;&gt;Gnu Privacy Guard for Android (GPGA)&lt;/a&gt;, we have made it easy to import keys via QRCode as well as &lt;code&gt;openpgp4fpr:&lt;/code&gt; URLs (a standard defined in conjuction with the &lt;a href=&#34;http://web.monkeysphere.info/&#34; title=&#34;Monkeysphere Home Page&#34; target=&#34;_blank&#34;&gt;Monkeysphere&lt;/a&gt; project. We are also working on a common method of using NFC for OpenPGP key signing in conjuction with &lt;a href=&#34;http://sufficientlysecure.org/index.php/openpgp-keychain/&#34; title=&#34;OpenPGP Keychain home page&#34; target=&#34;_blank&#34;&gt;OpenPGP Keychain&lt;/a&gt;. Even little things like optimizing support for standard file extensions can go a long way to make things easier, so GPGA automatically sets itself up to receive files with the &lt;a href=&#34;https://tools.ietf.org/html/rfc2015&#34; target=&#34;_blank&#34;&gt;standard OpenPGP MIME types&lt;/a&gt; (&lt;code&gt;application/pgp-keys&lt;/code&gt;, &lt;code&gt;application/pgp-encrypted&lt;/code&gt;, &lt;code&gt;application/pgp-signature&lt;/code&gt;) as well as the corresponding file extensions (&lt;code&gt;.pkr&lt;/code&gt;, &lt;code&gt;.skr&lt;/code&gt;, &lt;code&gt;.key&lt;/code&gt;, &lt;code&gt;.sig&lt;/code&gt;, &lt;code&gt;.asc&lt;/code&gt;, etc.). That makes it so a user can just click on one of these files, and GPGA will walk them through the whole process, doing as much as possible automatically.&lt;/p&gt;

&lt;p&gt;Another interesting idea that is a big step in this direction is “secure introductions”. The idea is to automatically share trusted identity information when securely communicating with multiple people. For example, whenever you send a signed, encrypted email to multiple people, the email program should include the key fingerprints of each recipient in that email. Then the email program of the people receiving that email should automatically mark those keys as verified if the sender’s key is trusted and the signature is valid. There is not a meaningful amount of detail leaked in this interaction, since the existence of all the people’s keys and email address is already present in a secure email. The tricky part is figuring out how to make it harder for someone to use this maliciously to spread false identity information while keeping things as automatic as possible. This is very much a long term research idea: there are no widespread implementations of it.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SQLCipher has 100M&#43; Mobile Users (Thanks to WeChat!)</title>
      <link>https://guardianproject.info/2013/12/10/sqlcipher-has-100m-mobile-users-thanks-to-wechat/</link>
      <pubDate>Tue, 10 Dec 2013 16:38:02 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/12/10/sqlcipher-has-100m-mobile-users-thanks-to-wechat/</guid>
      <description>&lt;p&gt;&lt;em&gt;(Note: Originally this post had a title claiming 300 Million WeChat users… that would have included iOS and Android, and we don’t know if the WeChat iOS app also includes SQLCipher encryption or not. That said, there are 50-100M Google Play downloads of WeChat for Android, which does not include all of the users inside China)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Through some of our own recent sluething, &lt;a href=&#34;http://citizenlab.org&#34;&gt;Citizen Lab’s&lt;/a&gt; research into &lt;a href=&#34;https://citizenlab.org/2013/11/asia-chats-analyzing-information-controls-privacy-asian-messaging-applications/&#34;&gt;“Asia Chats” security&lt;/a&gt;, and now via this &lt;a href=&#34;http://blog.emaze.net/2013/09/a-look-at-wechat-security.html&#34;&gt;detailed look at WeChat security from Emaze.com&lt;/a&gt;, it has been recently discovered that &lt;a href=&#34;http://www.wechat.com/&#34;&gt;WeChat for Android&lt;/a&gt; uses &lt;a href=&#34;https://www.zetetic.net/sqlcipher&#34;&gt;SQLCipher&lt;/a&gt; for local data encryption in its app. We co-developed SQLCipher for Android with &lt;a href=&#34;http://zetetic.net/&#34;&gt;Zetetic&lt;/a&gt;, and have been working to promote its adoption among Android developers who need to protect data stored locally on a device. While many people would point to Android’s Full Disk Encryption feature as a solution for that, only a small percentage of users ever enable it, and even then, once a device is unlocked, then all data is accessible by someone looking to extract it. With SQLCipher, the application can ensure its own data is encrypted, and if the app is closed, then the data is secured.&lt;/p&gt;

&lt;p&gt;Now, as with most things WeChat, the actually implementation of SQLCipher is not that ideal, utilizing a short key, generated in part from the device’s ID, and some sort of server provided token. Still, at least they tried, and SQLCipher is considered stable enough to be used for the &lt;em&gt;&lt;strong&gt;over 300 million WeChat users&lt;/strong&gt;&lt;/em&gt; around the world. Who knows, though, maybe the devs are on our developer list or the SQLCipher list, and we can help them improve their implementation using &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34;&gt;CacheWord&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;The biggest irony of this, is that I gave a lightning talk at Google IO 2013, highlighting the concern I had with the rapid growth of WeChat, and their parent company’s and country’s poor record on human rights, free speech, and generally defending their users. With the growth of WeChat beyond the borders of China, it is the first major mobile service to be exported and adopted outside of the Great Firewall, by non-Chinese users.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My part starts at about 17:00 in, and runs for about 5 minutes…&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So, for now, I raise a toast to the Android developers at Tencent/WeChat, who at least took a shot at providing local message encryption in their app, and may they continue to endeavor to defend their users privacy and security, as best as they can, considering their circumstances.&lt;/p&gt;

&lt;p&gt;More from the &lt;a href=&#34;http://blog.emaze.net/2013/09/a-look-at-wechat-security.html&#34;&gt;emaze-ing post&lt;/a&gt; below…&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;WeChat locally stores application data in an encrypted SQLite database&lt;br /&gt;
named “EnMicroMsg.db”. This database is located in the “MicroMsg”&lt;br /&gt;
subfolder inside the application’s data directory (typically something&lt;br /&gt;
like “/data/data/com.tencent.mm”).&lt;/p&gt;

&lt;p&gt;The database is encrypted using SQLCipher, an open source extension for&lt;br /&gt;
SQLite that provides full database encryption. The encryption password&lt;br /&gt;
is derived from the “uin” parameter (see previous sections) combined&lt;br /&gt;
with the device identifier through a custom function. More precisely,&lt;br /&gt;
the key generation function leverages the mangle() function shown in the&lt;br /&gt;
previous Python snippet. The actual database encryption key can be&lt;br /&gt;
generated through the following pseudo-code:&lt;/p&gt;

&lt;p&gt;password = mangle(deviceid + uin)[:7]&lt;/p&gt;

&lt;p&gt;Here deviceid is the value returned by the Android API function&lt;br /&gt;
TelephonyManager.getDeviceId(). Follows a sample SQLCipher console&lt;br /&gt;
session that demonstrate how the EnMicroMsg.db database can be decrypted.&lt;/p&gt;

&lt;p&gt;$ sqlcipher EnMicroMsg.db&lt;br /&gt;
sqlite&amp;gt; PRAGMA key = ‘b60c8e4’;&lt;br /&gt;
sqlite&amp;gt; PRAGMA cipher_use_hmac = OFF;&lt;br /&gt;
sqlite&amp;gt; .schema&lt;br /&gt;
CREATE TABLE conversation (unReadCount INTEGER, status INT, …&lt;br /&gt;
CREATE TABLE bottleconversation (unReadCount INTEGER, status INT, …&lt;br /&gt;
CREATE TABLE tcontact (username text PRIMARY KEY, extupdateseq long, …&lt;br /&gt;
…&lt;/p&gt;

&lt;p&gt;It is also worth pointing out that, as the key generation algorithm&lt;br /&gt;
truncates the password to 7 hex characters, it would be not so difficult&lt;br /&gt;
for motivated attackers who are able to get the encrypted database to&lt;br /&gt;
brute force the key, even without knowing the uin or the device identifier.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Getting keys into your keyring with Gnu Privacy Guard for Android</title>
      <link>https://guardianproject.info/2013/12/06/getting-keys-into-your-keyring-with-gnu-privacy-guard-for-android/</link>
      <pubDate>Fri, 06 Dec 2013 15:11:53 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/12/06/getting-keys-into-your-keyring-with-gnu-privacy-guard-for-android/</guid>
      <description>&lt;p&gt;Now that you can have a full &lt;a href=&#34;https://www.gnupg.org&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;GnuPG&lt;/em&gt;&lt;/a&gt; on your Android device with &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.gpg&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;Gnu Privacy Guard&lt;/em&gt;&lt;/a&gt; for Android, the next step is getting keys you need onto your device and included in &lt;em&gt;Gnu Privacy Guard&lt;/em&gt;. We have tried to make it as easy as possible without compromising privacy, and have implemented a few approaches, while working on others. There are a few ways to get this done right now.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Gnu Privacy Guard&lt;/em&gt; registered itself with Android as a handler of all the standard &lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc3156.txt&#34; title=&#34;RFC3156: MIME Security with OpenPGP&#34; target=&#34;_blank&#34;&gt;OpenPGP MIME types&lt;/a&gt; (&lt;code&gt;application/pgp-keys&lt;/code&gt;, &lt;code&gt;application/pgp-encrypted&lt;/code&gt;, &lt;code&gt;application/pgp-signature&lt;/code&gt;), as well as all of the OpenPGP and GnuPG file extensions (&lt;code&gt;.pkr&lt;/code&gt; &lt;code&gt;.skr&lt;/code&gt; &lt;code&gt;.key&lt;/code&gt; &lt;code&gt;.sig&lt;/code&gt; &lt;code&gt;.asc&lt;/code&gt; &lt;code&gt;.gpg&lt;/code&gt; &lt;code&gt;.bin&lt;/code&gt;). This means that users just have to share a file to &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; using any of the standard Android methods, these files can be launched from an email attachment, opened from the SD card using a file browser, clicked in the Downloads view, etc.&lt;/p&gt;

&lt;p&gt;So if you want to quickly send your whole public keyring from your laptop to your mobile device, you can just grab the database file directly from &lt;em&gt;GnuPG&lt;/em&gt; and copy it to your SD card. Here is how:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;plug your device into your laptop via USB so you can copy files to the SD card&lt;/li&gt;
&lt;li&gt;find your &lt;em&gt;GnuPG&lt;/em&gt; home folder (on GNU/Linux and Mac OS X, it will be in &lt;code&gt;~/.gnupg/pubring.gpg&lt;/code&gt;, on Windows it is &lt;code&gt;%APPDATA%\gnupg&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;In your &lt;em&gt;GnuPG&lt;/em&gt; home folder, copy &lt;strong&gt;pubring.gpg&lt;/strong&gt; to your device’s SD card&lt;/li&gt;
&lt;li&gt;unmount and unplug your device&lt;/li&gt;
&lt;li&gt;on your device, open your favorite file manager app (&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.openintents.filemanager&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;OI File Manager&lt;/em&gt;&lt;/a&gt;, &lt;em&gt;Astro&lt;/em&gt;, etc)&lt;/li&gt;
&lt;li&gt;go to the SD card&lt;/li&gt;
&lt;li&gt;long-click on &lt;strong&gt;pubring.gpg&lt;/strong&gt; and share it to &lt;em&gt;Gnu Privacy Guard&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;click OK on the Import Keys dialog&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After that, &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; will do the rest. Give is some time to sync to the Contacts database, then you’ll see all of your keys from your desktop are now in your People app and are listed in &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; itself. You can now encrypt files to any of those keys, or verify files signed by any of those keys. Here are a couple screenshots to illustrate key points in the process, using &lt;em&gt;OI File Manager&lt;/em&gt;:&lt;/p&gt;

&lt;p align=&#34;center&#34;&gt;
  &lt;div id=&#34;attachment_12155&#34; style=&#34;width: 209px&#34; class=&#34;wp-caption alignleft&#34;&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-0.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12155&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-0-199x300.png&#34; alt=&#34;send your public keyring file&#34; width=&#34;199&#34; height=&#34;300&#34; class=&#34;size-medium wp-image-12155&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-0-199x300.png 199w, https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-0.png 319w&#34; sizes=&#34;(max-width: 199px) 100vw, 199px&#34; /&gt;&lt;/a&gt;
    
    &lt;p id=&#34;caption-attachment-12155&#34; class=&#34;wp-caption-text&#34;&gt;
      1. send your public keyring file
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/p&gt;

&lt;div id=&#34;attachment_12156&#34; style=&#34;width: 209px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-1.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12156&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-1-199x300.png&#34; alt=&#34;choose Gnu Privacy Guard to send the file to&#34; width=&#34;199&#34; height=&#34;300&#34; class=&#34;size-medium wp-image-12156&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-1-199x300.png 199w, https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-1.png 319w&#34; sizes=&#34;(max-width: 199px) 100vw, 199px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12156&#34; class=&#34;wp-caption-text&#34;&gt;
    2. choose &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; to send the file to
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_12157&#34; style=&#34;width: 209px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-2.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12157&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-2-199x300.png&#34; alt=&#34;click OK to import the key file&#34; width=&#34;199&#34; height=&#34;300&#34; class=&#34;size-medium wp-image-12157&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-2-199x300.png 199w, https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-2.png 319w&#34; sizes=&#34;(max-width: 199px) 100vw, 199px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12157&#34; class=&#34;wp-caption-text&#34;&gt;
    3. click OK to import the key file
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_12158&#34; style=&#34;width: 209px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-3.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12158&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-3-199x300.png&#34; alt=&#34;now you can see the imported keys in Gnu Privacy Guard&#34; width=&#34;199&#34; height=&#34;300&#34; class=&#34;size-medium wp-image-12158&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-3-199x300.png 199w, https://guardianproject.info/wp-content/uploads/2013/12/GPGA-import-key-file-3.png 319w&#34; sizes=&#34;(max-width: 199px) 100vw, 199px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12158&#34; class=&#34;wp-caption-text&#34;&gt;
    4. now you can see the imported keys in &lt;em&gt;Gnu Privacy Guard&lt;/em&gt;
  &lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;There are many ways to get the keyring files like &lt;strong&gt;pubring.gpg&lt;/strong&gt; to your device: you can also share the keyring files via email, chat, or even services like &lt;em&gt;Dropbox&lt;/em&gt; or &lt;em&gt;Google Drive&lt;/em&gt;. Then once the files are on your device, you can import them using the same procedure as above. But keep in mind that you are sending your whole collection of secure contacts to that service, which will have full access to read it. If you have any worries about leaking your keyring to anyone, then a good method is to copy it directly to the SD card.&lt;/p&gt;

&lt;div id=&#34;attachment_12192&#34; style=&#34;width: 209px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-search-keyserver.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12192&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-search-keyserver-199x300.png&#34; alt=&#34;search the keyserver for the author&#39;s key (I lost the key from 1998, so don&#39;t use that one...)&#34; width=&#34;199&#34; height=&#34;300&#34; class=&#34;size-medium wp-image-12192&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/GPGA-search-keyserver-199x300.png 199w, https://guardianproject.info/wp-content/uploads/2013/12/GPGA-search-keyserver.png 319w&#34; sizes=&#34;(max-width: 199px) 100vw, 199px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12192&#34; class=&#34;wp-caption-text&#34;&gt;
    search the keyserver for the author’s key (the key from 1998 is lost, don’t use that one…)
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;You can also search and download keys via the public pool of OpenPGP keyservers. If you already know someone’s keyid or fingerprint, you can search using that. Otherwise, you can search based on name or email address. But be careful! Downloading a key from a keyserver does not give you a key you can trust. Anyone can upload a key to the keyservers, and they can make that key have any name or email address. Downloading from the keyservers is a convenient way to download a key, but you must verify the key’s fingerprint with the person you are trying to find.&lt;/p&gt;

&lt;p&gt;&lt;div id=&#34;attachment_12184&#34; style=&#34;width: 160px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/12/0x9F0FE587374BBE81-qr.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12184&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/12/0x9F0FE587374BBE81-qr-150x150.png&#34; alt=&#34;scan this QR Code to get the author&#39;s OpenPGP key&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-12184&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/12/0x9F0FE587374BBE81-qr-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/12/0x9F0FE587374BBE81-qr-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/12/0x9F0FE587374BBE81-qr.png 330w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p id=&#34;caption-attachment-12184&#34; class=&#34;wp-caption-text&#34;&gt;
    scan this QR Code to get the author’s OpenPGP key
  &lt;/p&gt;
&lt;/div&gt;In conjunction with the&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://web.monkeysphere.info/&#34; target=&#34;_blank&#34;&gt;Monkeysphere&lt;/a&gt; project, we developed a standard URI scheme for sending OpenPGP key fingerprints. For example, you can find my key ID here: &lt;a href=&#34;openpgp4fpr:9F0FE587374BBE81&#34;&gt;&lt;code&gt;openpgp4fpr:9F0FE587374BBE81&lt;/code&gt;&lt;/a&gt;. This provides a clickable way to get an OpenPGP key. On an Android device with &lt;em&gt;Gnu Privacy Guard&lt;/em&gt; installed, you can click on this link to download my key from the keyservers. This URI scheme also works well in QR Codes. Scan this QR Code on your device with an app like &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.google.zxing.client.android&#34; title=&#34;Barcode Scanner in the Google Play Store&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;Barcode Scanner&lt;/em&gt;&lt;/a&gt;, and click &lt;strong&gt;Open Browser&lt;/strong&gt;, and Gnu Privacy Guard will download my key to your device.&lt;/p&gt;

&lt;p&gt;There are other ideas out there that we also want to support. For example, &lt;a href=&#34;http://sufficientlysecure.org/index.php/openpgp-keychain/&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;OpenPGP Keychain&lt;/em&gt;&lt;/a&gt; includes a way to transmit the whole public key via &lt;a href=&#34;https://en.wikipedia.org/wiki/Near_field_communication&#34; title=&#34;Near Field Communication&#34; target=&#34;_blank&#34;&gt;NFC&lt;/a&gt;. This allows people can swap keys directly from phone to phone without having internet access at all. But NFC is quite slow to transmit data so the devices need to be held together for a while until the whole key is received. NFC could be used to rapidly transmit an &lt;code&gt;openpgp4fpr:&lt;/code&gt; URI, and then the whole public key would be fetched from a keyserver, but that then requires internet access and also leaks a bit of metadata to the internet. A better technique would be to transmit the entire public key over Bluetooth, using NFC to setup the Bluetooth session. We’re also looking at ways to do this via WiFi and &lt;a href=&#34;https://en.wikipedia.org/wiki/Bonjour_(software)&#34; target=&#34;_blank&#34;&gt;Bonjour (mDNS)&lt;/a&gt; local service advertisements.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ostel.co secure VoIP network partners with Open Hosting</title>
      <link>https://guardianproject.info/2013/12/03/ostel.co-secure-voip-network-partners-with-open-hosting/</link>
      <pubDate>Tue, 03 Dec 2013 17:56:18 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/12/03/ostel.co-secure-voip-network-partners-with-open-hosting/</guid>
      <description>&lt;p&gt;Ostel.co began as a R&amp;amp;D effort sponsored by The Guardian Project. The question: Is a peer-to-peer secure voice and video call network possible to build with open Internet standards and Open Source software? After two years and tens of thousands of users later, the answer is a resounding YES!&lt;/p&gt;

&lt;p&gt;Two of the crucial components of any standards based VoIP service are infrastructure to route calls and a database to locate end users. &lt;a href=&#34;http://openhosting.com/&#34;&gt;Open Hosting’s&lt;/a&gt; service was a perfect fit, so we’ve teamed up for ongoing support of ostel.co. Open Hosting has a high speed, low-latency network in the southern USA, which hosts the backend to route calls over the ostel.co domain. It also has a clearly defined, concise &lt;a href=&#34;http://openhosting.com/about-us/legal/&#34;&gt;Privacy Policy and Terms of Service&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Guardian Project will continue to support the &lt;a href=&#34;https://dev.guardianproject.info/projects/ostn/wiki&#34;&gt;Open Secure Telephony Network&lt;/a&gt;. This open source project aims to make it as simple as possible for anyone to stand up their own secure VoIP backend with a custom domain. OSTN is a &lt;a href=&#34;https://dev.guardianproject.info/projects/ostel/wiki/Server_Documentation&#34;&gt;best practices guide&lt;/a&gt; to build your own application stack and a federated network of VoIP services. The more operators who host their own domain, the larger the global federated infrastructure becomes, freeing users from carrier control and ensuring call security. There are also ongoing automation projects to bring ease to hosting your own domain. For example, &lt;a href=&#34;https://index.docker.io/u/guardianproject/&#34;&gt;Docker repositories&lt;/a&gt;, &lt;a href=&#34;https://github.com/guardianproject/chef-twelvetone/tree/kamailio&#34;&gt;Chef cookbooks&lt;/a&gt; and even a &lt;a href=&#34;https://dev.guardianproject.info/projects/ostn/wiki/Raspberry_Pi&#34;&gt;guide for the Raspberry Pi&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;If you would like to get started with free calls over &lt;a href=&#34;https://ostel.co&#34;&gt;ostel.co&lt;/a&gt;, register for an account and use any of the supported client applications. If you would like support building your own secure VoIP backend, check out the &lt;a href=&#34;https://dev.guardianproject.info/projects/ostel/wiki&#34;&gt;docs&lt;/a&gt;, hang out in the #guardian project IRC channel and email su&amp;#x70;p&amp;#x6f;r&amp;#x74;@&amp;#x67;u&amp;#x61;r&amp;#x64;i&amp;#x61;npro&amp;#x6a;e&amp;#x63;t&amp;#x2e;i&amp;#x6e;f&amp;#x6f; . We look forward to growing the network!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>VoIP security architecture in brief</title>
      <link>https://guardianproject.info/2013/11/21/voip-security-architecture-in-brief/</link>
      <pubDate>Thu, 21 Nov 2013 19:07:17 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/11/21/voip-security-architecture-in-brief/</guid>
      <description>&lt;p&gt;Voice over IP (VoIP) has been around for a long time. It’s ubiquitous in homes, data centers and carrier networks. Despite this ubiquity, security is rarely a priority. With the combination of a handful of important standard protocols, it is possible to make untappable end to end encryption for an established VoIP call.&lt;/p&gt;

&lt;p&gt;TLS is the security protocol between the signaling endpoints of the session. It’s the same technology that exists for SSL web sites; ecommerce, secure webmail, Tor and many others use TLS for security. Unlike web sites, VoIP uses a different protocol called the Session Initiation Protocol (SIP) for signaling: actions like ringing an endpoint, answering a call and hanging up. This is the metadata of calls. SIP-TLS uses the standard Certificate Authorities for key agreement. This implies trust between the certificate issuer and the calling endpoints.&lt;/p&gt;

&lt;div id=&#34;attachment_12006&#34; style=&#34;width: 440px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;http://www.siptutorial.net/SIP/relation.htm&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12006&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/relation.gif&#34; alt=&#34;SIP Dialog&#34; width=&#34;430&#34; height=&#34;322&#34; class=&#34;size-full wp-image-12006&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12006&#34; class=&#34;wp-caption-text&#34;&gt;
    An example of a SIP dialog
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;To add a little complexity, the content of calls has only a small relationship to SIP. The key agreement protocol for P2P VoIP content is called ZRTP. In a true P2P system, all the key agreement and encryption of a call’s content happens in the endpoint applications. An important distinction between VoIP and other networked communications is that all devices are both client and server at once, so we have only “endpoints” rather than “clients” or “servers”. Once the endpoints agree on a shared secret, the ZRTP session ends and the SRTP session begins. When established, all audio and video content going over the network is encrypted. Only the two peer endpoints who established a session with ZRTP can decrypt the media stream. This is the part of the conversation that cannot be wiretapped nor can metadata of sessions in progress be spied on.&lt;/p&gt;

&lt;div id=&#34;attachment_12008&#34; style=&#34;width: 560px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/11/zrtp_overview.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-12008&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/zrtp_overview-902x1024.png&#34; alt=&#34;ZRTP Overview&#34; width=&#34;550&#34; height=&#34;624&#34; class=&#34;size-large wp-image-12008&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/zrtp_overview-902x1024.png 902w, https://guardianproject.info/wp-content/uploads/2013/11/zrtp_overview-264x300.png 264w, https://guardianproject.info/wp-content/uploads/2013/11/zrtp_overview.png 986w&#34; sizes=&#34;(max-width: 550px) 100vw, 550px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-12008&#34; class=&#34;wp-caption-text&#34;&gt;
    An example ZRTP key exchange
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;To step back a little, let’s review some acronyms. First there is &lt;a href=&#34;http://www.siptutorial.net/SIP/background.html&#34;&gt;SIP&lt;/a&gt; (Session Initialization Protocol). This protocol is encrypted with TLS. It contains the IP addresses of the endpoints who wish to communicate but it does not interact with the audio or video stream.&lt;/p&gt;

&lt;p&gt;Second, there is ZRTP. This protocol enters into the mix after a successful SIP dialog establishes a call session by locating the two endpoints. It transmits key agreement information over a unverified SRTP channel between the peers. The peers use their voices to speak a secret that verifies that the channel is secure between only the two peers.&lt;/p&gt;

&lt;p&gt;Third, enter SRTP. Only after the ZRTP key exchange succeeds is the call content encrypted with the Secure Real Time Protocol. From this point forward, all audio and video is secure and uniquely keyed to each individual session.&lt;/p&gt;

&lt;p&gt;This brief was inspired by the numerous discussions I’ve participated in online and offline during my ongoing operation of ostel.co, a secure VoIP service sponsored by The Guardian Project. I understand that VoIP is complex when compared to HTTP and the mainstream understanding of the securirty elements often omits the ZRTP/SRTP content, rather focusing on only the SIP-TLS signaling. While signaling is important, few calls would be useful without content.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>A tag-team git workflow that incorporates auditing</title>
      <link>https://guardianproject.info/2013/11/21/a-tag-team-git-workflow-that-incorporates-auditing/</link>
      <pubDate>Thu, 21 Nov 2013 14:03:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/11/21/a-tag-team-git-workflow-that-incorporates-auditing/</guid>
      <description>&lt;p&gt;Git is as wonderful as it is terrible, it is immensly flexible but also far from intuitive. So to make our lives easier, we try to use git as it was originally intended, as a toolkit for building workflows.&lt;/p&gt;

&lt;p&gt;&lt;div id=&#34;attachment_11990&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;http://git-scm.com/book/en/Distributed-Git-Distributed-Workflows#Integration-Manager-Workflow&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-11990&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/integration_manager_workflow-300x121.png&#34; alt=&#34;Integration-Manager Workflow&#34; width=&#34;300&#34; height=&#34;121&#34; class=&#34;size-medium wp-image-11990&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/integration_manager_workflow-300x121.png 300w, https://guardianproject.info/wp-content/uploads/2013/11/integration_manager_workflow.png 500w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p id=&#34;caption-attachment-11990&#34; class=&#34;wp-caption-text&#34;&gt;
    Integration-Manager Workflow
  &lt;/p&gt;
&lt;/div&gt;We use a simple version of the “&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://git-scm.com/book/en/Distributed-Git-Distributed-Workflows&#34; target=&#34;_blank&#34;&gt;Integration-Manager Workflow&lt;/a&gt;“. One key difference is that we often have multiple contributors acting as the integration manager. This means that there is always someone else besides the original author reviewing each commit. For example: I make a commit and push it to my public developer’s repo. I ask Abel to review my commit, and if he agrees with it, he then pushes it to the official public “_upstream_” repo (aka “blessed repository”). And since git will tell us if a remote repo is different than our local repo, this process makes it harder for an attacker to slip a commit into our remote repo without us noticing.&lt;/p&gt;

&lt;p&gt;The key to this workflow is that all contributors must fork from the same git repo, and mark that one as the one &lt;em&gt;upstream&lt;/em&gt; repo. We often end up &lt;a href=&#34;http://git-scm.com/book/en/Git-Branching-Rebasing&#34; target=&#34;_blank&#34;&gt;rebasing&lt;/a&gt; things to make sure each commit is based on the most up-to-date code. It also makes for a clean, readable history. That means each contributor’s public repo will be rebased from time to time, so you cannot rely on those repos as something to base your own work off of.&lt;/p&gt;

&lt;p&gt;At the very least, a contributor’s local repo should be set up to talk to two remote repos: the contributor’s own public repo and the &lt;em&gt;upstream&lt;/em&gt; repo. I’ll use github as an example of how to get started in this workflow. Say you want to contribute to &lt;a href=&#34;https://github.com/guardianproject/keysync&#34;&gt;https://github.com/guardianproject/keysync&lt;/a&gt;, start by making a fork via the github.com&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/fork.png&#34; alt=&#34;fork&#34; width=&#34;65&#34; height=&#34;19&#34; /&gt; button. Once that is setup, its time to clone it and configure the rest. I’m &lt;strong&gt;eighthave&lt;/strong&gt; on github, so this example will use my public repo. I work with Abel Luck on KeySync, so we’ll add his repo as another contributor repo.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git clone https://github.com/eighthave/keysync
cd keysync
git remote add upstream https://github.com/guardianproject/keysync
git fetch upstream
git remote add abeluck https://github.com/abeluck/keysync
git fetch abeluck
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now I can see all of the remotes in my local git repo, and work with them as branches:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-console&#34;&gt;$ git remote  -v
abeluck https://github.com/abeluck/keysync (fetch)
abeluck https://github.com/abeluck/keysync (push)
origin  https://github.com/eighthave/keysync (fetch)
origin  https://github.com/eighthave/keysync (push)
upstream        https://github.com/guardianproject/keysync (fetch)
upstream        https://github.com/guardianproject/keysync (push)
$ git branch -va
* master                  1536fcf parse version number from setuptools
  remotes/abeluck/master  1536fcf parse version number from setuptools
  remotes/origin/HEAD     -&amp;gt; origin/master
  remotes/origin/master   1536fcf parse version number from setuptools
  remotes/upstream/master 1536fcf parse version number from setuptools
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now I do some work, and commit it to my local repo, and want to push them for Abel to review. In the meantime Abel has pushed some commits for me to review into his remote repo &lt;code&gt;abeluck&lt;/code&gt;. So I need to fetch his new commits, then rebase my new local commits on top of of his new commits. When its all ready, I push it to my remote repo &lt;code&gt;origin&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout master
git fetch abeluck
(review the commits...)
git rebase abeluck/master
git push origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now I’ve reviewed Abel’s new commits and incorporated them into my public repo. Abel is ready to review my new commits, which are rebased on top of his. If he agrees with them, he’ll push them to the official “blessed” repo &lt;code&gt;upstream&lt;/code&gt;. Then his local repo will be in sync with the latest &lt;em&gt;upstream&lt;/em&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout master
git fetch eighthave
git merge eighthave/master
(review the commits...)
git push upstream master
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Review The Commits&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can also review the commits before rebasing or merging them into the local master. This is done by switching to the remote branch, which is kind of like a local branch, but not entirely. It works for checking out and viewing just fine though:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout eighthave/master
(review the commits...)
git checkout master
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Undoing A Bad Rebase&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git doesn’t provide any undo, and it also will let you delete things, not a good situation for learning this stuff. Luckily it does give you the tools for making something like an undo function. I use a tag for this, and I always use the same name for that tag: &lt;code&gt;pre-rebase&lt;/code&gt;. Before starting anything that involves rebasing, I first do:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout master
git tag pre-rebase
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then after the rebase is successfully deleted, I remove that tag:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git tag -d pre-rebase
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Switching Your Master When Things Have Diverged&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is often the case that in the process of merging and rebasing, the developers’ repos will be in separate branches of the original tree. Once the “integration manager” person has pulled in all the commits, rebased and merged everything, and pushed the approved commits to the upstream repo, the other developers will likely need to reset their repos to resync with the upstream:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git fetch upstream
git checkout upstream/master
git branch -D master
git branch master
git checkout master
git push -f origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So &lt;code&gt;git branch -D master&lt;/code&gt; does indeed mean force-delete your master branch. That is required before setting your master branch to a new branch. If you want, you can keep that old branch around by doing &lt;code&gt;git branch myfeaturedevbranch&lt;/code&gt; before doing &lt;code&gt;git branch -D master&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keeping All The History&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One addition to this process is for each contributor to mark their own tree with a labeled branch before rebasing, and then pushing those branches to the contributor’s public repo. This will then provide a complete history of the process, if that is desired. For example: I push some commits to my public repo, then Abel rebases my commits onto some of his work and pushes to the &lt;em&gt;upstream&lt;/em&gt;. In this case, the history in my public repo will be different than what is in the &lt;em&gt;upstream&lt;/em&gt; repo as well as Abel’s public repo.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Turn Your Device Into an App Store</title>
      <link>https://guardianproject.info/2013/11/18/turn-your-device-into-an-app-store/</link>
      <pubDate>Mon, 18 Nov 2013 16:27:30 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/11/18/turn-your-device-into-an-app-store/</guid>
      <description>&lt;p&gt;As we’ve touched upon in &lt;a href=&#34;https://guardianproject.info/2013/11/05/setting-up-your-own-app-store-with-f-droid/&#34;&gt;previous blog posts &lt;/a&gt; the Google Play model of application distribution has some disadvantages. Google does not make the Play store universally available, instead limiting availability to a subset of countries. Using the Play store to install apps necessitates both sharing personal information with Google and enabling Google to remotely remove apps from your device (colloquially referred to as &lt;a href=&#34;http://www.engadget.com/2008/10/16/google-implemented-an-android-kill-switch-those-rascals/&#34;&gt;having a ‘kill switch’&lt;/a&gt;). Using the Play store also requires a functional data connection (wifi or otherwise) to allow apps to be downloaded. Often there is a need to quickly bootstrap users during training sessions in countries with unreliable/restricted data connectivity, or in extreme cases, &lt;a href=&#34;http://www.nytimes.com/2011/01/29/technology/internet/29cutoff.html?_r=0&#34;&gt;no internet connectivity at all&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://f-droid.org/&#34;&gt;F-Droid&lt;/a&gt; addresses many of these concerns, but still requires a functional data connection in order to access the repository housing applications available for install. Wouldn’t it be great if there was an easy way for users to share applications amongst themselves, in absence of a reliable data connection? Today we would like to announce initial steps the Guardian Project is taking to enable this exact functionality. We’ve been working on a prototype application capable of building F-Droid repositories &lt;strong&gt;on-device&lt;/strong&gt;, allowing users to share apps they already have installed to other users through F-Droid. In this way savvy users can quickly and securely share applications they already know and trust with friends and family without requiring a central market/repository or a reliable internet connection.&lt;/p&gt;

&lt;p&gt;To start, we’ve built a stand-alone prototype application we call “_&lt;strong&gt;Kerplapp&lt;/strong&gt;_” (as in &lt;em&gt;Kerplop for Apps)&lt;/em&gt;. Using Kerplapp an established user can select applications already installed on their phone that they wish to make available to other users. Using the selected applications Kerplapp builds a &lt;a href=&#34;https://f-droid.org/manual/fdroid.html#Simple-Binary-Repository&#34;&gt;simple binary F-Droid repostiory&lt;/a&gt; on the user’s device. The local on-device repository is then made available over a WiFi connection to other users on the local area network. Kerplapp will even display a QR code with the information required to add the local Kerplapp repo as a source repository for an F-Droid client running on another device. We hope to eventually merge our work back into the official F-droid Android client, but while we work out the kinks the Kerplapp application operates side-by-side with the F-Droid client app.&lt;/p&gt;

&lt;div id=&#34;attachment_11966&#34; style=&#34;width: 190px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/11/Screenshot_2013-11-18-16-02-48.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-11966&#34; class=&#34;size-medium wp-image-11966&#34; alt=&#34;Sharing access to a Kerplapp repo with a QR code.&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/Screenshot_2013-11-18-16-02-48-180x300.png&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/Screenshot_2013-11-18-16-02-48-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2013/11/Screenshot_2013-11-18-16-02-48-614x1024.png 614w, https://guardianproject.info/wp-content/uploads/2013/11/Screenshot_2013-11-18-16-02-48.png 768w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-11966&#34; class=&#34;wp-caption-text&#34;&gt;
    Sharing access to a Kerplapp repo with a QR code.
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Building on top of F-Droid has a number of advantages. First, we can directly benefit from the tremendous effort and success of the F-Droid project! We’ve been actively contributing improvements &lt;a href=&#34;https://gitorious.org/f-droid/fdroidclient/merge_requests/39&#34;&gt;back to both the F-droid client&lt;/a&gt; and &lt;a href=&#34;https://gitorious.org/f-droid/fdroidserver/merge_requests/127&#34;&gt;the F-droid server&lt;/a&gt;, making it easier for everyone to set up new F-Droid repos and share connection details. Secondly, by using a binary F-Droid repository we can ensure that when users share apps between each other that the apps will continue to receive updates through other channels. That is, if I share an app with you through Kerplapp you will be able to install updates to the app from other F-Droid binary repos and other Kerplapp users – wherever the app and its updates are available with the same APK signature. The F-Droid client will do the hard work of determining what updates are available and compatible with your device&lt;/p&gt;

&lt;p&gt;There’s a lot of work left to be done! One of our short term goals include enabling Bonjour support so that the F-Droid client can find repositories on the local network without requiring them to be added manually. We’re interested in supporting device to device app transfer over a number of channels, starting with HTTPS and eventually adding support for bluetooth and NFC. Building on the success of ChatSecure we’re actively working on supporting F-Droid app transfer over &lt;a href=&#34;https://dev.guardianproject.info/projects/gibberbot/wiki/OTRDATA_Specifications&#34;&gt;OTR-Data&lt;/a&gt;, the ChatSecure proposal for in-band OTR encrypted file transfers. With F-Droid as an OTR-DATA endpoint we can support peer to peer app transfer over a trusted, authenticated, and encrypted channel. We’re also exploring how we can use the OTR keys your contacts already trust to &lt;a href=&#34;https://f-droid.org/manual/fdroid.html#Signing&#34;&gt;sign the F-Droid repository metadata index&lt;/a&gt;, providing greater trust in the accuracy of the metadata provided by peer to peer repositories.&lt;/p&gt;

&lt;p&gt;If you’re curious you can &lt;a href=&#34;https://dev.guardianproject.info/projects/bazaar&#34;&gt;follow Kerplapp’s development on our project tracker.&lt;/a&gt; We’re also looking for adventurous users &lt;a href=&#34;https://guardianproject.info/builds/Kerplapp/&#34;&gt;to install the Kerplapp prototype application&lt;/a&gt; to provide feedback and testing.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Your own private dropbox with free software</title>
      <link>https://guardianproject.info/2013/11/12/your-own-private-dropbox-with-free-software/</link>
      <pubDate>Tue, 12 Nov 2013 12:50:23 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/11/12/your-own-private-dropbox-with-free-software/</guid>
      <description>&lt;p&gt;There are lots of file storage and sharing software packages out there that make it easy for a group of people to share files. Dropbox is perhaps the most well known of the group, it provides an easy way for a group of people to share files. The downside of Dropbox is that it is not a private service, just like any cloud-based service. Dropbox has total access to your files that you store there. That means its likely that the NSA and its collaborators do too.&lt;/p&gt;

&lt;p&gt;Dropbox also knows where the computers are that are accessing their service because they can see the IP address of the incoming connections. To help with this, it is possible to use use Dropbox over Tor, thankfully they have provided proxy settings.&lt;/p&gt;

&lt;p&gt;For our shared files, we use &lt;a href=&#34;http://sparkleshare.org/&#34; target=&#34;_blank&#34;&gt;SparkleShare&lt;/a&gt;. It provides an experience very similar to Dropbox: you have a SparkleShare folder that is synced up with the service, and in turn any other users who are also linked up to it. Once its setup, it is as easy to use as Dropbox, but setting it up takes a bit more work than Dropbox. It builds upon two software packages well known for security and reliability: &lt;code&gt;git&lt;/code&gt; and &lt;code&gt;ssh&lt;/code&gt;, and works with Tor Hidden Services. It runs on Windows, Mac OS X, and GNU/Linux, and there is an &lt;a href=&#34;https://github.com/NewProggie/SparkleShare-Android&#34; target=&#34;_blank&#34;&gt;Android client&lt;/a&gt; in the works.&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/11/sparkleshare-onion.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/sparkleshare-onion.png&#34; alt=&#34;sparkleshare-onion&#34; width=&#34;312&#34; height=&#34;342&#34; class=&#34;alignright size-full wp-image-11936&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/sparkleshare-onion.png 312w, https://guardianproject.info/wp-content/uploads/2013/11/sparkleshare-onion-273x300.png 273w&#34; sizes=&#34;(max-width: 312px) 100vw, 312px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use any git service as the server for SparkleShare, including github, bitbucket, &lt;a href=&#34;https://gitorious.org/&#34; target=&#34;_blank&#34;&gt;gitorious&lt;/a&gt;, etc. But these have the same issues as putting your files on Dropbox: that service has complete access to your files. For extra protection, SparkleShare &lt;a href=&#34;https://github.com/hbons/SparkleShare/wiki/Client-Side-Encryption&#34; target=&#34;_blank&#34;&gt;can encrypt the files on the client-side&lt;/a&gt;, have encrypted shared folders with SparkleShare, so that the server does not have access to the files. For the last piece of setting up a private SparkleShare, you need a computer that you can &lt;code&gt;ssh&lt;/code&gt; to, and has &lt;code&gt;git&lt;/code&gt; and Tor on it. This computer could even be an old Android device running &lt;a href=&#34;https://guardianproject.info/code/lildebi/&#34; target=&#34;_blank&#34;&gt;Lil’ Debi&lt;/a&gt;, it only needs enough disk space for your SparkleShare files and a steady network connection. Running it on your own computer means it can use a Tor Hidden Service, and that all of the metadata related to who is editing what files remains private.&lt;/p&gt;

&lt;p&gt;To start, setup a Tor Hidden Service to the sshd port. You can read all about that process in the &lt;a href=&#34;https://www.torproject.org/docs/tor-hidden-service.html&#34; target=&#34;_blank&#34;&gt;Tor instructions&lt;/a&gt;, but basically, you need to add something like this to the &lt;code&gt;torrc&lt;/code&gt; configuration file:&lt;/p&gt;

&lt;pre&gt;HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 22 127.0.0.1:22
&lt;/pre&gt;

&lt;p&gt;Then restart tor, and it will generate two files in &lt;code&gt;/var/lib/tor/ssh_hidden_service/&lt;/code&gt;, open the file called &lt;code&gt;hostname&lt;/code&gt; to see your new .onion address. We’re going to use &lt;code&gt;fakefakefakefake.onion&lt;/code&gt; as our made-up one for this HOWTO. That is the address you will use in SparkleShare as the server address.&lt;/p&gt;

&lt;p&gt;Next &lt;code&gt;ssh&lt;/code&gt; needs to be setup to use Tor to access the .onion address of the Tor Hidden Service. To do that we need the wonderful Netcat tool (&lt;code&gt;nc&lt;/code&gt;). On Debian/Ubuntu, run &lt;code&gt;sudo apt-get install netcat-openbsd&lt;/code&gt; to get it, its included with Mac OS X by default. Now edit your SSH config file, its usually in &lt;code&gt;~/.ssh/config&lt;/code&gt;, and add this section:&lt;/p&gt;

&lt;pre&gt;Host *.onion
     Compression yes
     ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p
&lt;/pre&gt;

&lt;p&gt;For Windows, you need to use &lt;code&gt;connect&lt;/code&gt; proxy, which is thankfully included in SparkleShare. You can optionally use &lt;code&gt;connect&lt;/code&gt; instead of Netcat/&lt;code&gt;nc&lt;/code&gt; on Mac OS X (&lt;code&gt;fink install connect&lt;/code&gt; or &lt;code&gt;brew install connect&lt;/code&gt;) and GNU/Linux (e.g. &lt;code&gt;apt-get install connect-proxy&lt;/code&gt; or &lt;code&gt;yum install connect-proxy&lt;/code&gt;). Instead of the snippet above, use this snippet in &lt;code&gt;~/.ssh/config&lt;/code&gt; to use &lt;code&gt;connect&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;Host *.onion
     Compression yes
     ProxyCommand connect -5 -S 127.0.0.1:9050 %h %p
&lt;/pre&gt;

&lt;p&gt;Now its time to set up the git repo on the server that will be the conduit for sharing files between the different users. Basically, all you need to do is create a new folder, then make it a “bare” git repo (you can read &lt;a href=&#34;http://git-scm.com/book/en/Git-on-the-Server-Setting-Up-the-Server&#34; target=&#34;_blank&#34;&gt;all about it in the git book&lt;/a&gt;):&lt;/p&gt;

&lt;pre&gt;ssh g&amp;#x69;t&amp;#x40;&amp;#x66;a&amp;#x6b;e&amp;#x66;&amp;#x61;k&amp;#x65;f&amp;#x61;&amp;#x6b;e&amp;#x66;a&amp;#x6b;&amp;#x65;.&amp;#x6f;n&amp;#x69;&amp;#x6f;n
mkdir /home/git/MyPrivateShare
cd /home/git/MyPrivateShare
git init --bare
&lt;/pre&gt;

&lt;p&gt;For sshing to the git, we set up a single account called &lt;code&gt;git&lt;/code&gt;, then to grant access, we add the SSH key (SparkleShare calls this the &lt;em&gt;Client ID&lt;/em&gt;) to the &lt;code&gt;git&lt;/code&gt; account’s &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Now everything should be ready to start adding clients! In SparkleShare, go to Add Hosted Project…, choose On my own server, then enter your username and .onion address (&lt;em&gt;ssh:&amp;#x2f;&amp;#x2f;&amp;#x67;&amp;#x69;t@fak&amp;#x65;&amp;#x66;&amp;#x61;&amp;#x6b;efake&amp;#x66;&amp;#x61;&amp;#x6b;&amp;#x65;.onio&amp;#x6e;&lt;/em&gt;) in &lt;strong&gt;Address&lt;/strong&gt; and the path to the git repo (&lt;em&gt;/home/git/MyPrivateShare&lt;/em&gt;) in &lt;strong&gt;Remote Path&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/11/Screenshot-SparkleShare-Setup.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/Screenshot-SparkleShare-Setup.png&#34; alt=&#34;SparkleShare Setup&#34; width=&#34;686&#34; height=&#34;427&#34; class=&#34;alignnone size-full wp-image-11945&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/Screenshot-SparkleShare-Setup.png 686w, https://guardianproject.info/wp-content/uploads/2013/11/Screenshot-SparkleShare-Setup-300x186.png 300w&#34; sizes=&#34;(max-width: 686px) 100vw, 686px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now the client will download the entire git repository from the server, and you’ll then have a working shared dropbox! If there are a lot of files in it, then the first sync can take a long time before any files show up. This is because git first downloads the entire history first, then it checks out the files. After that initial setup, then the new files show up quite quickly.&lt;/p&gt;

&lt;p&gt;So this SparkleShare setup keeps your files on computers that you control, it prevents information and metadata from being leaked to the network while people are using this SparkleShare setup. When using Client Side Encryption, even less data is leaked. The server cannot access the content of the files at all since they are encrypted. The the server in this case would only be able to see the network traffic, and which ssh key was used to access the server. If everyone accessing this setup used the same user account (i.e. &lt;code&gt;git&lt;/code&gt;) and ssh key, then the server would not even know which user is making the changes. This is about as private as you could hope for in a shared dropbox folder.&lt;/p&gt;

&lt;p&gt;One last nice feature of this setup is that git server does not need a domain name, static IP or even a public IP, it just needs a working internet connection. As long as it can connect to Tor, then the Hidden Service will work. So if this private dropbox is for extra sensitive stuff, it could be stashed anywhere it can get power and wifi.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Setting up your own app store with F-Droid</title>
      <link>https://guardianproject.info/2013/11/05/setting-up-your-own-app-store-with-f-droid/</link>
      <pubDate>Tue, 05 Nov 2013 11:55:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/11/05/setting-up-your-own-app-store-with-f-droid/</guid>
      <description>

&lt;p&gt;(_This blog post as now been cooked into an &lt;a href=&#34;https://f-droid.org/wiki/page/Setup_an_FDroid_App_Repo&#34; target=&#34;_blank&#34;&gt;updated HOWTO&lt;/a&gt;_)&lt;/p&gt;

&lt;p&gt;The Google Play Store for Android is not available in all parts of the world, US law restricts its use in certain countries like Iran, and many countries block access to the Play Store, like China. Also, the Google Play Store tracks all user actions, reporting back to Google what apps have been installed and also run on the phone. Because of the NSA leaks, we’re seeing that governments are &lt;a href=&#34;http://www.theguardian.com/technology/2013/oct/30/google-reports-nsa-secretly-intercepts-data-links&#34; target=&#34;_blank&#34;&gt;actively tapping&lt;/a&gt; into &lt;a href=&#34;http://www.nytimes.com/2013/10/31/technology/nsa-is-mining-google-and-yahoo-abroad.html&#34; target=&#34;_blank&#34;&gt;the raw data streams&lt;/a&gt; of Google, Yahoo, and others. So that means the information the Google Play Store sends back to Google is also intercepted by the NSA (and probably other country’s agencies), and that information is shared with other governments. In other words, your activity on the Google Play Store is far from private. Lastly, the Google Play Store is not free software, unlike the core of Android itself. It is proprietary software that Google entirely controls.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/your-own-app-store.png&#34; alt=&#34;your-own-app-store&#34; width=&#34;300&#34; height=&#34;203&#34; class=&#34;alignright size-full wp-image-11896&#34; /&gt; &lt;a href=&#34;https://f-droid.org&#34; title=&#34;F-Droid Home Page&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt; is a wonderful, free app store for Android. It is modeled after the &lt;a href=&#34;http://www.debian.org&#34; title=&#34;Debian home page&#34; target=&#34;_blank&#34;&gt;Debian GNU/Linux&lt;/a&gt; distro. It has its own package repositories (repos) and build servers for all the apps that are part of the official OS. Like Debian and Ubuntu, you can also setup your own repos for anyone to use. Any free software can be added to the official F-Droid repos, where they are built and signed by the F-Droid server. This can be annoying because it means that your apps in F-Droid are signed by a different key than your apps in the Google Play Store. If you host your own F-Droid repo, then people can use F-Droid to install your own builds signed by your own signing key.&lt;/p&gt;

&lt;p&gt;This is a quick HOWTO for how to setup such a repository on a Debian or Ubuntu box. It is somewhat technical, you will use the terminal, but you don’t need to be a terminal expert to follow along. First you need a the &lt;code&gt;fdroidserver&lt;/code&gt; tools and a webserver. For the webserver, here we use &lt;em&gt;nginx&lt;/em&gt; for the webserver since its lightweight, but any will do if you already have one running. The fdroidserver tools are not yet in the official Debian/Ubuntu/etc repos, so you have to add our PPA (Personal Package Archive) to get it (fingerprint: &lt;tt&gt;F50E ADDD 2234 F563&lt;/tt&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo add-apt-repository ppa:guardianproject/ppa
sudo apt-get update
sudo apt-get install fdroidserver nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In the case of this HOWTO, we’re going to setup a “&lt;a href=&#34;https://f-droid.org/manual/fdroid.html#Simple-Binary-Repository&#34; target=&#34;_blank&#34;&gt;Simple Binary Repository&lt;/a&gt;” to host our official APKs. The repo will be set up in the recommended &lt;code&gt;fdroid/&lt;/code&gt; subdirectory. This gives the &lt;code&gt;fdroid&lt;/code&gt; tool its own directory to work in, and makes the repo URL clearly marked as an FDroid repo. Let’s give our normal user control over this subdirectory in the web root so that we don’t need to run the F-Droid tools as root (with &lt;em&gt;nginx&lt;/em&gt;, the webroot is &lt;code&gt;/usr/share/nginx/www&lt;/code&gt;, it is different for other webservers):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo mkdir /usr/share/nginx/www/fdroid
sudo chown -R $USER /usr/share/nginx/www/fdroid
cd /usr/share/nginx/www/fdroid
fdroid init
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now put your APK files into &lt;code&gt;/usr/share/nginx/www/fdroid/repo&lt;/code&gt; and you are ready to run the commands to build the repo (if &lt;code&gt;fdroid init&lt;/code&gt; cannot find your Android SDK in &lt;code&gt;/opt/android-sdk&lt;/code&gt; or &lt;code&gt;$ANDROID_HOME&lt;/code&gt;, it will prompt you for the path):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd /usr/share/nginx/www/fdroid
cp /path/to/*.apk /usr/share/nginx/www/fdroid/repo/
fdroid update -c
fdroid update
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href=&#34;https://f-droid.org&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3-300x75.png&#34; alt=&#34;fdroidheader3&#34; width=&#34;300&#34; height=&#34;75&#34; class=&#34;alignleft size-medium wp-image-11906&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3-300x75.png 300w, https://guardianproject.info/wp-content/uploads/2013/11/fdroidheader3.png 720w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;Voila! Now you have a working F-Droid Repo! Add it to an F-Droid client on your Android device to test it out. That is done in the &lt;strong&gt;Manage Repos&lt;/strong&gt; screen available from the menu. Your repo URL will be the hostname or IP address of your machine with &lt;code&gt;/fdroid/repo/&lt;/code&gt; added to the end of it, i.e. &lt;code&gt;https://mysecureserver.com/fdroid/repo/&lt;/code&gt; or &lt;code&gt;http://192.168.2.53/fdroid/repo/&lt;/code&gt;. You can temporarily uncheck the official repos to easily see what F-Droid found in your new repo.&lt;/p&gt;

&lt;h2 id=&#34;customization&#34;&gt;Customization&lt;/h2&gt;

&lt;p&gt;You can also customize your repo by editing the config file. Be sure to use a programming text editor, like &lt;code&gt;editor /usr/share/nginx/www/fdroid/config.py&lt;/code&gt;. In the config file, you can set the name of the repo, the description, the icon, paths to specific versions of the build tools, links to a related wiki, and whether to keep stats. Here’s the basic repo description block:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;repo_url = &amp;quot;https://guardianproject.info/fdroid/repo&amp;quot;
repo_name = &amp;quot;My Local Repo&amp;quot;
repo_icon = &amp;quot;GP_Logo_hires.png&amp;quot;
repo_description = &amp;quot;&amp;quot;&amp;quot;
This is a local test repository of Hans-Christoph Steiner &amp;lt;&amp;amp;#x68;a&amp;amp;#x6e;s@&amp;amp;#x67;ua&amp;amp;#x72;d&amp;amp;#x69;&amp;amp;#x61;n&amp;amp;#x70;ro&amp;amp;#x6a;e&amp;amp;#x63;&amp;amp;#x74;.&amp;amp;#x69;nf&amp;amp;#x6f;&amp;gt;.  It is a repository of Guardian Project apps.
&amp;quot;&amp;quot;&amp;quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To put your icon into your repo, choose a PNG image to put in your repo. The PNG goes in &lt;code&gt;/usr/share/nginx/www/fdroid/&lt;/code&gt;, the file can be named whatever you want (by default its &lt;code&gt;fdroid-icon.png&lt;/code&gt;). If you change the name from the default, be sure to update &lt;code&gt;repo_icon&lt;/code&gt; and &lt;code&gt;archive_icon&lt;/code&gt; in &lt;code&gt;/usr/share/nginx/www/fdroid/config.py&lt;/code&gt;&lt;/p&gt;

&lt;h2 id=&#34;more-security&#34;&gt;More Security&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/apg.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/apg-150x150.png&#34; alt=&#34;apg&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-1029&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/apg-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/02/apg.png 256w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;Now that you have a working repo, its time to improve the security. Generating a repo in place is very easy, that is why this HOWTO started there, but it is not as secure as it should be if your repo is going to be your main distribution point. When generating the repo in place, make sure that &lt;code&gt;config.py&lt;/code&gt; is not accessible via the web, since it contains passwords. If the file permissions are correct (e.g. &lt;code&gt;chmod 0600 config.py&lt;/code&gt;), then &lt;code&gt;config.py&lt;/code&gt; will not be readable by the webserver. But the signing keys will still be that public server. To improve this situation, generate the repo on a non-public machine like your laptop, keeping &lt;code&gt;config.py&lt;/code&gt; and the keystore only on that machine, then use &lt;code&gt;fdroid server update&lt;/code&gt; to publish the changes to your repo on a separate server. You just need to set &lt;code&gt;serverwebroot&lt;/code&gt; in &lt;code&gt;config.py&lt;/code&gt; properly, then &lt;code&gt;fdroid server update&lt;/code&gt; will do the publishing via rsync over ssh. So both computers will have to have ssh and rsync installed and setup.&lt;/p&gt;

&lt;p&gt;You can also use your own existing signing key rather than the one generated by &lt;code&gt;fdroid init&lt;/code&gt;, just edit &lt;code&gt;repo_keyalias&lt;/code&gt;, &lt;code&gt;keystore&lt;/code&gt;, &lt;code&gt;keystorepass&lt;/code&gt;, &lt;code&gt;keypass&lt;/code&gt;, and &lt;code&gt;keydname&lt;/code&gt; in &lt;code&gt;/usr/share/nginx/www/fdroid/config.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Since we like Tor and its Hidden Services for providing privacy, we also want to setup an F-Droid repository that is accessible over a Tor Hidden Service aka onion address. This will be covered in a future HOWTO.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Issues when distributing software</title>
      <link>https://guardianproject.info/2013/10/31/issues-when-distributing-software/</link>
      <pubDate>Thu, 31 Oct 2013 15:51:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/10/31/issues-when-distributing-software/</guid>
      <description>&lt;p&gt;There is currently a &lt;a href=&#34;http://lists.debian.org/debian-security/2013/10/msg00027.html&#34; target=&#34;_blank&#34;&gt;discussion underway on the Debian-security list&lt;/a&gt; about adding TLS and Tor functionality to the official repositories (repos) of Debian packages that is highlighting how we need to update how we think about the risks when distributing software. Mostly, we are used to thinking about making sure that the software that the user is installing is the same exact software that has been posted for distribution. This is generally handled by signing the software package, then verifying that signature on the user’s machine. This is how it works on Mac OS X, Windows, Debian, etc. etc.&lt;/p&gt;

&lt;p&gt;But the authenticity of a software package is not the only issue that needs to be addressed, especially these days where many companies and governments around the world are trying to track everything that anyone is doing on the internet. In order to understand why Tor and TLS would be useful here, it good to break down the various concerns (or threats if you prefer):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;package authenticity &lt;em&gt;(software can be modified while being downloaded)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;package availability &lt;em&gt;(software security updates can be individually blocked)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;repo availability &lt;em&gt;(internet services can be blocked by governments and companies)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;who’s downloading what package &lt;em&gt;(currently visible to anyone who can see the network traffic, including open wifi, etc.)&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most people distributing software are used to thinking about #1 verifying packages when thinking about the security of software distribution. #2, #3, and #4 are also important, and currently not well addressed. This is where TLS and Tor come in. Both can help prevent Man-In-The-Middle manipulations as well as reduce the amount of information that is leaked to the network. Tor can also help with #3. Since Tor is difficult to block, it is often uses to circumvent censorship. In this case a software repo could be blocked entirely, and Tor could help with gaining access to it. The Update Framework has &lt;a href=&#34;https://github.com/theupdateframework/tuf/blob/develop/README.md&#34; title=&#34;TUF: The Update Framework -  Security&#34; target=&#34;_blank&#34;&gt;a good overview of the possible attacks&lt;/a&gt; against software repos.&lt;/p&gt;

&lt;p&gt;So having software repos available with both TLS and Tor available as options is a very good idea. As far as I have seen, there are not any Debian repos available via a Tor Hidden Service. There are a number of official mirrors that already support TLS/HTTPS. You can find them using &lt;a href=&#34;https://gist.github.com/eighthave/7285154&#34; title=&#34;the script in a gist paste&#34; target=&#34;_blank&#34;&gt;this script:&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;#!/usr/bin/python

import urllib2
import re
import ssl
import sys

# # find generic mirrors
mirrors = urllib2.urlopen(&#39;http://www.debian.org/mirror/list&#39;)
https = []
for line in mirrors.readlines():
    m = re.match(&#39;.*&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;a rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;http(.*)&amp;quot;&amp;gt;.*&#39;, line)
    if m:
        url = &#39;https&#39; + m.group(1)
        print &#39;trying: &#39;,
        print url,
        print &#39;...&#39;,
        sys.stdout.flush()
        try:
            response=urllib2.urlopen(url, timeout=1)
            https.append(url)
            print &#39;success!&#39;
        except urllib2.URLError as err:
            print &#39;fail!&#39;
        except ssl.SSLError as err:
            print &#39;bad SSL!&#39;

# print &#39;HTTPS apt repos:&#39;
#for url in https:
#    print url


# # find security mirrors
mirrors = urllib2.urlopen(&#39;http://www.debian.org/mirror/list-full&#39;)
securitys = []
for line in mirrors.readlines():
    m = re.match(&#39;.*&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;Security updates over HTTP: &amp;lt;tt&amp;gt;&amp;lt;a rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;http(.*)&amp;quot;&amp;gt;.*/debian-security/&amp;lt;/a&amp;gt;.*&#39;, line)
    if m:
        url = &#39;https&#39; + m.group(1)
        print &#39;trying: &#39;,
        print url,
        print &#39;...&#39;,
        sys.stdout.flush()
        try:
            response=urllib2.urlopen(url, timeout=1)
            securitys.append(url)
            print &#39;success!&#39;
        except urllib2.URLError as err:
            print &#39;fail!&#39;
        except ssl.SSLError as err:
            print &#39;bad SSL!&#39;

# print &#39;HTTPS security repos:&#39;
# for url in securitys:
#     print url


# now find the backports mirrors
mirrors = urllib2.urlopen(&#39;http://backports-master.debian.org/Mirrors/&#39;)
backports = []
for line in mirrors.readlines():
#&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;http://be.mirror.eurid.eu/debian-backports/&amp;quot;&amp;gt;/debian-backports/&amp;lt;/a&amp;gt;
    m = re.match(&#39;.*&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;http(.*)&amp;quot;&amp;gt;.*/debian-backports/&amp;lt;/a&amp;gt;.*&#39;, line)
    if m:
        url = &#39;https&#39; + m.group(1)
        print &#39;trying: &#39;,
        print url,
        print &#39;...&#39;,
        sys.stdout.flush()
        try:
            response=urllib2.urlopen(url, timeout=1)
            backports.append(url)
            print &#39;success!&#39;
        except urllib2.URLError as err:
            print &#39;fail!&#39;
        except ssl.SSLError as err:
            print &#39;bad SSL!&#39;

#print &#39;HTTPS backports repos:&#39;
#for url in backports:
#    print url


# now find the CD image mirrors
mirrors = urllib2.urlopen(&#39;http://www.debian.org/CD/http-ftp/&#39;)
cds = []
for line in mirrors.readlines():
# &amp;lt;a rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;http://mirror.easyspeedy.com/debian-cd/&amp;quot;&amp;gt;HTTP&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
    m = re.match(&#39;.*&amp;lt;a rel=&amp;quot;nofollow&amp;quot; href=&amp;quot;http(:.*)&amp;quot;&amp;gt;HTTP&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;.*&#39;, line)
    if m:
        url = &#39;https&#39; + m.group(1)
        print &#39;trying: &#39;,
        print url,
        print &#39;...&#39;,
        sys.stdout.flush()
        try:
            response=urllib2.urlopen(url, timeout=1)
            cds.append(url)
            print &#39;success!&#39;
        except urllib2.URLError as err:
            print &#39;fail!&#39;
        except ssl.SSLError as err:
            print &#39;bad SSL!&#39;

print &#39;HTTPS CD image repos:&#39;
for url in cds:
    print url


# now write everything to a file
f = open(&#39;/tmp/https-debian-archives.txt&#39;, &#39;w&#39;)

f.write(&#39;HTTPS apt repos\n&#39;)
f.write(&#39;---------------\n&#39;)
for url in https:
    f.write(url + &#39;\n&#39;)

f.write(&#39;\n\nHTTPS security repos\n&#39;)
f.write(&#39;---------------\n&#39;)
for url in securitys:
    f.write(url + &#39;\n&#39;)

f.write(&#39;\n\nHTTPS backports repos\n&#39;)
f.write(&#39;--------------------\n&#39;)
for url in backports:
    f.write(url + &#39;\n&#39;)

f.write(&#39;\n\nHTTPS CD image repos\n&#39;)
f.write(&#39;--------------------\n&#39;)
for url in cds:
    f.write(url + &#39;\n&#39;)


f.close()
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>ChatSecure v12 Provides Comprehensive Mobile Security and a Whole New Look</title>
      <link>https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-mobile-security-and-a-whole-new-look/</link>
      <pubDate>Thu, 24 Oct 2013 01:50:13 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-mobile-security-and-a-whole-new-look/</guid>
      <description>&lt;p dir=&#34;ltr&#34;&gt;
  &lt;strong&gt;ChatSecure v12 Provides Comprehensive Mobile Security and a Whole New Look&lt;/strong&gt;&lt;strong&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;&lt;br /&gt; &lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  &lt;span style=&#34;font-size: 13px;&#34;&gt;The Guardian Project’s award-winning open-source app “Gibberbot” for Android, has been rebranded to “ChatSecure” for its version 12 release, unifying the branding with the iPhone and iPad apps, while offering major updates in security from the device through the network.&lt;/span&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  &lt;em&gt;&lt;strong&gt;Download on &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.otr.app.im&#34;&gt;Google Play&lt;/a&gt; or &lt;a href=&#34;https://guardianproject.info/releases/chatsecure-latest.apk&#34;&gt;Direct Download&lt;/a&gt; now.&lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  &lt;span style=&#34;font-size: 13px;&#34;&gt;October 20, New York, NY – The Guardian Project, a New York-based open-source mobile security incubator, has launched version 12 of its well-regarded secure messaging app for Android, rebranding it to “ChatSecure” to unify branding with existing open-source iPhone and iPad apps. The new upgrade brings an entirely new fluid user interface, and unprecedented security features for users looking to protect their message content (what they are saying) and their metadata (who, why and where) from malicious adversaries and apps, hostile network operators, and dragnet surveillance. It is completely open-source, utilizes interoperable protocols, and has undergone third-party security audits and code reviews.&lt;/span&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  &lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/store_new.png&#34; width=&#34;614&#34; height=&#34;300&#34; /&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  “We believe you should not have to compromise on choice and usability, to have reliable, strong security”, said Guardian Project founder, Nathan Freitas. “Some companies want to limit you to their closed, proprietary services that are centrally hosted and easily blocked or monitored. We see that as fragile and unsustainable, and ultimately, hostile and unfriendly to users, who want choice, freedom and the ability to easily and safely communicate with their friends and family around the world”.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  ChatSecure is compatible with thousands of instant messaging service providers around the world, including Google, Facebook, DuckDuckGo and Jabber.org. It also works with open-source server software, such as Prosody, enabling service providers, enterprise and other organizations to host their own servers. ChatSecure users also can communicate securely with anyone using a compatible app on Windows, Mac OS or Linux, such as Pidgin, Adium or Jitsi. The app also supports peer-to-peer wifi chat using Bonjour and Tor, allowing for secure messaging to happen even in places where there is no access to the internet or the internet is blocked. It also includes a quick access “Panic” feature to uninstall the app and wipe all local data.
&lt;/p&gt;

&lt;div id=&#39;gallery-9&#39; class=&#39;gallery galleryid-11821 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-security-and-a-whole-new-look/device-2013-10-24-013158/&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/10/device-2013-10-24-013158-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-security-and-a-whole-new-look/device-2013-10-24-013343/&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/10/device-2013-10-24-013343-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-security-and-a-whole-new-look/device-2013-10-24-013623/&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/10/device-2013-10-24-013623-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-security-and-a-whole-new-look/device-2013-10-24-013652/&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/10/device-2013-10-24-013652-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-security-and-a-whole-new-look/device-2013-10-24-014752/&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/10/device-2013-10-24-014752-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/2013/10/24/chatsecure-v12-provides-comprehensive-security-and-a-whole-new-look/device-2013-10-24-014836/&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/10/device-2013-10-24-014836-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  The software ensures the most secure network channels are utilized, by enforcing Certificate Pinning, Perfect-Forward Secrecy and communicating via the Tor network. All conversations held through ChatSecure can be encrypted using an open-standards end-to-end encryption protocol known as “Off the Record Messaging”, pioneered and hardened over the last decade by security researchers. All account data, messages and contacts stored on the device are encrypted and password protected using strong encryption provided by SQLCipher database software, ensuring no leakage of personal data if the device is lost, stolen or compromised.
&lt;/p&gt;

&lt;p&gt;Learn more and download at &lt;a href=&#34;https://guardianproject.info/apps/chatsecure/&#34;&gt;https://guardianproject.info/apps/chatsecure/&lt;/a&gt; or on Google Play. Learn more about the versions for iPhone and iPad at &lt;a href=&#34;https://chatsecure.org&#34;&gt;https://chatsecure.org&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Open Office Hours Every Friday This Fall</title>
      <link>https://guardianproject.info/2013/10/16/open-office-hours-every-friday-this-fall/</link>
      <pubDate>Wed, 16 Oct 2013 16:51:36 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/10/16/open-office-hours-every-friday-this-fall/</guid>
      <description>&lt;div&gt;
  &lt;strong&gt;Fri, Oct 18, 1:00 PM EDT – 3:00 PM&lt;/strong&gt;&lt;/p&gt; 
  
  &lt;div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;div&gt;
    &lt;div&gt;
      &lt;div&gt;
        &lt;div&gt;
          Members of the Guardian Project will be hosting &lt;a href=&#34;https://plus.google.com/events/cumq8tucoc31ap55iqdn7pq9abs&#34;&gt;weekly public hangouts&lt;/a&gt; every Friday for the rest of year to answer questions about our apps (Orbot, Orweb, ChatSecure), building on our mobile security libraries (IOCipher, SQLCipher, NetCipher) and using services like OStel (including how to run your own secure phone service!).&lt;/p&gt; 
          
          &lt;p&gt;
            We will also be live in IRC on Freenode at &lt;a href=&#34;https://plus.google.com/s/%23guardianproject&#34;&gt;#guardianproject&lt;/a&gt;  as always for those of you who don’t feel the need to be on camera.
          &lt;/p&gt;
          
          &lt;p&gt;
            Sound fun? You betcha it will be. This will be the &lt;b&gt;first&lt;/b&gt; event on Friday, so please come and join. &lt;a href=&#34;https://guardianproject.info/&#34; rel=&#34;nofollow&#34;&gt;https://guardianproject.info&lt;/a&gt;
          &lt;/p&gt;
        &lt;/div&gt;
        

&lt;pre&gt;&lt;code&gt;    &amp;lt;div&amp;gt;
      For EU, Africa, Asia: We’ll have some early sessions in the coming weeks. This is just our first test run. Thanks for understanding!
    &amp;lt;/div&amp;gt;

    &amp;lt;div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div&amp;gt;
      &amp;lt;strong&amp;gt;Fri, Oct 18, 1:00 PM EDT – 3:00 PM&amp;lt;/strong&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div&amp;gt;
      RSVP the Google+ Event today: &amp;lt;a href=&amp;quot;https://plus.google.com/events/cumq8tucoc31ap55iqdn7pq9abs&amp;quot;&amp;gt;https://plus.google.com/events/cumq8tucoc31ap55iqdn7pq9abs&amp;lt;/a&amp;gt; or we’ll just see you on IRC.
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Gibberbot’s “ChatSecure” MakeOver: Almost Done!</title>
      <link>https://guardianproject.info/2013/09/20/gibberbots-chatsecure-makeover-almost-done/</link>
      <pubDate>Fri, 20 Sep 2013 17:19:54 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/09/20/gibberbots-chatsecure-makeover-almost-done/</guid>
      <description>&lt;p&gt;In a previous post with the mouthful of a title &lt;a href=&#34;https://guardianproject.info/2013/07/16/modernizing-expectations-for-the-nouveau-secure-mobile-messaging-movement/&#34;&gt;“Modernizing Expectations for the Nouveau Secure Mobile Messaging Movement”&lt;/a&gt;, I spoke about all of the necessary security features a modern mobile messaging app should have. These include encrypted local storage, end-to-end verifiable encryption over the network, certificate pinning for server connections and a variety of other features. I am VERY happy to report that the latest v12 beta release of the project formerly known as Gibberbot, now called ChatSecure, has all of the features described in that post implemented. From a feature perspective, it is the most security mobile messaging app ever. We also hope that in reality, in practice, it also is, as we have spent a great deal of effort on security code audits, penetration testing, and responding to the outcomes of those effort, to further harden our app.&lt;/p&gt;

&lt;p&gt;NOW, moving on to a more lighthearted, but equally important topic – MAKEOVERS! Well, in truth, it is countless hours of study trying to understand how we could make our app not only secure, but also beautiful, efficient and fun. On top of that, countless more hours actually implementing it, debugging it across Android operating systems from 2.3 to 4.3, and making sure it works as well on a Nexus 7 tablet as it does a bargain basement ZTE device.&lt;/p&gt;

&lt;p&gt;Much of this effort was spent on features like themeing, emoji/emoticon support, swipe navigation and improved color schemes for various states of encryption. This may seem frivolous to some, especially while they are “real” problems out there like backdoored basebands and weakened random number generators. However, while we continue to do all we can to ensure our apps are fortresses, we also must make sure they are comfortable fortresses, as we hope and expect our users to spend many hours a day inside of them. If you eyes will be staring at something for that long, don’t you want smooth fonts, and cohesive color schemes? If you are going to be navigating between chats and buddies a hundred times a day, wouldn’t you expect us to make that as seamless an move as possible? Yes, yes, and so we did!&lt;/p&gt;

&lt;p&gt;In the end, we designed our software around people who have little patience or spare time, and every right to be that way – activists, human rights defenders, journalists – people on the front lines in conflict zones and change in their society around the world. Usability for them means they have more time to be in the real world, while still having our apps maximize the precious time they have to communicate digitally, and of course, ensure that the walls of our digital fortress around them are as high and hard as can be.&lt;/p&gt;

&lt;p&gt;You can get your hands on this fully functional beta right here on HockeyApp: &lt;a href=&#34;https://rink.hockeyapp.net/apps/2fa3b9252319e47367f1f125bb3adcd1/&#34;&gt;https://rink.hockeyapp.net/apps/2fa3b9252319e47367f1f125bb3adcd1/&lt;/a&gt; or directly from our site – &lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v12.4.0-beta4-release.apk&#34;&gt;ChatSecure APK&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/releases/ChatSecure-v12.4.0-beta4-release.apk.asc&#34;&gt;signature ASC&lt;/a&gt;.&lt;br /&gt;
&lt;strong&gt;WARNING: The current beta does not supporting importing your existing account configurations, and you will need to setup the accounts again.&lt;/strong&gt;&lt;/p&gt;

&lt;div id=&#39;gallery-8&#39; class=&#39;gallery galleryid-11695 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/account-list-light.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/account-list-light-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/account-list-dark.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/account-list-dark-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/account-create-new.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/account-create-new-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/contact-grid-light.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/contact-grid-light-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/contact-grid-sidebar.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/contact-grid-sidebar-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/contact-grid-sidebar-dark.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/contact-grid-sidebar-dark-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/contact-profile-dark.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/contact-profile-dark-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-dark-emoji.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-dark-emoji-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-light-sticker.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-light-sticker-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-profile-overlay.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-profile-overlay-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-with-sharebar.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-with-sharebar-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/otr-file-xfer.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/otr-file-xfer-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/otr-file-xfer-notifications.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/otr-file-xfer-notifications-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-with-wallpaper.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-with-wallpaper-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-MUC-join.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-MUC-join-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/09/chat-muc-beer.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/chat-muc-beer-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#39;clear: both&#39; /&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>KeySync: Syncing Trusted Identities</title>
      <link>https://guardianproject.info/archive/keysync/</link>
      <pubDate>Thu, 12 Sep 2013 15:50:07 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/keysync/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/keysync.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/keysync.png&#34; alt=&#34;KeySync&#34; width=&#34;196&#34; height=&#34;196&#34; class=&#34;alignright size-full wp-image-11797&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/keysync.png 256w, https://guardianproject.info/wp-content/uploads/2013/09/keysync-150x150.png 150w&#34; sizes=&#34;(max-width: 196px) 100vw, 196px&#34; /&gt;&lt;/a&gt;Privacy and security software like OTR encryption for chat and GnuPG for email and files all create digital identities that we can mark as trusted through a verification process. When using this software, each app needs completely new security identities that are separate from any existing identities used by the other apps. Then again, mobile software needs it own versions of these identity files. When setting up ChatSecure on a mobile device, all of the trust information from existing chat apps like Adium or Pidgin also needs to be converted and transferred so that ChatSecure has the same trusted identities. Or when switching from Pidgin to Jitsi for instant messaging, the trust information needs to be converted and synced so the trust information is not lost.&lt;/p&gt;

&lt;p&gt;This is where KeySync comes in. KeySync reads and writes many different formats of OTR chat apps and converts between them. It also makes it easy to sync the trust information to your Android device for use with ChatSecure. There is also some exploratory support for syncing identities between OTR and OpenPGP via GnuPG support in KeySync.&lt;/p&gt;

&lt;h2 id=&#34;how-to-sync-to-chatsecure&#34;&gt;How To Sync To ChatSecure&lt;/h2&gt;

&lt;p&gt;To sync between ChatSecure and your desktop apps, First plug in your phone or device&lt;br /&gt;
via USB. Start KeySync and it should automatically detect your device. If KeySync cannot find your device, it will save the file for you to manually copy the &lt;strong&gt;otr_keystore.ofcaes&lt;/strong&gt; file over to your device&amp;rsquo;s SD Card, where ChatSecure looks for it. Once the file is in place on your device, start ChatSecure. In ChatSecure, go to the &lt;strong&gt;Accounts&lt;/strong&gt;, then select &lt;strong&gt;Activate KeySync&lt;/strong&gt; from the menu. This will guide you to scan the QRCode that KeySync shows you in order to complete the sync.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;otr_keystore.ofcaes&lt;/code&gt; file is encrypted to prevent your private information from leaking out. That QRCode is the password to your keystore, so do not share it with anyone. Also, the &lt;code&gt;otr_keystore.ofcaes&lt;/code&gt; file is only intended for use in this sync procedure. Do not email it or send it anywhere over the internet!&lt;/p&gt;

&lt;h2 id=&#34;warning&#34;&gt;Warning!&lt;/h2&gt;

&lt;p&gt;This is beta software, do not rely on it for strong identity verification. It is unlikely to mess up so bad as to produce compromised private keys, but anything is possible. Also, keep in mind that program is handling your private OTR keys, so make sure that you don&amp;rsquo;t copy, send or email the `otr_keystore.ofcaes` file somewhere nsafe. All that said, testing and feedback is greatly appreciated, so we can get it to the point where we can trust it.&lt;/p&gt;

&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting Bugs&lt;/h2&gt;

&lt;p&gt;Please report any bugs or issues that you have with this app! We want to hear from you, no need to worry about technical details or language skills. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/keysync/issues/new&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg&#34; alt=&#34;report bug&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-12362&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-100x100.jpg 100w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-200x200.jpg 200w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug.jpg 225w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt; &lt;strong style=&#34;font-size: 200%&#34;&gt;Report a Bug or Issue&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/keysync/issues?query_id=27&#34; title=&#34;Issue Tracker&#34; target=&#34;_blank&#34;&gt;List of all open issues&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/keysync/issues/new&#34; title=&#34;New Issue Tracker&#34; target=&#34;_blank&#34;&gt;submit a new issue report&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a name=&#34;download&#34;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;download&#34;&gt;Download&lt;/h2&gt;

&lt;p&gt;*&lt;img src=&#34;https://guardianproject.info/builds/.icons/platform_windows.gif&#34; alt=&#34;Windows&#34; /&gt; &lt;strong&gt;Windows&lt;/strong&gt; executable
      * Download and install OpenSSL: &lt;a href=&#34;https://slproweb.com/download/Win32OpenSSL_Light-1_0_1f.exe&#34;&gt;Win32OpenSSL_Light-1_0_1f.exe&lt;/a&gt;
      * When prompted install into the &amp;ldquo;Windows system directory&amp;rdquo;
      * Note: The prompt asking for a donation will go to the company that produces OpenSSL installers for Windows, not The Guardian Project.
      * If you get an error when trying to install OpenSSL, you probably need in stall the &lt;a href=&#34;https://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&#34;&gt;Visual C++ 2008 Redistributables&lt;/a&gt; from Microsoft.
      * Download KeySync - no installation required: &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.exe&#34;&gt;KeySync-0.2.exe&lt;/a&gt;
          * &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.exe.asc&#34;&gt;detached gpg signature&lt;/a&gt;
          * MD5: &lt;code&gt;1fb7a5ec050d03f59104a41494c559fd&lt;/code&gt;
          * SHA256: &lt;code&gt;422fd0ddb6d85a6f509a1c9a868ce87437af7ac895ba8c4fa7f366d83114be07&lt;/code&gt;
      *&lt;img src=&#34;https://guardianproject.info/builds/.icons/platform_mac_os_x.gif&#34; alt=&#34;Mac OS X&#34; /&gt; &lt;strong&gt;Mac OS X&lt;/strong&gt; &lt;em&gt;(10.6 or newer, 64-bit only)&lt;/em&gt;: &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.app.zip&#34;&gt;KeySync-0.2.app.zip&lt;/a&gt;
          * &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.app.zip.sig&#34;&gt;detached gpg signature&lt;/a&gt;
          * MD5: &lt;code&gt;f6a1744a783d1cc5dc3070e1a16d79fd&lt;/code&gt;
          * SHA256: &lt;code&gt;429dc303fb1d2673b953a2543b0e168f0410ce1cd14d4167f0dbf888fdf162d0&lt;/code&gt;
      *&lt;img src=&#34;https://guardianproject.info/builds/.icons/platform_ubuntu_linux.gif&#34; alt=&#34;Ubuntu&#34; /&gt; &lt;strong&gt;Ubuntu, Linux Mint, etc.&lt;/strong&gt; Run this in the Terminal to add &lt;a href=&#34;https://launchpad.net/~guardianproject/+archive/ppa/&#34; title=&#34;Guardian Project PPA on Launchpad&#34; target=&#34;_blank&#34;&gt;our PPA&lt;/a&gt; to your package sources. You only need to do this once, you&amp;rsquo;ll get updated versions automatically once this is complete (fingerprint: &lt;code&gt;F50E ADDD 2234 F563&lt;/code&gt;): &lt;pre style=&#34;font-size: small;&#34;&gt;sudo add-apt-repository ppa:guardianproject/ppa
sudo apt-get update
sudo apt-get install keysync
&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  *![Fedora](https://guardianproject.info/builds/.icons/platform_fedora_linux.gif) **Fedora 17, 18, 19**: Run this in your Terminal to add &amp;lt;a href=&amp;quot;https://build.opensuse.org/project/show/security:guardianproject&amp;quot;  target=&amp;quot;_blank&amp;quot;&amp;gt;our repository&amp;lt;/a&amp;gt; to your package sources. You only need to do this once, you&#39;ll get updated versions automatically once this is complete (fingerprint: `AC38 BED1 E879 79EA FD54`): &amp;lt;pre style=&amp;quot;font-size: small;&amp;quot;&amp;gt;source /etc/os-release
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;sudo wget &lt;a href=&#34;https://download.opensuse.org/repositories/security:guardianproject/Fedora_${VERSION_ID}/security:guardianproject.repo&#34;&gt;https://download.opensuse.org/repositories/security:guardianproject/Fedora_${VERSION_ID}/security:guardianproject.repo&lt;/a&gt; -O /etc/yum.repos.d/security:guardianproject.repo
sudo yum install keysync
&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  *![Debian](https://guardianproject.info/builds/.icons/platform_debian_gnu_linux.gif) **Debian**: &amp;lt;a href=&amp;quot;https://packages.debian.org/search?keywords=keysync&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;included in the official repos&amp;lt;/a&amp;gt;. For wheezy, get it from backports: &amp;lt;pre style=&amp;quot;font-size: small;&amp;quot;&amp;gt;apt-get -t wheezy-backports install keysync
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  *![Arch Linux](https://guardianproject.info/builds/.icons/platform_arch_linux.gif) **Arch Linux**: &amp;lt;a href=&amp;quot;https://aur.archlinux.org/packages/keysync/&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;included in the AUR&amp;lt;/a&amp;gt;. Please vote for it so it can be included in the official community repository. 
  *![Python pypi](https://guardianproject.info/builds/.icons/python-logo.gif) Any Platform with Python, install via &amp;lt;a href=&amp;quot;https://pypi.python.org/pypi/keysync&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;pypi&amp;lt;/a&amp;gt; (see the &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync/blob/master/win32/README.md&amp;quot; target=&amp;quot;_blank&amp;quot; title=&amp;quot;Building KeySync on Windows&amp;quot;&amp;gt;special instructions for Windows&amp;lt;/a&amp;gt;) &amp;lt;pre style=&amp;quot;font-size: small;&amp;quot;&amp;gt;pip install keysync
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/pre&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;a name=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;

### Source

  * For more info on the code and installation, &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync/blob/master/README.md&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;see the README&amp;lt;/a&amp;gt;
  * github: &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync&amp;quot; title=&amp;quot;KeySync source repo&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;https://github.com/guardianproject/keysync&amp;lt;/a&amp;gt;
  * &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync/releases&amp;quot; title=&amp;quot;KeySync source tarballs&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;downloadable tags on github&amp;lt;/a&amp;gt;
## Known Issues

See the &amp;lt;a href=&amp;quot;https://dev.guardianproject.info/projects/keysync/roadmap&amp;quot; title=&amp;quot;KeySync Development Roadmap&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;KeySync Roadmap&amp;lt;/a&amp;gt; for our development plan. Here are some notable known issues:

  * does not handle multiple keys/fingerprints for a given account (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/1868&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#1868&amp;lt;/a&amp;gt;)
  * GUI only syncs to ChatSecure (full two-way sync is planned) (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/1968&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#1968&amp;lt;/a&amp;gt;)
  * no way to handle conflicting private keys for an account (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/1963&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#1963&amp;lt;/a&amp;gt;)
  * no translations, only in English (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/2170&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#2170&amp;lt;/a&amp;gt;)
  * &amp;lt;a title=&amp;quot;existing KeySync issues&amp;quot; href=&amp;quot;https://dev.guardianproject.info/projects/keysync/issues&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;View all open issues&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>KeySync: Syncing Trusted Identities</title>
      <link>https://guardianproject.info/archive/keysync/</link>
      <pubDate>Thu, 12 Sep 2013 15:50:07 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/keysync/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/keysync.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/keysync.png&#34; alt=&#34;KeySync&#34; width=&#34;196&#34; height=&#34;196&#34; class=&#34;alignright size-full wp-image-11797&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/keysync.png 256w, https://guardianproject.info/wp-content/uploads/2013/09/keysync-150x150.png 150w&#34; sizes=&#34;(max-width: 196px) 100vw, 196px&#34; /&gt;&lt;/a&gt;Privacy and security software like OTR encryption for chat and GnuPG for email and files all create digital identities that we can mark as trusted through a verification process. When using this software, each app needs completely new security identities that are separate from any existing identities used by the other apps. Then again, mobile software needs it own versions of these identity files. When setting up ChatSecure on a mobile device, all of the trust information from existing chat apps like Adium or Pidgin also needs to be converted and transferred so that ChatSecure has the same trusted identities. Or when switching from Pidgin to Jitsi for instant messaging, the trust information needs to be converted and synced so the trust information is not lost.&lt;/p&gt;

&lt;p&gt;This is where KeySync comes in. KeySync reads and writes many different formats of OTR chat apps and converts between them. It also makes it easy to sync the trust information to your Android device for use with ChatSecure. There is also some exploratory support for syncing identities between OTR and OpenPGP via GnuPG support in KeySync.&lt;/p&gt;

&lt;h2 id=&#34;how-to-sync-to-chatsecure&#34;&gt;How To Sync To ChatSecure&lt;/h2&gt;

&lt;p&gt;To sync between ChatSecure and your desktop apps, First plug in your phone or device&lt;br /&gt;
via USB. Start KeySync and it should automatically detect your device. If KeySync cannot find your device, it will save the file for you to manually copy the &lt;strong&gt;otr_keystore.ofcaes&lt;/strong&gt; file over to your device&amp;rsquo;s SD Card, where ChatSecure looks for it. Once the file is in place on your device, start ChatSecure. In ChatSecure, go to the &lt;strong&gt;Accounts&lt;/strong&gt;, then select &lt;strong&gt;Activate KeySync&lt;/strong&gt; from the menu. This will guide you to scan the QRCode that KeySync shows you in order to complete the sync.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;otr_keystore.ofcaes&lt;/code&gt; file is encrypted to prevent your private information from leaking out. That QRCode is the password to your keystore, so do not share it with anyone. Also, the &lt;code&gt;otr_keystore.ofcaes&lt;/code&gt; file is only intended for use in this sync procedure. Do not email it or send it anywhere over the internet!&lt;/p&gt;

&lt;h2 id=&#34;warning&#34;&gt;Warning!&lt;/h2&gt;

&lt;p&gt;This is beta software, do not rely on it for strong identity verification. It is unlikely to mess up so bad as to produce compromised private keys, but anything is possible. Also, keep in mind that program is handling your private OTR keys, so make sure that you don&amp;rsquo;t copy, send or email the `otr_keystore.ofcaes` file somewhere nsafe. All that said, testing and feedback is greatly appreciated, so we can get it to the point where we can trust it.&lt;/p&gt;

&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting Bugs&lt;/h2&gt;

&lt;p&gt;Please report any bugs or issues that you have with this app! We want to hear from you, no need to worry about technical details or language skills. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/keysync/issues/new&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg&#34; alt=&#34;report bug&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-12362&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-100x100.jpg 100w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-200x200.jpg 200w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug.jpg 225w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt; &lt;strong style=&#34;font-size: 200%&#34;&gt;Report a Bug or Issue&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/keysync/issues?query_id=27&#34; title=&#34;Issue Tracker&#34; target=&#34;_blank&#34;&gt;List of all open issues&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/keysync/issues/new&#34; title=&#34;New Issue Tracker&#34; target=&#34;_blank&#34;&gt;submit a new issue report&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a name=&#34;download&#34;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;download&#34;&gt;Download&lt;/h2&gt;

&lt;p&gt;*&lt;img src=&#34;https://guardianproject.info/builds/.icons/platform_windows.gif&#34; alt=&#34;Windows&#34; /&gt; &lt;strong&gt;Windows&lt;/strong&gt; executable
      * Download and install OpenSSL: &lt;a href=&#34;https://slproweb.com/download/Win32OpenSSL_Light-1_0_1f.exe&#34;&gt;Win32OpenSSL_Light-1_0_1f.exe&lt;/a&gt;
      * When prompted install into the &amp;ldquo;Windows system directory&amp;rdquo;
      * Note: The prompt asking for a donation will go to the company that produces OpenSSL installers for Windows, not The Guardian Project.
      * If you get an error when trying to install OpenSSL, you probably need in stall the &lt;a href=&#34;https://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&#34;&gt;Visual C++ 2008 Redistributables&lt;/a&gt; from Microsoft.
      * Download KeySync - no installation required: &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.exe&#34;&gt;KeySync-0.2.exe&lt;/a&gt;
          * &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.exe.asc&#34;&gt;detached gpg signature&lt;/a&gt;
          * MD5: &lt;code&gt;1fb7a5ec050d03f59104a41494c559fd&lt;/code&gt;
          * SHA256: &lt;code&gt;422fd0ddb6d85a6f509a1c9a868ce87437af7ac895ba8c4fa7f366d83114be07&lt;/code&gt;
      *&lt;img src=&#34;https://guardianproject.info/builds/.icons/platform_mac_os_x.gif&#34; alt=&#34;Mac OS X&#34; /&gt; &lt;strong&gt;Mac OS X&lt;/strong&gt; &lt;em&gt;(10.6 or newer, 64-bit only)&lt;/em&gt;: &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.app.zip&#34;&gt;KeySync-0.2.app.zip&lt;/a&gt;
          * &lt;a href=&#34;https://guardianproject.info/releases/KeySync-0.2.app.zip.sig&#34;&gt;detached gpg signature&lt;/a&gt;
          * MD5: &lt;code&gt;f6a1744a783d1cc5dc3070e1a16d79fd&lt;/code&gt;
          * SHA256: &lt;code&gt;429dc303fb1d2673b953a2543b0e168f0410ce1cd14d4167f0dbf888fdf162d0&lt;/code&gt;
      *&lt;img src=&#34;https://guardianproject.info/builds/.icons/platform_ubuntu_linux.gif&#34; alt=&#34;Ubuntu&#34; /&gt; &lt;strong&gt;Ubuntu, Linux Mint, etc.&lt;/strong&gt; Run this in the Terminal to add &lt;a href=&#34;https://launchpad.net/~guardianproject/+archive/ppa/&#34; title=&#34;Guardian Project PPA on Launchpad&#34; target=&#34;_blank&#34;&gt;our PPA&lt;/a&gt; to your package sources. You only need to do this once, you&amp;rsquo;ll get updated versions automatically once this is complete (fingerprint: &lt;code&gt;F50E ADDD 2234 F563&lt;/code&gt;): &lt;pre style=&#34;font-size: small;&#34;&gt;sudo add-apt-repository ppa:guardianproject/ppa
sudo apt-get update
sudo apt-get install keysync
&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  *![Fedora](https://guardianproject.info/builds/.icons/platform_fedora_linux.gif) **Fedora 17, 18, 19**: Run this in your Terminal to add &amp;lt;a href=&amp;quot;https://build.opensuse.org/project/show/security:guardianproject&amp;quot;  target=&amp;quot;_blank&amp;quot;&amp;gt;our repository&amp;lt;/a&amp;gt; to your package sources. You only need to do this once, you&#39;ll get updated versions automatically once this is complete (fingerprint: `AC38 BED1 E879 79EA FD54`): &amp;lt;pre style=&amp;quot;font-size: small;&amp;quot;&amp;gt;source /etc/os-release
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;sudo wget &lt;a href=&#34;https://download.opensuse.org/repositories/security:guardianproject/Fedora_${VERSION_ID}/security:guardianproject.repo&#34;&gt;https://download.opensuse.org/repositories/security:guardianproject/Fedora_${VERSION_ID}/security:guardianproject.repo&lt;/a&gt; -O /etc/yum.repos.d/security:guardianproject.repo
sudo yum install keysync
&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  *![Debian](https://guardianproject.info/builds/.icons/platform_debian_gnu_linux.gif) **Debian**: &amp;lt;a href=&amp;quot;https://packages.debian.org/search?keywords=keysync&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;included in the official repos&amp;lt;/a&amp;gt;. For wheezy, get it from backports: &amp;lt;pre style=&amp;quot;font-size: small;&amp;quot;&amp;gt;apt-get -t wheezy-backports install keysync
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  *![Arch Linux](https://guardianproject.info/builds/.icons/platform_arch_linux.gif) **Arch Linux**: &amp;lt;a href=&amp;quot;https://aur.archlinux.org/packages/keysync/&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;included in the AUR&amp;lt;/a&amp;gt;. Please vote for it so it can be included in the official community repository. 
  *![Python pypi](https://guardianproject.info/builds/.icons/python-logo.gif) Any Platform with Python, install via &amp;lt;a href=&amp;quot;https://pypi.python.org/pypi/keysync&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;pypi&amp;lt;/a&amp;gt; (see the &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync/blob/master/win32/README.md&amp;quot; target=&amp;quot;_blank&amp;quot; title=&amp;quot;Building KeySync on Windows&amp;quot;&amp;gt;special instructions for Windows&amp;lt;/a&amp;gt;) &amp;lt;pre style=&amp;quot;font-size: small;&amp;quot;&amp;gt;pip install keysync
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/pre&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;a name=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;

### Source

  * For more info on the code and installation, &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync/blob/master/README.md&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;see the README&amp;lt;/a&amp;gt;
  * github: &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync&amp;quot; title=&amp;quot;KeySync source repo&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;https://github.com/guardianproject/keysync&amp;lt;/a&amp;gt;
  * &amp;lt;a href=&amp;quot;https://github.com/guardianproject/keysync/releases&amp;quot; title=&amp;quot;KeySync source tarballs&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;downloadable tags on github&amp;lt;/a&amp;gt;
## Known Issues

See the &amp;lt;a href=&amp;quot;https://dev.guardianproject.info/projects/keysync/roadmap&amp;quot; title=&amp;quot;KeySync Development Roadmap&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;KeySync Roadmap&amp;lt;/a&amp;gt; for our development plan. Here are some notable known issues:

  * does not handle multiple keys/fingerprints for a given account (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/1868&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#1868&amp;lt;/a&amp;gt;)
  * GUI only syncs to ChatSecure (full two-way sync is planned) (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/1968&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#1968&amp;lt;/a&amp;gt;)
  * no way to handle conflicting private keys for an account (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/1963&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#1963&amp;lt;/a&amp;gt;)
  * no translations, only in English (&amp;lt;a href=&amp;quot;https://dev.guardianproject.info/issues/2170&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;#2170&amp;lt;/a&amp;gt;)
  * &amp;lt;a title=&amp;quot;existing KeySync issues&amp;quot; href=&amp;quot;https://dev.guardianproject.info/projects/keysync/issues&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;View all open issues&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Press</title>
      <link>https://guardianproject.info/press/</link>
      <pubDate>Thu, 12 Sep 2013 12:47:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/press/</guid>
      <description>

&lt;div style=&#34;text-align: center;&#34;&gt;
&lt;a href=&#34;https://www.nytimes.com/2013/07/18/technology/personaltech/digital-tools-to-help-curb-online-eavesdropping.html?pagewanted=all&amp;_r=0&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;The_New_York_Times_logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/The_New_York_Times_logo-300x44.png&#34; width=&#34;373&#34; height=&#34;52&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.nytimes.com/2012/04/18/nyregion/nadim-kobeissi-creator-of-a-secure-chat-program-has-freedom-in-mind.html&#34; target=&#34;_blank&#34;&gt;https://www.nytimes.com/2012/04/18/nyregion/nadim-kobeissi-creator-of-a-secure-chat-program-has-freedom-in-mind.html&lt;/a&gt;

&lt;a href=&#34;https://www.nytimes.com/2013/07/18/technology/personaltech/digital-tools-to-help-curb-online-eavesdropping.html?pagewanted=all&amp;_r=0&#34; target=&#34;_blank&#34;&gt;https://www.nytimes.com/2013/07/18/technology/personaltech/digital-tools-to-help-curb-online-eavesdropping.html&lt;/a&gt;

&lt;a href=&#34;https://artsbeat.blogs.nytimes.com/2012/05/02/occupy-wall-street-from-the-streets-to-the-archives/&#34; target=&#34;_blank&#34;&gt;https://artsbeat.blogs.nytimes.com/2012/05/02/occupy-wall-street-from-the-streets-to-the-archives/&lt;/a&gt;&lt;/p&gt; 

&lt;a href=&#34;https://arstechnica.com/information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;ars-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/ars-logo-300x300.png&#34; width=&#34;77&#34; height=&#34;77&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://arstechnica.com/information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&#34; target=&#34;_blank&#34;&gt;https://arstechnica.com/information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&lt;/a&gt;

&lt;a href=&#34;https://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter&#34; alt=&#34;economist-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/274178_ekonomist_orig.jpg&#34; width=&#34;146&#34; height=&#34;73&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&#34; target=&#34;_blank&#34;&gt;https://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&lt;/a&gt;&lt;br /&gt; &lt;a href=&#34;https://www.pbs.org/mediashift/2012/12/data-security-101-for-journalists341/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;pbs-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/PBS_logo.png&#34; width=&#34;148&#34; height=&#34;57&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.pbs.org/idealab/tag/informacam&#34; target=&#34;_blank&#34;&gt;https://www.pbs.org/idealab/tag/informacam&lt;/a&gt;

&lt;a href=&#34;https://www.pbs.org/mediashift/2012/12/data-security-101-for-journalists341/&#34; target=&#34;_blank&#34;&gt;https://www.pbs.org/mediashift/2012/12/data-security-101-for-journalists341/&lt;/a&gt;

&lt;a href=&#34;https://techcrunch.com/2012/04/26/onion-browser-a-mobile-browser-for-the-truly-paranoid/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;TC-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/tc-techcrunch_logo-620x240.png&#34; width=&#34;340&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;
  
&lt;a href=&#34;https://techcrunch.com/2012/04/26/onion-browser-a-mobile-browser-for-the-truly-paranoid/&#34; target=&#34;_blank&#34;&gt;https://techcrunch.com/2012/04/26/onion-browser-a-mobile-browser-for-the-truly-paranoid/&lt;/a&gt;
  
&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/propublica.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11681 alignnone&#34; alt=&#34;propublica&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/propublica.jpg&#34; width=&#34;250&#34; height=&#34;124&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.propublica.org/article/a-buyers-guide-to-safer-communication&#34; target=&#34;_blank&#34;&gt;https://www.propublica.org/article/a-buyers-guide-to-safer-communication&lt;/a&gt;

&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/businessweek.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11679&#34; alt=&#34;businessweek&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/businessweek-300x63.jpg&#34; width=&#34;300&#34; height=&#34;63&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/businessweek-300x63.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/09/businessweek.jpg 456w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.businessweek.com/blogs/very-near-future/tag/Informacam&#34; target=&#34;_blank&#34;&gt;https://www.businessweek.com/blogs/very-near-future/tag/Informacam&lt;/a&gt;

&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11682 alignnone&#34; alt=&#34;TechPresident-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo-300x82.jpg&#34; width=&#34;300&#34; height=&#34;82&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo-300x82.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo.jpg 320w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://techpresident.com/blog-entry/guardian-project-building-mobile-security-dangerous-world&#34; target=&#34;_blank&#34;&gt;https://techpresident.com/blog-entry/guardian-project-building-mobile-security-dangerous-world&lt;/a&gt;

&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/huffpo.jpeg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11680 alignnone&#34; alt=&#34;huffpo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/huffpo-300x119.jpeg&#34; width=&#34;300&#34; height=&#34;119&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/huffpo-300x119.jpeg 300w, https://guardianproject.info/wp-content/uploads/2013/09/huffpo.jpeg 311w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
&lt;a href=&#34;https://www.huffingtonpost.com/2013/09/05/online-privacy-study_n_3870670.html&#34; target=&#34;_blank&#34;&gt;https://www.huffingtonpost.com/2013/09/05/online-privacy-study_n_3870670.html&lt;/a&gt;
&lt;/div&gt;

&lt;h2 id=&#34;press-contacts&#34;&gt;PRESS CONTACTS&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000;&#34;&gt;&lt;span style=&#34;font-family: Arial, serif;&#34;&gt;Nathan Freitas, Project Founder&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000;&#34;&gt;&lt;span style=&#34;font-family: Arial, serif;&#34;&gt;+1.718.569.7272&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000;&#34;&gt;&lt;span style=&#34;font-family: Arial, serif;&#34;&gt;&lt;a href=&#34;&amp;#x6d;&amp;#x61;&amp;#105;lto&amp;#x3a;&amp;#x6e;&amp;#x61;&amp;#116;ha&amp;#x6e;&amp;#x40;&amp;#x67;&amp;#117;ar&amp;#x64;&amp;#x69;&amp;#x61;&amp;#110;pr&amp;#x6f;&amp;#x6a;&amp;#x65;&amp;#99;t.i&amp;#x6e;&amp;#x66;&amp;#x6f;&#34;&gt;n&amp;#x61;&amp;#x74;h&amp;#x61;&amp;#x6e;&amp;#64;&amp;#x67;&amp;#x75;a&amp;#114;&amp;#x64;i&amp;#97;&amp;#x6e;p&amp;#114;&amp;#x6f;j&amp;#101;&amp;#x63;t.&amp;#x69;&amp;#x6e;f&amp;#x6f;&lt;/a&gt; (GPG: 0x69B37AA9)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2 id=&#34;press-kit&#34;&gt;PRESS KIT&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Download our Press Kit for logos, screenshots, device photos, team photos and more: &lt;a href=&#34;https://github.com/guardianproject/GuardianProjectPressKit/archive/master.zip&#34;&gt;https://github.com/guardianproject/GuardianProjectPressKit/archive/master.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;press-releases&#34;&gt;PRESS RELEASES&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;March 10, 2014 &lt;a href=&#34;https://docs.google.com/document/d/1kI6dV6nPSd1z3MkxSTMRT8P9DcFQ9uOiNFcUlGTjjXA/edit?usp=sharing&#34;&gt;GOOGLE EXECUTIVE CHAIRMAN ERIC SCHMIDT AWARDS GUARDIAN PROJECT A “NEW DIGITAL AGE” GRANT&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Press</title>
      <link>https://guardianproject.info/press/</link>
      <pubDate>Thu, 12 Sep 2013 12:47:19 -0400</pubDate>
      
      <guid>https://guardianproject.info/press/</guid>
      <description>

&lt;div style=&#34;text-align: center;&#34;&gt;
&lt;a href=&#34;https://www.nytimes.com/2013/07/18/technology/personaltech/digital-tools-to-help-curb-online-eavesdropping.html?pagewanted=all&amp;_r=0&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;The_New_York_Times_logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/The_New_York_Times_logo-300x44.png&#34; width=&#34;373&#34; height=&#34;52&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.nytimes.com/2012/04/18/nyregion/nadim-kobeissi-creator-of-a-secure-chat-program-has-freedom-in-mind.html&#34; target=&#34;_blank&#34;&gt;https://www.nytimes.com/2012/04/18/nyregion/nadim-kobeissi-creator-of-a-secure-chat-program-has-freedom-in-mind.html&lt;/a&gt;

&lt;a href=&#34;https://www.nytimes.com/2013/07/18/technology/personaltech/digital-tools-to-help-curb-online-eavesdropping.html?pagewanted=all&amp;_r=0&#34; target=&#34;_blank&#34;&gt;https://www.nytimes.com/2013/07/18/technology/personaltech/digital-tools-to-help-curb-online-eavesdropping.html&lt;/a&gt;

&lt;a href=&#34;https://artsbeat.blogs.nytimes.com/2012/05/02/occupy-wall-street-from-the-streets-to-the-archives/&#34; target=&#34;_blank&#34;&gt;https://artsbeat.blogs.nytimes.com/2012/05/02/occupy-wall-street-from-the-streets-to-the-archives/&lt;/a&gt;&lt;/p&gt; 

&lt;a href=&#34;https://arstechnica.com/information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;ars-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/ars-logo-300x300.png&#34; width=&#34;77&#34; height=&#34;77&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://arstechnica.com/information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&#34; target=&#34;_blank&#34;&gt;https://arstechnica.com/information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&lt;/a&gt;

&lt;a href=&#34;https://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter&#34; alt=&#34;economist-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/274178_ekonomist_orig.jpg&#34; width=&#34;146&#34; height=&#34;73&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&#34; target=&#34;_blank&#34;&gt;https://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&lt;/a&gt;&lt;br /&gt; &lt;a href=&#34;https://www.pbs.org/mediashift/2012/12/data-security-101-for-journalists341/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;pbs-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/PBS_logo.png&#34; width=&#34;148&#34; height=&#34;57&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.pbs.org/idealab/tag/informacam&#34; target=&#34;_blank&#34;&gt;https://www.pbs.org/idealab/tag/informacam&lt;/a&gt;

&lt;a href=&#34;https://www.pbs.org/mediashift/2012/12/data-security-101-for-journalists341/&#34; target=&#34;_blank&#34;&gt;https://www.pbs.org/mediashift/2012/12/data-security-101-for-journalists341/&lt;/a&gt;

&lt;a href=&#34;https://techcrunch.com/2012/04/26/onion-browser-a-mobile-browser-for-the-truly-paranoid/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;TC-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/tc-techcrunch_logo-620x240.png&#34; width=&#34;340&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;
  
&lt;a href=&#34;https://techcrunch.com/2012/04/26/onion-browser-a-mobile-browser-for-the-truly-paranoid/&#34; target=&#34;_blank&#34;&gt;https://techcrunch.com/2012/04/26/onion-browser-a-mobile-browser-for-the-truly-paranoid/&lt;/a&gt;
  
&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/propublica.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11681 alignnone&#34; alt=&#34;propublica&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/propublica.jpg&#34; width=&#34;250&#34; height=&#34;124&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.propublica.org/article/a-buyers-guide-to-safer-communication&#34; target=&#34;_blank&#34;&gt;https://www.propublica.org/article/a-buyers-guide-to-safer-communication&lt;/a&gt;

&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/businessweek.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11679&#34; alt=&#34;businessweek&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/businessweek-300x63.jpg&#34; width=&#34;300&#34; height=&#34;63&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/businessweek-300x63.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/09/businessweek.jpg 456w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://www.businessweek.com/blogs/very-near-future/tag/Informacam&#34; target=&#34;_blank&#34;&gt;https://www.businessweek.com/blogs/very-near-future/tag/Informacam&lt;/a&gt;

&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11682 alignnone&#34; alt=&#34;TechPresident-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo-300x82.jpg&#34; width=&#34;300&#34; height=&#34;82&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo-300x82.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/09/TechPresident-logo.jpg 320w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;

&lt;a href=&#34;https://techpresident.com/blog-entry/guardian-project-building-mobile-security-dangerous-world&#34; target=&#34;_blank&#34;&gt;https://techpresident.com/blog-entry/guardian-project-building-mobile-security-dangerous-world&lt;/a&gt;

&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/huffpo.jpeg&#34;&gt;&lt;img class=&#34;size-medium wp-image-11680 alignnone&#34; alt=&#34;huffpo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/huffpo-300x119.jpeg&#34; width=&#34;300&#34; height=&#34;119&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/09/huffpo-300x119.jpeg 300w, https://guardianproject.info/wp-content/uploads/2013/09/huffpo.jpeg 311w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
&lt;a href=&#34;https://www.huffingtonpost.com/2013/09/05/online-privacy-study_n_3870670.html&#34; target=&#34;_blank&#34;&gt;https://www.huffingtonpost.com/2013/09/05/online-privacy-study_n_3870670.html&lt;/a&gt;
&lt;/div&gt;

&lt;h2 id=&#34;press-contacts&#34;&gt;PRESS CONTACTS&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000;&#34;&gt;&lt;span style=&#34;font-family: Arial, serif;&#34;&gt;Nathan Freitas, Project Founder&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000;&#34;&gt;&lt;span style=&#34;font-family: Arial, serif;&#34;&gt;+1.718.569.7272&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000;&#34;&gt;&lt;span style=&#34;font-family: Arial, serif;&#34;&gt;&lt;a href=&#34;&amp;#x6d;&amp;#x61;&amp;#105;lto&amp;#x3a;&amp;#x6e;&amp;#x61;&amp;#116;ha&amp;#x6e;&amp;#x40;&amp;#x67;&amp;#117;ar&amp;#x64;&amp;#x69;&amp;#x61;&amp;#110;pr&amp;#x6f;&amp;#x6a;&amp;#x65;&amp;#99;t.i&amp;#x6e;&amp;#x66;&amp;#x6f;&#34;&gt;n&amp;#x61;&amp;#x74;h&amp;#x61;&amp;#x6e;&amp;#64;&amp;#x67;&amp;#x75;a&amp;#114;&amp;#x64;i&amp;#97;&amp;#x6e;p&amp;#114;&amp;#x6f;j&amp;#101;&amp;#x63;t.&amp;#x69;&amp;#x6e;f&amp;#x6f;&lt;/a&gt; (GPG: 0x69B37AA9)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2 id=&#34;press-kit&#34;&gt;PRESS KIT&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Download our Press Kit for logos, screenshots, device photos, team photos and more: &lt;a href=&#34;https://github.com/guardianproject/GuardianProjectPressKit/archive/master.zip&#34;&gt;https://github.com/guardianproject/GuardianProjectPressKit/archive/master.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;press-releases&#34;&gt;PRESS RELEASES&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;March 10, 2014 &lt;a href=&#34;https://docs.google.com/document/d/1kI6dV6nPSd1z3MkxSTMRT8P9DcFQ9uOiNFcUlGTjjXA/edit?usp=sharing&#34;&gt;GOOGLE EXECUTIVE CHAIRMAN ERIC SCHMIDT AWARDS GUARDIAN PROJECT A “NEW DIGITAL AGE” GRANT&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Security You Can Trust</title>
      <link>https://guardianproject.info/trust/</link>
      <pubDate>Wed, 11 Sep 2013 16:08:14 -0400</pubDate>
      
      <guid>https://guardianproject.info/trust/</guid>
      <description>&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/207290-phone-security-lock.jpg&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-11649&#34; style=&#34;border: 0px none;&#34; alt=&#34;207290-phone-security-lock&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/207290-phone-security-lock-300x168.jpg&#34; width=&#34;480&#34; height=&#34;268&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2 id=&#34;span-style-color-c0c0c0-trusted-by-the-press-span&#34;&gt;&lt;span style=&#34;color: #c0c0c0;&#34;&gt;TRUSTED BY THE PRESS&lt;/span&gt;&lt;/h2&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/The_New_York_Times_logo.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;The_New_York_Times_logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/The_New_York_Times_logo-300x44.png&#34; width=&#34;300&#34; height=&#34;44&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://arstechnica.com//information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;ars-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/ars-logo-300x300.png&#34; width=&#34;72&#34; height=&#34;72&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&#34;span-style-color-c0c0c0-partners-everywhere-span&#34;&gt;&lt;span style=&#34;color: #c0c0c0;&#34;&gt;PARTNERS EVERYWHERE&lt;/span&gt;&lt;/h2&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/USA-RFA-Logo-color.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;USA RFA Logo (color)&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/USA-RFA-Logo-color-300x126.png&#34; width=&#34;162&#34; height=&#34;68&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/google-logo.jpeg&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;google-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/google-logo-300x150.jpeg&#34; width=&#34;152&#34; height=&#34;76&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/internews_logo.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;internews_logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/internews_logo.png&#34; width=&#34;124&#34; height=&#34;108&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/Zetetic.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;Zetetic&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/Zetetic.png&#34; width=&#34;163&#34; height=&#34;40&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&#34;span-style-color-c0c0c0-download-secure-apps-span&#34;&gt;&lt;span style=&#34;color: #c0c0c0;&#34;&gt;DOWNLOAD SECURE APPS&lt;/span&gt;&lt;/h2&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/amazon.jpg&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;amazon&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/amazon-300x300.jpg&#34; width=&#34;61&#34; height=&#34;61&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/get_it_on_play_logo_large.png&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;get_it_on_play_logo_large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/get_it_on_play_logo_large.png&#34; width=&#34;172&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Security You Can Trust</title>
      <link>https://guardianproject.info/trust/</link>
      <pubDate>Wed, 11 Sep 2013 16:08:14 -0400</pubDate>
      
      <guid>https://guardianproject.info/trust/</guid>
      <description>&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/207290-phone-security-lock.jpg&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-11649&#34; style=&#34;border: 0px none;&#34; alt=&#34;207290-phone-security-lock&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/207290-phone-security-lock-300x168.jpg&#34; width=&#34;480&#34; height=&#34;268&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2 id=&#34;span-style-color-c0c0c0-trusted-by-the-press-span&#34;&gt;&lt;span style=&#34;color: #c0c0c0;&#34;&gt;TRUSTED BY THE PRESS&lt;/span&gt;&lt;/h2&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/The_New_York_Times_logo.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;The_New_York_Times_logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/The_New_York_Times_logo-300x44.png&#34; width=&#34;300&#34; height=&#34;44&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://arstechnica.com//information-technology/2011/04/for-paranoid-androids-guardian-project-supplies-smartphone-security/&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;ars-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/ars-logo-300x300.png&#34; width=&#34;72&#34; height=&#34;72&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&#34;span-style-color-c0c0c0-partners-everywhere-span&#34;&gt;&lt;span style=&#34;color: #c0c0c0;&#34;&gt;PARTNERS EVERYWHERE&lt;/span&gt;&lt;/h2&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/USA-RFA-Logo-color.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;USA RFA Logo (color)&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/USA-RFA-Logo-color-300x126.png&#34; width=&#34;162&#34; height=&#34;68&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/google-logo.jpeg&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;google-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/google-logo-300x150.jpeg&#34; width=&#34;152&#34; height=&#34;76&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/internews_logo.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;internews_logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/internews_logo.png&#34; width=&#34;124&#34; height=&#34;108&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/09/Zetetic.png&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;Zetetic&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/09/Zetetic.png&#34; width=&#34;163&#34; height=&#34;40&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&#34;span-style-color-c0c0c0-download-secure-apps-span&#34;&gt;&lt;span style=&#34;color: #c0c0c0;&#34;&gt;DOWNLOAD SECURE APPS&lt;/span&gt;&lt;/h2&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/amazon.jpg&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;amazon&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/amazon-300x300.jpg&#34; width=&#34;61&#34; height=&#34;61&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/get_it_on_play_logo_large.png&#34; target=&#34;_blank&#34;&gt;&lt;img style=&#34;border: 0px none;&#34; alt=&#34;get_it_on_play_logo_large&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/get_it_on_play_logo_large.png&#34; width=&#34;172&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Keeping data private means it must be truly deletable!</title>
      <link>https://guardianproject.info/2013/08/23/keeping-data-private-means-it-must-be-truly-deletable/</link>
      <pubDate>Fri, 23 Aug 2013 17:36:49 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/08/23/keeping-data-private-means-it-must-be-truly-deletable/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/08/erase-hard-drive.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/08/erase-hard-drive-150x150.jpg&#34; alt=&#34;deleting data&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-11598&#34; /&gt;&lt;/a&gt;There are lots of apps these days that promise to keep your data secure, and even some that promise to wipe away private information mere seconds or minutes after it has been received. It is one thing to keep data out of view from people you don’t want seeing it, it is also important to be able to truly delete information. Unfortunately computers make it very difficult to make data truly disappear. When we tell a computer to delete a file, it only deletes the reference to the data. The data itself remains on the disk unchanged. For any UNIX geek out there, you can easily see an example of that by greping a partition (e.g. &lt;code&gt;sudo grep password /dev/sda3&lt;/code&gt;. To solve this problem, there are “secure delete” options. Secure deletion removes the reference like regular deletion, then wipes the data on the disk by overwriting it with random data. That’s much better, but not always good enough. It turns out that its possible to remove the hard disk and read magnetic residue and recover even wiped data.&lt;/p&gt;

&lt;p&gt;Mobile devices only make that problem worse because they almost always rely on flash memory for disk storage. Flash memory has wear-leveling programming built into it, so it is not possible to guarantee that a file will be wiped without overwriting the whole flash disk, then deleting it all and overwriting the whole thing again. Not only is it not practical to delete the whole disk just to remove one file, it also takes a long time.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/08/coldbootattack.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/08/coldbootattack-300x199.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;199&#34; class=&#34;alignleft size-medium wp-image-11600&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/08/coldbootattack-300x199.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/08/coldbootattack.jpg 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;So what can we do about this? Use encryption! [&lt;a href=&#34;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.225.6872&#34; title=&#34;Secure Data Deletion for USB Flash Memory (2011)&#34; target=&#34;_blank&#34;&gt;1&lt;/a&gt;] If the data is encrypted before its written to either a classic hard drive or flash memory disk, then the actual data is never on the disk itself. If the data is encrypted with a good passphrase, then just “forgetting” the key will make it basically impossible to recover the data. Additionally, encrypted data looks like random data, so it is easy to hide the deleted, encrypted data from the recovery techniques by adding random garbage to the disk. It turns out that with the right architecture, a key can be forgotten quite quickly, much quicker than even the most basic secure deletion.&lt;/p&gt;

&lt;p&gt;This logic is built into our new passphrase library &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34; target=&#34;_blank&#34;&gt;Cacheword&lt;/a&gt;. Cacheword is a library for securely working with and caching passphrases. It plugs right into &lt;a href=&#34;https://guardianproject.info/code/sqlcipher&#34; target=&#34;_blank&#34;&gt;SQLCipher for Android&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34; target=&#34;_blank&#34;&gt;IOCipher&lt;/a&gt;. SQLCipher and IOCipher are both ways for easily storing data using strong AES-256 encryption. Cacheword then handles getting the passphrase from the user. Instead of feeding that passphrase directly to SQLCipher or IOCipher, it creates an encrypted file for storing a strong AES-256 key and that is what is used to lock SQLCipher and IOCipher. The user’s passphrase then just unlocks that encrypted key file.&lt;/p&gt;

&lt;p&gt;The means you can get rapid deletion of data stores of any size by just deleting the key file. The user never sees the actual key so they cannot divulge it. Since the user’s passphrase is not the key for the data but instead the key to the Cacheword key file, the secure deletion can first focus on that key file. The key file is small, so that can happen very quickly. Then even if the data files are recovered, the user does not has the passphrase to the data, its only locked away in the now deleted key file. The key was stored encrypted, so a standard deletion will provide decent protection: it will look like random data on the disk.&lt;/p&gt;

&lt;p&gt;To really ensure the key and the data is gone for good, an app can implement a full wiping procedure. Normal wiping procedures can follow as a background task, making it harder and harder to recover the data, no matter who the adversary is. The full wiping procedure would go something like this (with a rough timeframe for each step):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cacheword wipes the passphrase from memory (nanoseconds to milliseconds)&lt;/li&gt;
&lt;li&gt;the Cacheword key file is deleted (milliseconds)&lt;/li&gt;
&lt;li&gt;write random garbage to disk patterned after the key file to obscure the deleted key file (milliseconds to minutes)&lt;/li&gt;
&lt;li&gt;delete the SQLCipher/IOCipher data files (seconds to minutes)&lt;/li&gt;
&lt;li&gt;fill entire memory (RAM) with random garbage (minutes to hours)&lt;/li&gt;
&lt;li&gt;fill entire disk with random garbage (hours)&lt;/li&gt;
&lt;li&gt;power off device&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s the overview of the process. But of course, there are always annoying technical details, and I’ll continue on about some of them, for those who like such things.&lt;/p&gt;

&lt;p&gt;To start with, the user’s passphrase will most likely be stored in memory by code outside of Cacheword, SQLCipher, and IOCipher. For example, the Android text entry widget will have the passphrase pass thru it, and inevitably will store that data in memory. It is up to the garbage collection to remove that from memory, and the garbage collection might not zero out the memory before deallocating it. We’re still looking into ideas for how to trigger that, and would love to hear suggestions.&lt;/p&gt;

&lt;p&gt;To truly wipe the data from the disk, there would need to be multiple passes where the entire disk is filled up then the entire disk is deleted. That is rarely practical. So hiding the existence of the encrypted data stores is difficult to do in practice. The encrypted data will remain encrypted with AES-256 using a random, full length key, so it would be basically impossible to crack using publicly known technology and techniques.&lt;/p&gt;

&lt;p&gt;The best bet for preventing the most advanced adversary from getting the deleted data would involve a few cycles of rebooting, filling up the memory and disk with random garbage after doing the procedure outlined above. A more rapid version of that would be to delay filling the disk until after a reboot. That would ensure that the key to the data is thoroughly wiped as quickly as possible before starting in on the much less important and long lasting task of wiping the entire disk to hide the deleted data files.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orweb Security Advisory: Possible IP leakage with HTML5 video/audio</title>
      <link>https://guardianproject.info/2013/08/21/orweb-security-advisory-possible-ip-leakage-with-html5-video/audio/</link>
      <pubDate>Wed, 21 Aug 2013 16:15:36 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/08/21/orweb-security-advisory-possible-ip-leakage-with-html5-video/audio/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;Orweb browser app&lt;/a&gt; is vulnerable to &lt;a href=&#34;https://dev.guardianproject.info/issues/1754&#34;&gt;leak the actual IP of the device&lt;/a&gt; it is on, if it loads a page with HTML5 video or audio tags on them, and those tags are set to auto-start or display a poster frame. On some versions of Android, the video and audio player start/load events happen without the user requesting anything, and the request to the URL for the media src or through image poster is made outside of the proxy settings.&lt;/p&gt;

&lt;p&gt;The Android WebView component upon which Orweb is built, does not &lt;a href=&#34;https://github.com/guardianproject/OnionKit/blob/master/libonionkit/src/info/guardianproject/onionkit/web/WebkitProxy.java&#34;&gt;pass on the proxy settings&lt;/a&gt; for the web page to embedded media players it displays. Additionally, even though the &lt;a href=&#34;http://developer.android.com/reference/android/webkit/WebSettings.PluginState.html&#34;&gt;proper API calls are made&lt;/a&gt; to turn off all plugins, apparently HTML5 video and audio players not considered plugins, and there is no way to disable them at an API level.&lt;/p&gt;

&lt;p&gt;We are currently working to determine which versions of Android these issues occur on. We have a fix implemented that filters all video and audio tag instances out of retrieved content, and on newer versions of Android, that requires a user gesture/tap before media players are loaded.&lt;/p&gt;

&lt;p&gt;We expect to have a fix out in the next 24 to 48 hours. In the meantime, if you are using Orweb with the goal of strong anonymity, and not just circumvention or proxying, we advise you to avoid all sites that may include HTML5 video or audio content embedded in the pages, or to just stop using the app all together. Alternatively, you can use &lt;a href=&#34;https://www.mozilla.org/en-US/mobile/&#34;&gt;Firefox for Android&lt;/a&gt; with the &lt;a href=&#34;https://guardianproject.info/apps/proxymob-firefox-add-on/&#34;&gt;Proxy Mobile&lt;/a&gt; add-on (load this XPI within Firefox: &lt;a href=&#34;https://guardianproject.info/releases/proxymob-latest.xpi&#34;&gt;https://guardianproject.info/releases/proxymob-latest.xpi&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This does NOT affect users who use the root mode with transparent proxying, as that handles proxying the entire traffic of the entire device or a particular app.&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot v12 now in beta</title>
      <link>https://guardianproject.info/2013/07/24/orbot-v12-now-in-beta/</link>
      <pubDate>Wed, 24 Jul 2013 12:32:45 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/07/24/orbot-v12-now-in-beta/</guid>
      <description>&lt;p&gt;After much too long, we’ve got a new build of Orbot out, and it is… a stable beta! Nothing radically new here, just many small changes to continue to improve the experience of our hundreds of thousands of active users out in the world. There will likely be one or two more “beta” releases to iron out small issues in v12, but for now, this one is good to go.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/mightyorbot.jpg&#34;&gt;&lt;img alt=&#34;mightyorbot&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/mightyorbot-225x300.jpg&#34; width=&#34;225&#34; height=&#34;300&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;a very might orbot&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The really exciting aspect of this release is that we have ironed out some integration points with other apps, like our own Gibberbot, and third-party apps like DuckDuckGo. These apps can now tell if Orbot is installed, running, and if not, request it to start up. Once Orbot is started, it will return to the calling app, and let them know they can proceed with routing their traffic over Tor. We hope that through use of our &lt;a href=&#34;https://github.com/guardianproject/OnionKit/blob/master/libonionkit/src/info/guardianproject/onionkit/ui/OrbotHelper.java&#34;&gt;OrbotHelper utility&lt;/a&gt; (part of the &lt;a href=&#34;https://github.com/guardianproject/OnionKit&#34;&gt;OnionKit/NetCipher library&lt;/a&gt;), many more apps will choose to provide their users with better anonymity and privacy of their network traffic.&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;Since we haven’t done a release in awhile, and we have some new build &lt;/span&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;tools, I mostly want to make sure I have not done something terribly &lt;/span&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;wrong in the build process. Please confirm back if you are able to &lt;/span&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;successfully use this release. You can report issues &lt;a href=&#34;https://dev.guardianproject.info/projects/orbot/issues/new&#34;&gt;on our bug tracker&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;We’ve switched versioning styles to a simpler major.minor.bugfix “semantic” model, so this is now Orbot 12.0.1.&lt;/p&gt;

&lt;p&gt;Signed 12.0.1 beta release build is here:&lt;br /&gt;
&lt;a href=&#34;https://rink.hockeyapp.net/apps/92ace552aa5344d1a802decb71525897/&#34;&gt;https://rink.hockeyapp.net/apps/92ace552aa5344d1a802decb71525897/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Direct APK is here: &lt;a href=&#34;https://guardianproject.info/releases/Orbot-release-12.0.1-beta-1.apk&#34;&gt;https://guardianproject.info/releases/Orbot-release-12.0.1-beta-1.apk&lt;/a&gt; (&lt;a href=&#34;https://guardianproject.info/releases/Orbot-release-12.0.1-beta-1.apk.asc&#34;&gt;gpg sig&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;We also have automated “nightly” debug builds from the development branch:&lt;br /&gt;
&lt;a href=&#34;https://guardianproject.info/builds/Orbot/&#34;&gt;https://guardianproject.info/builds/Orbot/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Updates in 12.0.1:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;updated to Tor 0.2.4.15-RC&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;flashy screen bug fixed&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;now shows traffic stats in notification area&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;better handling of preference settings changes&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;added superuser permission for Cyanogen&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;better support for “start” Intent, integration with other apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tagged source is here:&lt;br /&gt;
&lt;a href=&#34;https://gitweb.torproject.org/n8fr8/orbot.git/log/refs/tags/12.0.1&#34;&gt;https://gitweb.torproject.org/n8fr8/orbot.git/log/refs/tags/12.0.1&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Jitsi, ostel.co and ISP censorship</title>
      <link>https://guardianproject.info/2013/07/22/jitsi-ostel.co-and-isp-censorship/</link>
      <pubDate>Mon, 22 Jul 2013 15:33:44 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/07/22/jitsi-ostel.co-and-isp-censorship/</guid>
      <description>&lt;p&gt;Earlier last week n8fr8 suspected something changed on the ostel.co server, due to many users emailing support specifically about Jitsi connectivity to ostel.co. The common question was “why did it work a few weeks ago and now it doesn’t anymore?”&lt;/p&gt;

&lt;p&gt;The tl;dr follows, skip to keyword CONCLUSION to hear only the punch line.&lt;/p&gt;

&lt;p&gt;To support n8fr8’s hypothesis, there was a small change to the server but I wan’t convinced it effected anything since all my clients continued to work properly, including Jitsi. Obviously &lt;em&gt;something&lt;/em&gt; had changed but none of us knew what it was. After some testing we discovered the problem was related to insecure connections from Jitsi to UDP port 5060 on ostel.co. Secure connections (on TCP port 5061) continued to work as expected.&lt;/p&gt;

&lt;p&gt;To make matters more confusing, I could register and make calls with two different clients (CSipSimple and Linphone) on the same network (my home ISP, Verizon FiOS) using an insecure connection to ostel.co on UDP port 5060.&lt;/p&gt;

&lt;p&gt;At this point I was like WTF?&lt;/p&gt;

&lt;p&gt;I went back to the server, diffed all the configs, checked server versions, connected with every client I could find that would run on any of my computers. The only change was a Kamailio upgrade from 4.0.1 to 4.0.2. A minor point release. The problem with Jitsi remained. What could the server be doing to this poor client?&lt;/p&gt;

&lt;p&gt;I did a packet trace on the ostel.co server’s public network interface, filtered to dump packets only on UDP port 5060 that match my SIP username. I opened Jitsi and things got interesting. For the curious, here’s the utility and options I used. If you are new to operating a SIP network, ngrep is an excellent tool for debugging.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ngrep -d eth0 -t -p -W byline foo port 5060&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I’ll include an excerpt (I’ve included only the relevant headers for this issue) of the initial request from Jitsi. IP addresses and usernames have been changed to protect the innocent.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;U 2013/07/19 22:17:34.920749 0.0.0.0:5060 -&amp;gt; 66.151.32.200:5060&amp;lt;br /&amp;gt;
REGISTER sip:ostel.co SIP/2.0.&amp;lt;br /&amp;gt;
CSeq: 1 REGISTER.&amp;lt;br /&amp;gt;
From: &amp;quot;foo&amp;quot; &amp;lt;sip:&amp;amp;#x66;&amp;amp;#x6f;&amp;amp;#x6f;&amp;amp;#x40;&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;&amp;amp;#x65;&amp;amp;#x6c;&amp;amp;#x2e;&amp;amp;#x63;&amp;amp;#x6f;&amp;gt;;tag=1eb3467e.&amp;lt;br /&amp;gt;
To: &amp;quot;foo&amp;quot; &amp;lt;sip:&amp;amp;#x66;&amp;amp;#x6f;&amp;amp;#x6f;&amp;amp;#x40;&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;&amp;amp;#x65;l.co&amp;gt;.&amp;lt;br /&amp;gt;
Via: SIP/2.0/UDP 0.0.0.0:49152;branch=z9hG4bK-393535-2269e43afef0b312554eb419a8d0540e.&amp;lt;br /&amp;gt;
User-Agent: Jitsi2.3.4752Linux.&amp;lt;br /&amp;gt;
Contact: &amp;quot;foo&amp;quot; &amp;lt;sip:foo@0.0.0.0:49152;transport=udp;registering_acc=ostel_co&amp;gt;;expires=600.&amp;lt;br /&amp;gt;
.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;U 2013/07/19 22:17:34.921155 66.151.32.200:5060 -&amp;gt; 0.0.0.0:5060&lt;br /&gt;
SIP/2.0 401 Unauthorized.&lt;br /&gt;
CSeq: 1 REGISTER.&lt;br /&gt;
From: “foo” &lt;a href=&#34;sip:fo&amp;amp;#x6f;@&amp;amp;#x6f;s&amp;amp;#x74;e&amp;amp;#x6c;.&amp;amp;#x63;o&#34;&gt;sip:fo&amp;amp;#x6f;@&amp;amp;#x6f;s&amp;amp;#x74;e&amp;amp;#x6c;.&amp;amp;#x63;o&lt;/a&gt;;tag=1eb3467e.&lt;br /&gt;
To: “foo” &lt;a href=&#34;sip:foo@&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;&amp;amp;#x65;l.co&#34;&gt;sip:foo@&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;&amp;amp;#x65;l.co&lt;/a&gt;;tag=e01f0de2cdfebbeefc5ff0c8eabbb8b3.2f1f.&lt;br /&gt;
Via: SIP/2.0/UDP 0.0.0.0:49152;branch=z9hG4bK-393535-2269e43afef0b312554eb419a8d0540e;rport=5060.&lt;br /&gt;
WWW-Authenticate: Digest realm=”ostel.co”, nonce=”Uen0alHp8z4d6ePDl83RtMwARltAxzQu”, qop=”auth”.&lt;br /&gt;
Server: kamailio (4.0.2 (x86_64/linux)).&lt;/p&gt;

&lt;p&gt;If you read the response, you’ll see Kamailio sent 401 Unauthorized. This is normal for SIP authentication. A second client request should follow it, which should contain an Authorization header with an md5 and a nonce. When Kamailio receives this request, checks the auth database and sends a 200 OK response, the client is authenticated.&lt;/p&gt;

&lt;p&gt;The SIP dialog looks good but Jitsi continues not to register. The dialog flow is cut off after the 401 Unauthorized response. It’s almost like something has blocked the response to the client.&lt;/p&gt;

&lt;p&gt;Since I could register Linphone using the same account, I did the same trace for that client. Here’s the excerpt.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;U 2013/07/19 22:33:18.372770 0.0.0.0:42680 -&amp;gt; 66.151.32.200:5060&amp;lt;br /&amp;gt;
REGISTER sip:ostel.co SIP/2.0.&amp;lt;br /&amp;gt;
Via: SIP/2.0/UDP 0.0.0.0:49153;rport;branch=z9hG4bK359459505.&amp;lt;br /&amp;gt;
From: &amp;lt;sip:f&amp;amp;#x6f;o&amp;amp;#x40;&amp;amp;#x6f;s&amp;amp;#x74;e&amp;amp;#x6c;&amp;amp;#x2e;c&amp;amp;#x6f;&amp;gt;;tag=142131416.&amp;lt;br /&amp;gt;
To: &amp;lt;sip:fo&amp;amp;#x6f;@&amp;amp;#x6f;s&amp;amp;#x74;e&amp;amp;#x6c;.&amp;amp;#x63;o&amp;gt;.&amp;lt;br /&amp;gt;
CSeq: 3 REGISTER.&amp;lt;br /&amp;gt;
Contact: &amp;lt;sip:foo@0.0.0.0:49153;line=65da8bffcabe8c4&amp;gt;.&amp;lt;br /&amp;gt;
User-Agent: LinphoneAndroid/2.1.2-1-g23b7fc0 (eXosip2/3.6.0).&amp;lt;br /&amp;gt;
.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;U 2013/07/19 22:33:18.373112 66.151.32.200:5060 -&amp;gt; 0.0.0.0:42680&lt;br /&gt;
SIP/2.0 401 Unauthorized.&lt;br /&gt;
Via: SIP/2.0/UDP 0.0.0.0:49153;rport=42680;branch=z9hG4bK359459505.&lt;br /&gt;
From: &lt;a href=&#34;sip:&amp;amp;#x66;&amp;amp;#x6f;&amp;amp;#x6f;&amp;amp;#x40;&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;&amp;amp;#x65;&amp;amp;#x6c;&amp;amp;#x2e;&amp;amp;#x63;&amp;amp;#x6f;&#34;&gt;sip:&amp;amp;#x66;&amp;amp;#x6f;&amp;amp;#x6f;&amp;amp;#x40;&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;&amp;amp;#x65;&amp;amp;#x6c;&amp;amp;#x2e;&amp;amp;#x63;&amp;amp;#x6f;&lt;/a&gt;;tag=142131416.&lt;br /&gt;
To: &lt;a href=&#34;sip:foo&amp;amp;#x40;&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;el.c&amp;amp;#x6f;&#34;&gt;sip:foo&amp;amp;#x40;&amp;amp;#x6f;&amp;amp;#x73;&amp;amp;#x74;el.c&amp;amp;#x6f;&lt;/a&gt;;tag=e01f0de2cdfebbeefc5ff0c8eabbb8b3.4065.&lt;br /&gt;
CSeq: 3 REGISTER.&lt;br /&gt;
WWW-Authenticate: Digest realm=”ostel.co”, nonce=”Uen4GlHp9u4FwHNY/uE1iQQNCfGHJiob”, qop=”auth”.&lt;br /&gt;
Server: kamailio (4.0.2 (x86_64/linux)).&lt;/p&gt;

&lt;p&gt;This 401 Unauthorized response was received by the client and the follow up request with the Authorization header was sent with the correct digest. Linphone registered. I made a call. Everything worked fine. Indeed WTF?&lt;/p&gt;

&lt;p&gt;I stared at these traces for a while to get a clue. Look again at the first line of the request from Jitsi. You’ll see a timestamp followed by two IP:port pairs. Notice the port on the first IP is 5060 and the port on the second IP is also 5060. This means that the &lt;strong&gt;source port&lt;/strong&gt; used by Jitsi on my home network is UDP port 5060. In order for a response to come back to Jitsi, it must enter my network on the same port it exited. Now read the top line of the response from Kamailio. Indeed, the server sent the response to UDP port 5060.&lt;/p&gt;

&lt;p&gt;Now look at the same flow for Linphone. There is a very different source port in that dialog. In this case, Kamailio sent the response to UDP port 42680 and Linphone received it. Also notice the IP address used by Kamailio as the destination of the response is the same one in the dialog from Jitsi.&lt;/p&gt;

&lt;p&gt;The question remained, why can’t Jitsi get the same kind of SIP response on UDP port 5060? Why is Jitsi using a single source port for outgoing traffic anyway? That value can be dynamic. I configured Jitsi to use a different port for insecure SIP. It has an advanced configuration for SIP with the key “SIP client port”. I set this to 5062 (5061 is conventionally used for secure SIP traffic so I incremented by 2) and tried to register again.&lt;/p&gt;

&lt;p&gt;SUCCESSSSSSSSSSSS!&lt;/p&gt;

&lt;p&gt;To be thorough, I changed Jitsi’s SIP port again to a 5 digit number I randomly typed on my keyboard without looking.&lt;/p&gt;

&lt;p&gt;SUCCESSSSSSSSSSSS!&lt;/p&gt;

&lt;p&gt;So if Jitsi can register to Kamailio on any port other than UDP port 5060, WTF is going on? I had a suspicion. I tried one more test before I called it. I configured Jitsi to connect on TCP port 5060. It registered successfully. Now I know what’s going on. I have a sad 🙁&lt;/p&gt;

&lt;p&gt;CONCLUSION&lt;/p&gt;

&lt;p&gt;My ISP, Verizon FiOS, has a firewall running somewhere upstream (it could be on the router they provided, I haven’t checked yet) that blocks incoming UDP traffic to port 5060. This probably falls under their TOS section which forbids “running servers” since Verizon provides voice services for an additional fee on top of data service, despite both running over the same fiber connection to my house. It seems like Verizon doesn’t want their data-only customers to get in the way of that sweet cheddar delivery each month in exchange for “phone service”.&lt;/p&gt;

&lt;p&gt;This sucks on two levels.&lt;/p&gt;

&lt;p&gt;LEVEL 1&lt;/p&gt;

&lt;p&gt;Why is my ISP censoring my incoming traffic when I have 5 mbps of incoming bandwidth? I assume the answer is “because they can.” *desolate frowny face*&lt;/p&gt;

&lt;p&gt;LEVEL 2&lt;/p&gt;

&lt;p&gt;Why doesn’t Jitsi use a dynamic source port for SIP requests? I assume the answer is “Jitsi is open source, why don’t I change this and send a patch upstream?”&lt;/p&gt;

&lt;p&gt;Both levels are formidable challenges to overcome. Convincing Verizon to play nice on the Internet feels like a vanity project. I’m writing that off. To make a change to the SIP stack in Jitsi is well within the area of the GP team’s expertise, myself included but it’s not a trivial undertaking. Since this is a default configuration change there is probably a reason upstream devs made this choice so in addition to the programming work there’s the work to convince the developers this would be a change worth a new release.&lt;/p&gt;

&lt;p&gt;Since this is specific to Jitsi, I’m going to follow up with the developers and see if I missed anything. Stay tuned for part two.&lt;/p&gt;

&lt;p&gt;Thanks for listening. Stay safe!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Our Newest App: PixelKnot</title>
      <link>https://guardianproject.info/2013/07/18/our-newest-app-pixelknot/</link>
      <pubDate>Thu, 18 Jul 2013 13:14:49 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/07/18/our-newest-app-pixelknot/</guid>
      <description>&lt;p&gt;Have you ever hidden in plain sight? Worn camouflage in the woods or an invisibility cloak in a narrow crooked alley? It’s really hard to do properly. We’re hoping that all changes with PixelKnot.&lt;/p&gt;

&lt;p&gt;PixelKnot is an app for hiding secret messages in pictures.  Sort of like invisible ink on the back of a painting, updated to the present.  The ancient art known as steganography, now updated for the 21st century and requiring a more rigorous set of safety standards.&lt;/p&gt;

&lt;p&gt;The idea is to let anyone, anywhere share a secret with a friend. To most people, all they see is a picture. But to the right person, they know that someone has left them a message in that picture using PixelKnot. And they can find the message by opening that same picture in PixelKnot. Some people will even add a password to add another layer of protection to make sure that the message only ends up with the right person. And even if the message is detected, it’s also encrypted, making it that much harder to decode.&lt;/p&gt;

&lt;p&gt;While hiding in plain sight using the app is easy, the app itself isn’t.  To define it, we’ve established the Guardian Project steganography standard. The approach of using steganography has some known limitations, but to be secure and reliable, for us the steganographed image must:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Have the original image appear, to the trained human eye, unedited.&lt;/li&gt;
&lt;li&gt;Have the bytes of the image appear, to a trained analyst, undistorted so much so as to arouse suspicion.&lt;/li&gt;
&lt;li&gt;Have the complete message be recoverable no matter how it is transmitted.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As recent media stories have shown, large scale analysis is becoming a reality with increasing speed. Our standard seeks to ensure that our pictures, and the messages inside, can’t be plucked out like a needle in a haystack.  Another issue is that a lot of social media sites shrink and distort images that users upload.  This breaks our cipher since it’s technically a different image than what the User uploaded.  We’re fixing it so that it’s not a problem.  Already it works across Flickr, Tumblr and Google+,  with Facebook in the pipeline.&lt;/p&gt;

&lt;p&gt;To build the steganography into the app, we used the &lt;a title=&#34;f5 steganography&#34; href=&#34;https://code.google.com/p/f5-steganography/&#34; target=&#34;_blank&#34;&gt;F5 algorithm&lt;/a&gt;, which is resistant to visual and statistical attacks. Yet it still offers a large steganographic capacity, by using matrix encoding to improve the efficiency of embedding. F5 uses permutative straddling to uniformly spread out the changes over the whole steganogram, which helps us maintain the standards mentioned above that keep the messages from being detected.&lt;/p&gt;

&lt;p&gt;How safe is safe, you might be wondering? We’ve been running tests on images created by PixelKnot using &lt;a title=&#34;Stegdetect&#34; href=&#34;http://www.outguess.org/detection.php&#34; target=&#34;_blank&#34;&gt;Stegdetect&lt;/a&gt;, an automated tool for detecting steganographic content in images. It’s capable of detecting several different steganographic methods to embed hidden information in JPEG images. We trimmed it down to target f5 specifically. The results have been promising, though not 100%.&lt;/p&gt;

&lt;p&gt;One goal we had while building the app was to transform the user experience of security and to see how easy and fun we could make the sharing of hidden messages.  The app starts by deciphering an image if there is text hidden inside already. If not,  it chooses enciphering, asking whether to take a photo or use one from a gallery. Why add unnecessary prompts asking users what they want to do, when there’s only one thing to do? A user can only move forward through the flow of the experience. In this way, we’re trying to increase security through a guided experience. If done properly and transparently, giving the user less options for navigation mean less ways to fail.&lt;/p&gt;

&lt;p&gt;Is hiding messages in pictures the best way to spread secrets so that only the right person hears it? We don’t know.  At times in history, it’s been the only option, like between kings. At other times, it’s merely been used for fun, like scavenger hunts. For PixelKnot, we wanted to make something that could work in both scenarios o. But it’s up to users to decide.&lt;/p&gt;

&lt;p&gt;We hope to share stories of people using PixelKnot in fun new ways.  If you have a idea or experience, please share it with us. We’d also like to add more features to PixelKnot that make strides both in security and in design, so your feedback is important– what would you most like to see? Until then, happy knotting!&lt;/p&gt;

&lt;p&gt;Learn more about the app on &lt;a href=&#34;https://guardianproject.info/apps/pixelknot/&#34; title=&#34;pixelknot&#34;&gt;our site&lt;/a&gt;, or get it directly &lt;a title=&#34;Pixelknot on Google Play&#34; href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.pixelknot&#34; target=&#34;_blank&#34;&gt;from Google Play&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Modernizing Expectations for the Nouveau Secure Mobile Messaging Movement</title>
      <link>https://guardianproject.info/2013/07/16/modernizing-expectations-for-the-nouveau-secure-mobile-messaging-movement/</link>
      <pubDate>Tue, 16 Jul 2013 00:52:31 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/07/16/modernizing-expectations-for-the-nouveau-secure-mobile-messaging-movement/</guid>
      <description>&lt;p&gt;&lt;em&gt;The tl;dr of this lengthy (tho entertaining and immensely important!) post is this: Stopping with “We support OTR” or “We support PGP” is not enough anymore. There are at &lt;strong&gt;least seven&lt;/strong&gt;, if not more, very important security features that any app claiming to provide secure messaging must implement as soon as possible, to truly safeguard a user’s communication content, metadata and identity.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: The names “Gibberbot” and “ChatSecure” are used interchangeabley below, as we are in the midst of an app rebrand. Apologies!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-size: 13px; line-height: 19px;&#34;&gt;There has been a great deal of activity recently around new apps and projects working towards the goal of end-to-end secure mobile messaging. This is both prompted by the overwhelming popularity of closed-source, insecure apps like WhatsApp, Viber, Line and WeChat, and by the recent revelations around government-sponsored surveillance in portions of the world that like to think of themselves as “free”.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://pennwic.wordpress.com/2012/09/18/new-workshop-series-tools-not-toys/&#34;&gt;&lt;img alt=&#34;Too Many Apps&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/Too-Many-Apps.jpg&#34; width=&#34;360&#34; height=&#34;400&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-size: 13px; line-height: 19px;&#34;&gt;Whether it be the effort by the &lt;a href=&#34;https://plus.google.com/+CyanogenMod/posts/23vfN2qdZTu&#34;&gt;CyanogenMOD team to build in a secure push messaging&lt;/a&gt;, the arrival of new apps like &lt;a href=&#34;http://gryphn.co/&#34;&gt;Gryphn&lt;/a&gt;, &lt;a href=&#34;https://www.mywickr.com&#34;&gt;Wickr&lt;/a&gt;, &lt;a href=&#34;http://threema.ch/&#34;&gt;Threema&lt;/a&gt; and &lt;a href=&#34;https://www.surespot.me&#34;&gt;SureSpot&lt;/a&gt;, or the very succesful crowdsourced funding of &lt;a href=&#34;https://heml.is/&#34;&gt;Heml.is&lt;/a&gt;, there is no question that there is both user and developer interest in this topic. I would also be remiss not to mention the continuing excellent work by Moxie and the &lt;a href=&#34;https://whispersystems.org/&#34;&gt;Open Whisper Systems&lt;/a&gt; team on SMS-based secure messaging, Ge0rg and the &lt;a href=&#34;http;//yaxim.org&#34;&gt;Yaxim&lt;/a&gt; app, our iOS sister project &lt;a href=&#34;http://chatsecure.org&#34;&gt;ChatSecure&lt;/a&gt;, and of course, &lt;a href=&#34;https://silentcircle.com/&#34;&gt;Silent Circle&lt;/a&gt; (&lt;a href=&#34;http://issilentcircleopensourceyet.com/&#34;&gt;are they open-source yet or what?&lt;/a&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Protecting Content, Metadata and Identity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the Guardian Project, we have been working on open-source, standards-based, secure messaging &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;for a few years now&lt;/a&gt;, and are simultaneously both excited and concerned about all of this activity. We are seriously thrilled that so many talented developers are finally interested in empowering every day mobile users with powerful tools to keep their communications private. We are amazed at the creativity and quality of output seen so far, as well as the diverse approaches to solving this complex problem. Most of these apps are innovating way beyond the basic concepts of secure messaging established by systems like OpenPGP and OTR encryption, and actually thinking deeply about what it means to be secure in a mobile context. However, we also think that, in many cases, the security being implemented may not be going far enough. At the least, we feel that a new bar needs to be set, that is nost just “more secure than WhatsApp”. We need to establish norms to help the user better understand and parse through their options.&lt;/p&gt;

&lt;p&gt;In this context, the word “secure” should be taken to mean, that the contents of a message or conversation between one or more parties, should only be able to be viewed by those parties. This means that the application or service should ensure that message content, be it plain text or rich media, is both protected on the device and over the network, from extraction, interception, and decryption. In addition, “secure” should also extend to protect from network traffic surveillance, the fact that a conversation between one or more parties is even happening in the first place. Finally, as much as possible, the user should be able to control their identity within the messaging system, such that personal, real-world information (phone number, email, geolocation) is not exposed without their approval.&lt;/p&gt;

&lt;p&gt;This three-fold approach to mobile security (Content, Metadata, Identity) is a work in progress, but does capture our basic sentiment and approach to secure mobile messaging. From here, I would like to step one level down, and talk about the set of features in our next release of &lt;a href=&#34;https://github.com/guardianproject/Gibberbot/tree/v12-alpha&#34;&gt;Gibberbot&lt;/a&gt;, currently in alpha, that we feel keep our solution to mobile messaging at the head of the pack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Full Local Data Encryption&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many apps feel their job in protecting messages is done once it gets to the device. In the face of Android app malware that can vacuum up data from a device and forensic extraction software and hardware, this is obviously not the case. Full disk encryption only protects when a device is locked or powered off, and besides, most users do not enable it. It is up to apps themselves to provide full encryption of all data – account configuration, sensitive settings values, messages, logs – anything that might expose a user’s information to other apps on the system or to a extraction software must be protected. Yes, this also means your user will need to enter a password every time they use your app, but it is possible to make that process less painful.&lt;/p&gt;

&lt;p&gt;&lt;a style=&#34;margin: 3px;&#34; href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-053533.png&#34;&gt;&lt;img class=&#34;wp-image-11455 alignnone&#34; alt=&#34;device-2013-07-12-053533&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-053533.png&#34; width=&#34;259&#34; height=&#34;461&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-053533.png 720w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-053533-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-053533-576x1024.png 576w&#34; sizes=&#34;(max-width: 259px) 100vw, 259px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have been working on two developer libraries, &lt;a href=&#34;https://guardianproject.info/code/sqlcipher&#34;&gt;SQLCipher&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/code/iocipher&#34;&gt;IOCipher&lt;/a&gt;, which provide a simple means to enable database and file encryption in any app. More recently, we have added the &lt;a href=&#34;https://github.com/guardianproject/cacheword&#34;&gt;CacheWord&lt;/a&gt; library to that mix, to help safely manage the locking and unlocking of these data stores. Apps like Gryphn have already implemented all three of these libraries, and so will the next version of Gibberbot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Certificate Pinning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.thoughtcrime.org/&#34;&gt;Moxie&lt;/a&gt; says it best in his post titled &lt;a href=&#34;http://www.thoughtcrime.org/blog/authenticity-is-broken-in-ssl-but-your-app-ha/&#34;&gt;Your app shouldn’t suffer SSL’s problems&lt;/a&gt;: “If you have a mobile app that makes SSL connections to a service you control, there is really no reason to be validating your service’s certificate using CA signatures.” The &lt;a href=&#34;https://github.com/moxie0/AndroidPinning&#34;&gt;Android Pinning library&lt;/a&gt; makes it quite simple to support this important feature in any app. For Gibberbot, we are pinning certificates of the most common known public XMPP services, such as Google (talk.google.com), Facebook, Jabber.org, Jabber.ccc.de, DuckDuckGo and few more. Beyond that, we offer manual verification (see #3 feature below for more on that). In summary, there is no reason anymore to trust the default CA’s for a messaging app.&lt;/p&gt;

&lt;p&gt;&lt;strong style=&#34;font-size: 13px; line-height: 19px;&#34;&gt;3. TOFU/POP aka “Manual Certificate Verification”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://noncombatant.org/&#34;&gt;Chris Palmer&lt;/a&gt;, formerly of the Electronic Frontier Foundation and iSec Partners and now of Google, gave a great talk a few years ago entitled &lt;a href=&#34;https://docs.google.com/presentation/d/1bieNRy4TU04PKhQ1i_J_kPZ_Tc2E6efNVbvJ295orBs/present#slide=id.i0&#34;&gt;“It’s Time to Fix HTTPS”&lt;/a&gt;. In it, he introduced, or perhaps just popularized, the phrase “Trust on First Use, Persistence of Pseudonym”, that is more happily expressed as TOFU/POP! What this means in user form is that when you connect to a new server for the first time over an SSL connection, instead of the SSL Certificate being verified by a built-in set of trusted root authorities (banks, corporations, governments), the certificate is presented to the user, in a human readable format, to be reviewed, accepted or declined. There are a number of useful pieces of information the user can look at to determine the validity – fingerprints, date generated, and so on. If you can safely verify it once, then you will only be notified or asked to verify again if the server’s certificate changes. At that point the user can be told “This site’s certificate changed, and it doesn’t look the same as it was yesterday. Maybe you should ask the admin or help system if it is still safe to use!”.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054024.png&#34;&gt;&lt;img alt=&#34;device-2013-07-12-054024&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054024.png&#34; width=&#34;259&#34; height=&#34;461&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The implementation of TOFU/POP that we use in Gibberbot is the &lt;a href=&#34;https://github.com/ge0rg/MemorizingTrustManager/wiki&#34;&gt;Memorizing Trust Manager&lt;/a&gt; library, originally developed for the &lt;a href=&#34;http://yaxim.org/&#34;&gt;Yaxim messaging app&lt;/a&gt;. It works very well, and again, is extremely simple to implement. Through the combination of features #2 and #3 we have removed the threat posed by the failure of the Root Certificate Authority system, and significantly reduced the success rate of Man-in-the-Middle attacks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Proxy Support, ideally Tor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With all the talk of metadata recently, it should be clear how important traffic surveillance is. Knowing who is using what app when, or being able to see when two users connect peer-to-peer through a service is immensely valuable information. If it is possible to map a user’s social graph via your app based on analysis of packets coming in and out of your service, then you have failed in providing security to your users. Additionally, we have begun to see a new wave of Internet filtering around the world, as countries begin to block access to popular messaging app downloads and centralized servers.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054331.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-11460&#34; alt=&#34;device-2013-07-12-054331&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054331.png&#34; width=&#34;259&#34; height=&#34;461&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054331.png 720w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054331-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054331-576x1024.png 576w&#34; sizes=&#34;(max-width: 259px) 100vw, 259px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This makes it critical that any messaging app a user will depend on to protect their messages, also works to protect their network of contacts (social graph), and ensures they will have access to the service no matter where they travel or live in the world. In order to achieve this, direct support for proxy servers should be built in to every secure messaging app. At a bare minimum HTTP proxies should be support, and ideally, HTTPS and SOCKS as well. Once you have support for those, you can easily tie into Orbot on Android, by setting the proxy to “localhost” and the appropriate port. If you want to avoid Tor Exit Node attacks or surveillance, you should then provide a Tor Hidden Service .ONION address for your servers, something that the &lt;a href=&#34;https://twitter.com/jabbercccde/status/107850540842627072&#34;&gt;CCC’s Jabber server has provided since 2011&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We have blogged in the past about &lt;a href=&#34;https://guardianproject.info/2012/06/13/auditing-twitter-with-orbot/&#34;&gt;Twitter’s support for proxying on Android&lt;/a&gt; and our OnionKit library, now named &lt;a href=&#34;https://guardianproject.info/code/netcipher/&#34;&gt;NetCipher&lt;/a&gt;. Gibberbot has supported proxying from nearly the beginning of its existence, and in v12 we are using the &lt;a href=&#34;https://github.com/guardianproject/OnionKit/blob/master/sample/src/sample/onionkit/OnionKitSampleActivity.java#L96&#34;&gt;OrbotHelper class&lt;/a&gt; to add an automatic check if Orbot is installed and running, if a user selects to use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Verifiable Message Encryption&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While we expect most nextgen secure messaing apps will support some form of public key encryption, OTR ideally and OpenPGP alternatively, that is not really the end of the message encryption problem. With OpenPGP, we know that most users of the software participate in key signing parties on a regular basis. The same is true for users of desktop OTR encryption in apps like Pidgin. People do not verify keys as often as they should. Since most messaging apps support in-band key exchange, it makes performing a MITM attack at the messaging layer quite trivial, if the SSL transport layer encryption is somehow intercepted.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-003940.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-11479&#34; alt=&#34;device-2013-07-16-003940&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-003940.png&#34; width=&#34;259&#34; height=&#34;461&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-003940.png 720w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-003940-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-003940-576x1024.png 576w&#34; sizes=&#34;(max-width: 259px) 100vw, 259px&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-004035.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-11480&#34; alt=&#34;device-2013-07-16-004035&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-004035.png&#34; width=&#34;259&#34; height=&#34;461&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-004035.png 720w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-004035-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-16-004035-576x1024.png 576w&#34; sizes=&#34;(max-width: 259px) 100vw, 259px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What is needed are a variety of features, prods, pokes and motivational interventions to ensure that two people who are using an app to exchange encrypted messages know how fun and easy it can be to verify their keys. With Gibberbot, we were one of the first apps to support the display and scanning of OTR fingerprints as QR Codes. We will go beyond that in future releases with NFC support, as well. We also support shared secret and &lt;a href=&#34;https://en.wikipedia.org/wiki/Socialist_millionaire&#34;&gt;Socialist Millionaire Protocol&lt;/a&gt;-based verification, which in short means, if you and your friend have a real world secret or question and answer ready, you can easily verify your cryptographic fingerprints without ever having to look at a long string of alphanumeric characters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Key Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This feature comes under the “a great problem to have” category. Once a user really commits to using their app, they will begin building up a network of verified contacts (if you have implemented #5 properly), and generally come to regard your app as a type of secure identity management tool. In fact, they may have created a whole unique identity for themselves that only exists within the confines of your apps, and its encrypted local storage (if you have implemented #1 above). At this point, you need to figure out a means for a user to backup this identity, and generally import and export the data in a variety of ways. If you are using OTR or OpenPGP, then the user may want to share existing keyrings to and from other apps, most likely on their desktop or laptop machines. All in all, the user needs to be empowered to have control of their identity, to move it between devices, to back it up in case a device is wiped or lost, and to keep total control of that information (i.e. not have it backed up automatically to a cloud).&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/keysync.jpg&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-11466&#34; alt=&#34;keysync&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/keysync.jpg&#34; width=&#34;758&#34; height=&#34;548&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/07/keysync.jpg 758w, https://guardianproject.info/wp-content/uploads/2013/07/keysync-300x216.jpg 300w&#34; sizes=&#34;(max-width: 758px) 100vw, 758px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In our case, we have been working for quite a while on a desktop tool called &lt;a href=&#34;https://github.com/guardianproject/otrfileconverter&#34;&gt;OTR File Converter&lt;/a&gt;, which is built upon more fundamental research into the many ways that &lt;a href=&#34;https://github.com/guardianproject/otrfileconverter/blob/master/README.txt&#34;&gt;different OTR-enabled apps store their public and private keys&lt;/a&gt;. As of Gibberbot v12 alpha 3 (now called “ChatSecure” btw!), we now have working support for &lt;a href=&#34;https://lists.mayfirst.org/pipermail/guardian-dev/2013-April/001537.html&#34;&gt;importing an OTR key ring from the desktop&lt;/a&gt;, in a manner that is secure and fairly simple. Our next stop is to add export from the client, and then automated sync between desktop and mobile on an ongoing basis. Beyond this capability, we also plan to expand the ability to manage keys within the Gibberbot app itself, so that a user can manually revoke, regenerate and update or remove trust of other users’ keys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Panic as a feature!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, we keep coming across this idea of a “Panic Button” being an important feature for addressing security issues in a mobile environment. A few years ago, we developed an app called &lt;a href=&#34;https://github.com/guardianproject/InTheClear/&#34;&gt;In The Clear&lt;/a&gt; which attempted to provide data wipe and distress beacon functionality across your entire device, be it Android, Nokia or Blackberry. We quickly realized that there were many, many different definitions of what a “Panic Button” should do, and that one app may not be able to encompass all of these needs. Since then, we have thought more about “Panic!” as a feature for an app, and how each app we develop should incorporate the capability to assist users when they feel the data that the app holds may be at risk of being compromised or exposed.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054429.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-11461&#34; alt=&#34;device-2013-07-12-054429&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054429.png&#34; width=&#34;259&#34; height=&#34;461&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054429.png 720w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054429-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2013/07/device-2013-07-12-054429-576x1024.png 576w&#34; sizes=&#34;(max-width: 259px) 100vw, 259px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Gibberbot v12, we have implemented Panic as a quick access sidedrawer button. The action can trigger a configurable set of actions, ranging from simply logging out, to deleting all configured accounts, to uninstall the app itself. In the future, we would like to also consider supporting a “turtle shell” type feature where the app can hide itself on your device as an encrypted anonymous blob, until you are ready for it to come back out again. Additionally, supporting false passwords at app unlock that trigger account data wipe or the display of false data is also something we think would be useful to support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are You Prepared To Do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We know the deep feeling of adrenaline and satisfaction you get when &lt;del&gt;code&lt;/del&gt; ship software that can truly have an impact on a human’s basic freedoms. We are moved when we receive an email from a user in a part of the world where speech and expression is limited and filtered, and they tell us how important our software is to them, and how they do not know what they would without us. These emotions, both from within and shared by others, make it that more important to ensure any development of secure messaging tools is approached in a serious and diligent manner. Checking feature boxes is not enough. Using HTTPS is not enough. Even supporting basic OTR and PGP is no longer enough. We must provide deep and broad security both on the network and on the device, at all times.&lt;/p&gt;

&lt;p&gt;If you are not prepared to go the extra mile with your app’s security capabilities, then perhaps you are in the wrong line of work.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Building, Securing, and Anonymizing Android Apps</title>
      <link>https://guardianproject.info/2013/07/05/building-securing-and-anonymizing-android-apps/</link>
      <pubDate>Fri, 05 Jul 2013 13:02:37 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/07/05/building-securing-and-anonymizing-android-apps/</guid>
      <description>&lt;div id=&#34;event-title&#34; data-name=&#34;Building, Securing, and Anonymizing Android Apps&#34;&gt;
  &lt;h1 itemprop=&#34;name&#34;&gt;
    Calling all Android devs:
  &lt;/h1&gt;
  
  &lt;p&gt;
    &lt;img class=&#34;aligncenter&#34; alt=&#34;&#34; src=&#34;break1.jpeg&#34; width=&#34;600&#34; height=&#34;450&#34; /&gt;
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;event-content&#34;&gt;
  &lt;ul&gt;
    &lt;ul&gt;
      &lt;li id=&#34;event-when&#34;&gt;
        &lt;div&gt;
          &lt;div id=&#34;event-when-display&#34;&gt;
            Tuesday, July 9, 2013 - 12:30 PM to &lt;time id=&#34;event-end-time&#34;&gt;1:30 PM &lt;/time&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
        &lt;div&gt;
          Live on the web: &lt;a title=&#34;Livestream Pivotal&#34; href=&#34;http://www.livestream.com/pivotallabs&#34; target=&#34;_blank&#34;&gt;livestream&lt;/a&gt;
        &lt;/div&gt;
      &lt;/li&gt;
      
      &lt;li id=&#34;event-where&#34; data-id=&#34;1561918&#34; data-name=&#34;Pivotal Labs&#34; data-address=&#34;841 Broadway, 8th Floor, New York, NY&#34;&gt;
        &lt;div&gt;
          &lt;div id=&#34;event-where-display&#34; itemprop=&#34;location&#34; itemscope=&#34;&#34; itemtype=&#34;http://schema.org/Place&#34;&gt;
            Live in person (with &lt;a title=&#34;Pivotal RSVP&#34; href=&#34;m&amp;#x61;&amp;#x69;l&amp;#116;&amp;#x6f;:&amp;#105;&amp;#x6e;&amp;#x66;o&amp;#x40;&amp;#x67;u&amp;#97;&amp;#x72;d&amp;#105;&amp;#x61;&amp;#x6e;p&amp;#x72;&amp;#x6f;j&amp;#101;&amp;#x63;t&amp;#46;&amp;#x69;&amp;#x6e;f&amp;#x6f;&#34; target=&#34;_blank&#34;&gt;RSVP&lt;/a&gt;) &lt;a title=&#34;&#34; href=&#34;http://maps.google.com/maps?q=841+Broadway%2C+8th+Floor%2C+New+York%2C+NY&#34; target=&#34;_blank&#34;&gt;Pivotal Labs &lt;/a&gt;841 Broadway, 8th Floor, New York, NY (&lt;a href=&#34;http://maps.google.com/maps?q=841+Broadway%2C+8th+Floor%2C+New+York%2C+NY&#34; target=&#34;_blank&#34;&gt;map&lt;/a&gt;)
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/ul&gt;
  
  &lt;div id=&#34;event-description-wrap&#34; itemprop=&#34;description&#34;&gt;
    &lt;p&gt;
      Please join us for lunch and crypto-talk with Hans-Christoph Steiner of the Guardian Project. Hans will talk about the how and why of building secure mobile applications that keep the user&#39;s data encrypted and hidden from prying eyes. We&#39;ll have a few short presentations on tools like SQLCipher, IOCipher, and NetCipher and how they can be used in modern applications. We&#39;ll answer questions about general strategies and specific toolkits that we&#39;ve created.
    &lt;/p&gt;
    
    &lt;p&gt;
      &lt;em&gt;&lt;a href=&#34;http://www.eyebeam.org/people/hanschristoph-steiner&#34;&gt;Hans-Christoph Steiner&lt;/a&gt; spends his time making private communications software usable by everyone, designing interactive software with a focus on human perceptual capabilities, building networks with free software, and composing music with computers.&lt;/em&gt;
    &lt;/p&gt;
    
    &lt;p style=&#34;text-align: center;&#34;&gt;
      &lt;img alt=&#34;&#34; src=&#34;https://media.getchute.com/media/B6VnNisdh/w/260&#34; width=&#34;260&#34; height=&#34;173&#34; /&gt;
    &lt;/p&gt;
    
    &lt;p&gt;
      &lt;img class=&#34;aligncenter&#34; alt=&#34;260&#34; src=&#34;https://media.getchute.com/media/B6Md5cmis/w/260&#34; /&gt;
    &lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>A Weather Report On Security</title>
      <link>https://guardianproject.info/2013/06/14/a-weather-report-on-security/</link>
      <pubDate>Fri, 14 Jun 2013 13:22:28 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/06/14/a-weather-report-on-security/</guid>
      <description>&lt;p&gt;How’s the weather outside? Sunny with a chance of IP blocking.&lt;/p&gt;

&lt;p&gt;We recently launched a new initiative we’re calling: &lt;a href=&#34;https://guardianproject.info/code/weatherrepo/&#34; title=&#34;The Weather Repo&#34;&gt;The Weather Repo&lt;/a&gt;. The goal of the project is for organizations to have a more accurate method of understanding whether the apps they’re using are “safe”. It’s hard to know whether apps that claim to be secure really are. Have they been vetted by a third party? Are there existing case studies? Has a threat analysis been performed?&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;http://weatherrepo.com&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-4240&#34; alt=&#34;weatherrepo1&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-300x300.png&#34; width=&#34;300&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1.png 512w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;We’ve been developing an app store recommendation engine for circumvention tools. One that is backed by better, more open metadata; and interfacing with better, more open repositories. The “better, more open metadata” endeavor is now being pursued by a coalition led by the &lt;a title=&#34;open integrity initiative&#34; href=&#34;https://openintegrity.org/&#34; target=&#34;_blank&#34;&gt;Open Integrity Initiative&lt;/a&gt;. As founding members of the group supporting this initiative, we’ve been working closely to develop tools based on the research and metadata frameworks that they’re contributing. Metadata will be culled from other sources to supplement this approach and allow for a comprehensive scan of the entire app ecosystem.&lt;/p&gt;

&lt;p&gt;The success of the project mainly lays in the fact that the crucial groundwork has been laid for our goal of helping organizations make sense of whether the tools they’re using are “safe” or not. We’ve created an API allowing any organization to take our lessons as well as information and apply it. The growing number of efforts in the security and privacy space, as well as our own goal of a publicly facing “app bazaar” are not possible without groundwork such as this and we’re proud to have been able to produce it.&lt;/p&gt;

&lt;p&gt;Our finished API is now documented at &lt;a href=&#34;http://weatherrepo.com/api/&#34;&gt;http://weatherrepo.com/api&lt;/a&gt; . We put up a blog to post about the project and updates of news and events, available at &lt;a href=&#34;http://weatherrepo.com/report&#34;&gt;http://blog.weatherrepo.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’re extremely interested in the concept of human unit testing and want to make sure that our apps, and the greater set of tools that are out there helping the world, are both usable and that users have the digital literacy to understand how they’re being protected by them and how not. Now that our API is finished, we’re seeding our database with content according to our original set of research questions. And we’re asking for YOUR help. Please go to &lt;a href=&#34;http://weatherrepo.com/report&#34;&gt;http://weatherrepo.com/report&lt;/a&gt; and add details about the tools that you use and/or make. Let’s populate this database together and make the world a more obviously and honestly secure place!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Weather Repo</title>
      <link>https://guardianproject.info/archive/weatherrepo/</link>
      <pubDate>Thu, 13 Jun 2013 13:52:02 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/weatherrepo/</guid>
      <description>&lt;div title=&#34;Page 1&#34;&gt;
  &lt;div&gt;
    &lt;div&gt;
      &lt;div&gt;
        &lt;h1&gt;
          The Weather Repo: A New Take On The Old App Store
        &lt;/h1&gt;
        
        &lt;div title=&#34;Page 1&#34;&gt;
          &lt;div&gt;
            &lt;div&gt;
              &lt;div&gt;
                &lt;h2&gt;
                  01 Why It’s Needed
                &lt;/h2&gt;
                
                &lt;p&gt;
                  Many groups ask whether the apps they&#39;re using are &#34;safe&#34;. While it&#39;s hard for us to respond without knowing the specific context and doing a threat analysis, there are some short cuts. If the app is sending information in clear text, probably not. Who wants to send their data in the open? Unfortunately, most people don&#39;t know that companies like Yahoo broadcast all of their emails in the clear. And for smaller apps and companies, it&#39;s hard to know whether they do or not. Even further, it&#39;s hard to know whether apps that claim to be secure really are. Have they been vetted by a third party? Are there existing case studies? Has a threat analysis been performed?
                &lt;/p&gt;
                
                &lt;div title=&#34;Page 1&#34;&gt;
                  &lt;div&gt;
                    &lt;div&gt;
                      &lt;div&gt;
                        &lt;h2&gt;
                          &lt;a href=&#34;http://weatherrepo.com&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-4240&#34; alt=&#34;weatherrepo1&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-300x300.png&#34; width=&#34;300&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1.png 512w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
                        &lt;/h2&gt;
                        
                        &lt;h2&gt;
                          10 What We’re Building
                        &lt;/h2&gt;
                        
                        &lt;p&gt;
                          How do we make good apps more discoverable? And what does a good app entail? For The Guardian Project, it&#39;s crucial that an app does what it says it does. In Android, that&#39;s a bit easier to see because they ask for certain permissions before a user can install them. This app transparency is a great start, but doesn&#39;t go far enough. We’re building a secure and federated app store for people around the world who need to know the real security behind the tools that they use and a system to find a more useful set of apps across every platform.
                        &lt;/p&gt;
                        
                        &lt;div title=&#34;Page 1&#34;&gt;
                          &lt;div&gt;
                            &lt;div&gt;
                              &lt;div&gt;
                                &lt;h2&gt;
                                  Features
                                &lt;/h2&gt;
                                
                                &lt;ul&gt;
                                  &lt;li&gt;
                                    &lt;strong&gt;Integrated:&lt;/strong&gt; There are a lot of stores filled with a lot of bad apps. Instead of sorting by platform (iPhone, Android, PC), why not sort by usefulness?
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                    &lt;strong&gt;Secure: &lt;/strong&gt;Safety and privacy are important to users. We&#39;re making a way for apps to be vetted by the pros and transparent to users.
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                    &lt;strong&gt;Easy: &lt;/strong&gt;If it&#39;s not simple, people won&#39;t use it. We aim for simplicity without sacrificing depth.
                                  &lt;/li&gt;
                                &lt;/ul&gt;
                                
                                &lt;h1&gt;
                                  Visit the site:
                                &lt;/h1&gt;
                                
                                &lt;p&gt;
                                  Go to &lt;a title=&#34;The Weather Repo&#34; href=&#34;http://weatherrepo.com&#34; target=&#34;_blank&#34;&gt;weatherrepo.com&lt;/a&gt; to learn more
                                &lt;/p&gt;
                              &lt;/div&gt;
                            &lt;/div&gt;
                          &lt;/div&gt;
                        &lt;/div&gt;
                      &lt;/div&gt;
                    &lt;/div&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Weather Repo</title>
      <link>https://guardianproject.info/archive/weatherrepo/</link>
      <pubDate>Thu, 13 Jun 2013 13:52:02 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/weatherrepo/</guid>
      <description>&lt;div title=&#34;Page 1&#34;&gt;
  &lt;div&gt;
    &lt;div&gt;
      &lt;div&gt;
        &lt;h1&gt;
          The Weather Repo: A New Take On The Old App Store
        &lt;/h1&gt;
        
        &lt;div title=&#34;Page 1&#34;&gt;
          &lt;div&gt;
            &lt;div&gt;
              &lt;div&gt;
                &lt;h2&gt;
                  01 Why It’s Needed
                &lt;/h2&gt;
                
                &lt;p&gt;
                  Many groups ask whether the apps they&#39;re using are &#34;safe&#34;. While it&#39;s hard for us to respond without knowing the specific context and doing a threat analysis, there are some short cuts. If the app is sending information in clear text, probably not. Who wants to send their data in the open? Unfortunately, most people don&#39;t know that companies like Yahoo broadcast all of their emails in the clear. And for smaller apps and companies, it&#39;s hard to know whether they do or not. Even further, it&#39;s hard to know whether apps that claim to be secure really are. Have they been vetted by a third party? Are there existing case studies? Has a threat analysis been performed?
                &lt;/p&gt;
                
                &lt;div title=&#34;Page 1&#34;&gt;
                  &lt;div&gt;
                    &lt;div&gt;
                      &lt;div&gt;
                        &lt;h2&gt;
                          &lt;a href=&#34;http://weatherrepo.com&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-4240&#34; alt=&#34;weatherrepo1&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-300x300.png&#34; width=&#34;300&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/06/weatherrepo1.png 512w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
                        &lt;/h2&gt;
                        
                        &lt;h2&gt;
                          10 What We’re Building
                        &lt;/h2&gt;
                        
                        &lt;p&gt;
                          How do we make good apps more discoverable? And what does a good app entail? For The Guardian Project, it&#39;s crucial that an app does what it says it does. In Android, that&#39;s a bit easier to see because they ask for certain permissions before a user can install them. This app transparency is a great start, but doesn&#39;t go far enough. We’re building a secure and federated app store for people around the world who need to know the real security behind the tools that they use and a system to find a more useful set of apps across every platform.
                        &lt;/p&gt;
                        
                        &lt;div title=&#34;Page 1&#34;&gt;
                          &lt;div&gt;
                            &lt;div&gt;
                              &lt;div&gt;
                                &lt;h2&gt;
                                  Features
                                &lt;/h2&gt;
                                
                                &lt;ul&gt;
                                  &lt;li&gt;
                                    &lt;strong&gt;Integrated:&lt;/strong&gt; There are a lot of stores filled with a lot of bad apps. Instead of sorting by platform (iPhone, Android, PC), why not sort by usefulness?
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                    &lt;strong&gt;Secure: &lt;/strong&gt;Safety and privacy are important to users. We&#39;re making a way for apps to be vetted by the pros and transparent to users.
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                    &lt;strong&gt;Easy: &lt;/strong&gt;If it&#39;s not simple, people won&#39;t use it. We aim for simplicity without sacrificing depth.
                                  &lt;/li&gt;
                                &lt;/ul&gt;
                                
                                &lt;h1&gt;
                                  Visit the site:
                                &lt;/h1&gt;
                                
                                &lt;p&gt;
                                  Go to &lt;a title=&#34;The Weather Repo&#34; href=&#34;http://weatherrepo.com&#34; target=&#34;_blank&#34;&gt;weatherrepo.com&lt;/a&gt; to learn more
                                &lt;/p&gt;
                              &lt;/div&gt;
                            &lt;/div&gt;
                          &lt;/div&gt;
                        &lt;/div&gt;
                      &lt;/div&gt;
                    &lt;/div&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Carrier Grade, Verizon and the NSA</title>
      <link>https://guardianproject.info/2013/06/12/carrier-grade-verizon-and-the-nsa/</link>
      <pubDate>Wed, 12 Jun 2013 06:38:46 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/06/12/carrier-grade-verizon-and-the-nsa/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/06/PHONE_BOLT.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-4188 alignleft&#34; alt=&#34;PHONE_BOLT&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/06/PHONE_BOLT-268x300.png&#34; width=&#34;268&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/06/PHONE_BOLT-268x300.png 268w, https://guardianproject.info/wp-content/uploads/2013/06/PHONE_BOLT.png 514w&#34; sizes=&#34;(max-width: 268px) 100vw, 268px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last week Glenn Greenwald at The Guardian broke the news that &lt;a href=&#34;http://www.guardian.co.uk/world/2013/jun/06/nsa-phone-records-verizon-court-order&#34;&gt;Verizon has been providing the NSA with metadata&lt;/a&gt; about all of the calls over a subsidiary’s network. This subsidiary is called &lt;a href=&#34;http://investing.businessweek.com/research/stocks/private/snapshot.asp?privcapId=4259068&#34;&gt;Verizon Business Network Services&lt;/a&gt;. It is a privately held company that “owns, operates, monitors, and maintains data and Internet networks in North America, Europe, Asia, Latin America, Australia, Japan, and Africa. The company provides converged communication solutions, such as local and long-distance voice, messaging, and Internet access services.” It is likely this company owns equipment that holds caller detail records for millions of customers. The order used &lt;a href=&#34;http://www.aclu.org/free-speech-national-security-technology-and-liberty/reform-patriot-act-section-215&#34;&gt;section 215 of The Patriot Act&lt;/a&gt;, which allows the FBI to order any person or entity to turn over “any tangible things,” so long as the FBI “specif[ies]” that the order is “for an authorized investigation &amp;hellip; to protect against international terrorism or clandestine intelligence activities.” The “tangible things” could have been the physical servers or hard disks that store the logged details.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/&#34;&gt;The Guardian Project&lt;/a&gt; operates a voice service called &lt;a href=&#34;https://ostel.co/&#34;&gt;ostel.co&lt;/a&gt;. This service offers secure calling and only logs metadata required for the service to operate, &lt;a href=&#34;https://ostel.co/privacy&#34;&gt;no more, no less&lt;/a&gt;. We’ve redefined what carrier grade means. Our service offers the same reliability and quality as global carriers. It goes further by including security and privacy as core features. This is something Verizon does not offer you. Ostel.co runs a full stack composed of open source software, which gives you the choice to install and operate your own service.&lt;/p&gt;

&lt;p&gt;Metadata is information about information. Every call you make over a carrier’s network can carry metadata about your account ID, your caller ID, the duration of the call, the time it was placed and the caller ID of the person you called, even the location of your cellular radio. Information about your calls can be as important as the calls themselves. In many cases they are more important than the content of the calls since they don’t fall under laws requiring a warrant to intercept. Indexing and searching all customers metadata is much faster than tapping and listening in on the same customer’s calls.&lt;/p&gt;

&lt;p&gt;Jane Mayer at The New Yorker gives a good example of &lt;a href=&#34;http://www.newyorker.com/online/blogs/newsdesk/2013/06/verizon-nsa-metadata-surveillance-problem.html?mbid=gnep&#34;&gt;what a service provider can learn from your metadata&lt;/a&gt;. “Personal phone calls can also reveal sensitive medical information: “You can see a call to a gynecologist, and then a call to an oncologist, and then a call to close family members.”” Metadata from one source can also be &lt;a href=&#34;http://www.technologyreview.com/view/515811/correlation-is-main-concern-over-data-verizon-gives-nsa/&#34;&gt;correlated with metadata from other sources&lt;/a&gt;, like web searches and credit card purchases. Tom Simonite at the MIT Technology Review writes that Facebook “uses obfuscated versions of its members’ phone numbers and e-mail addresses to connect its data with information that data-broker Datalogix gathers from loyalty card schemes, with the result that it is now possible for companies to connect a person’s activity on Facebook, and the ads they see, with what they buy in physical stores.”&lt;/p&gt;

&lt;p&gt;Carriers operate servers that record metadata through a common software practice called logging. Each request your computer software makes to an online service can optionally log all the metadata the application can get its hands on. It is the carrier’s responsibility to define their logging policy, like what is recorded and how long it is retained. This information rarely leaves the privacy of the carrier’s internal operational documents so don’t expect to get many clear answers from them.&lt;/p&gt;

&lt;p&gt;While the NSA debacle proves that global telecommunications carriers log everything and keep it around for a very long time, what if you don’t want this information about your behavior logged? Unfortunately, no carrier offers any kind of “opt out” process at this low of a level. To be fair, this information has many purposes. Caller detail records are required to bill customers on per-minute calling plans. It’s unreasonable to expect a carrier to flat out disable logging, though carriers never state that they share your logs with law enforcement without probable cause of a crime. But that is exactly what Verizon did.&lt;/p&gt;

&lt;p&gt;In addition to &lt;a href=&#34;https://ostel.co&#34;&gt;ostel.co&lt;/a&gt;, there are two other independent carriers that put your privacy first. &lt;a href=&#34;https://www.whispersystems.org/&#34;&gt;Whisper Systems operates a proprietary secure voice service&lt;/a&gt; with an open source client called RedPhone. It integrates nicely with Android mobile devices, though it requires a SIM card with a phone number in select countries to sign up for an account. With a little luck in the wrong hands a phone number could disclose more information about you than your social security number. WhisperSys doesn’t publish their logging policy online.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://silentcircle.com/&#34;&gt;Silent Circle offers secure voice service&lt;/a&gt; for iPhone and Android. They are a subscription service and all client and server software is proprietary. They publish &lt;a href=&#34;https://silentcircle.com/web/privacy/&#34;&gt;an exceptionally detailed logging policy on their website&lt;/a&gt;, which includes how many law enforcement requests for information they have received twice a year.&lt;/p&gt;

&lt;p&gt;Ostel.co does not log personal call details to disk, and we can’t disclose information we don’t have. IP addresses, user IDs and referrers are common points of metadata that are used to find patterns about user behavior. When the ostel.co server software requires this information to be stored, it is stored only in memory. When the system is rebooted or shut down, the information is gone forever.&lt;/p&gt;

&lt;p&gt;Our service is under active development. It is currently in public beta status and new features like custom aliases, third party authentication services and federated calling are on the roadmap. The beta service will always be free.&lt;/p&gt;

&lt;p&gt;For the curious, what follows is a detailed description of the logging implementation of ostel.co.&lt;/p&gt;

&lt;p&gt;Caller Details Records are recorded with no identifying information. Attributes stored to disk include timestamp, duration, call state and bandwidth consumed. These pieces of metadata allow us to report on usage without identifying each user. When a monthly report is generated, the metadata is deleted.&lt;/p&gt;

&lt;p&gt;The SIP server logs IP addresses of online users. This is a requirement for the SIP protocol to locate each end of the call. The contact information is logged to RAM, including the username, source IP address and source port of the registered client application. When the server is shut down or restarted, this information is erased.&lt;/p&gt;

&lt;p&gt;The SIP server only logs debugging information to disk, which does not include any of the SIP information.&lt;/p&gt;

&lt;p&gt;Audio data is passed through the server to work around limitations in two-way audio connectivity for common home networks. After a ZRTP key agreement, this audio is encrypted. The server cannot decrypt a call between two users, nor does the server control any of the parameters of the call. This makes calls over ostel.co function in a peer-to-peer mode similar to Skype’s “supernode” feature but without any backdoors.&lt;/p&gt;

&lt;p&gt;No IP addresses are logged for any web requests. This is a simple configuration change for the reverse proxy and required a patch to the core source code of the application server framework.&lt;/p&gt;

&lt;p&gt;The server stores each user’s email address, SIP username, encrypted password and account management data like when the user profile was created/updated and password reset information if the user chooses to use that feature.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The Only Way to Visit Strongbox on a Phone</title>
      <link>https://guardianproject.info/2013/05/16/the-only-way-to-visit-strongbox-on-a-phone/</link>
      <pubDate>Thu, 16 May 2013 17:43:06 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/05/16/the-only-way-to-visit-strongbox-on-a-phone/</guid>
      <description>&lt;p dir=&#34;ltr&#34;&gt;
  &lt;em&gt;The New Yorker&lt;/em&gt; magazine just launched &lt;a href=&#34;http://www.newyorker.com/online/blogs/closeread/2013/05/introducing-strongbox-anonymous-document-sharing-tool.html&#34;&gt;Strongbox&lt;/a&gt;, a whistleblower submission system that’s hosted on a hidden website. There’s only one way to access the hidden site on a phone or tablet, and that’s with our &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser&amp;hl=en&#34;&gt;Orweb app&lt;/a&gt;. Here’s a simple breakdown of how to do securely and anonymously blow the whistle, explained in an interactive tutorial:
&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/howto/strongbox&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;size-medium wp-image-3719  aligncenter&#34; alt=&#34;galaxy19&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/05/galaxy19-199x300.png&#34; width=&#34;199&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/05/galaxy19-199x300.png 199w, https://guardianproject.info/wp-content/uploads/2013/05/galaxy19.png 400w&#34; sizes=&#34;(max-width: 199px) 100vw, 199px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;em&gt;Visit &lt;a title=&#34;strongbox tutorial&#34; href=&#34;https://guardianproject.info/howto/strongbox&#34; target=&#34;_blank&#34;&gt;guardianproject.info/howto/strongbox&lt;/a&gt; for an interactive tutorial on using Strongbox on your phone.&lt;/em&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  The website exists as a hidden site on what is widely known as the darknet, since you are going there hidden or “in the dark.” Instead of a .com, .org, or .info address (like &lt;a href=&#34;https://guardianproject.info/&#34; target=&#34;_blank&#34;&gt;guardianproject.info&lt;/a&gt;) the sites like Strongbox show up with a .onion. And like you need a web browser to go to a .com web address, you need a darknet browser to go to a .onion darknet address. On a mobile, we make the most secure and anonymous darknet &amp; web browser, Orweb. And if you want to get to strongbox on your phone, we’re the only way to do it.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  To browse, you’ll need our &lt;a title=&#34;orweb&#34; href=&#34;https://guardianproject.info/apps/orweb&#34; target=&#34;_blank&#34;&gt;Orweb&lt;/a&gt; app. It’s currently only available for Android and you can &lt;a title=&#34;Orweb anonymous browser&#34; href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser &#34; target=&#34;_blank&#34;&gt;get it here&lt;/a&gt;. If you have another type of phone or tablet, unfortunately you’ll have to use a computer.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  For Orweb to be anonymous and give you access to the darknet .onion addresses, you’ll need to enable onion routing with our &lt;a title=&#34;orbot&#34; href=&#34;https://guardianproject.info/apps/orbot&#34; target=&#34;_blank&#34;&gt;Orbot&lt;/a&gt; plugin. This plugin gives Orweb and other compatible apps (like our &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.otr.app.im&#34;&gt;Gibberbot secure chat&lt;/a&gt;  for Facebook, Google, &amp; Jabber) the ability to send web traffic through the darknet, thus avoiding tracking as well as blocking. You can &lt;a title=&#34;Orbot on Android&#34; href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android  &#34; target=&#34;_blank&#34;&gt;download Orbot here&lt;/a&gt;. It’s the official app of the &lt;a href=&#34;https://TorProject.org&#34;&gt;Tor Project&lt;/a&gt;, which develops the onion routing protocol, on Android.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  Once both are installed, you just need to go to this hidden site: &lt;a title=&#34;Strongbox Onion Site&#34; href=&#34;http://tnysbtbxsf356hiy.onion/&#34; target=&#34;_blank&#34;&gt;http://tnysbtbxsf356hiy.onion&lt;/a&gt; . Make sure that you’re using the Orweb browser and that Orbot is running. From there, you can easily submit messages to The New Yorker. Unfortunately you can’t yet submit files to them through the phone just yet.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  Overall, this is an exciting step in the right direction. With an increase in tracking and crackdown on political dissidents and whistleblowers around the world, there need to be safe and trusted ways of sharing information that has the potential of saving lives and making the world a better place. &lt;a title=&#34;the new yorker magazine&#34; href=&#34;http://www.newyorker.com/&#34; target=&#34;_blank&#34;&gt;The New Yorker&lt;/a&gt; is one of the most trusted journalistic outfits in the world and it will be interesting to follow how they understand and vet information that comes in from anonymous sources. It will be a lesson for the entire privacy community.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;http://instagram.com/p/PihUXCmJzW/&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;size-medium wp-image-3730 aligncenter&#34; title=&#34;On the Internet, algorithms can infer you&#39;re a dog.&#34; alt=&#34;Dog Algorithm&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/05/Dog-Algorithm-300x300.jpg&#34; width=&#34;300&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/05/Dog-Algorithm-300x300.jpg 300w, https://guardianproject.info/wp-content/uploads/2013/05/Dog-Algorithm-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2013/05/Dog-Algorithm.jpg 612w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  At the same time, it’s not yet a trusted technology. While the code is accessible and &lt;a href=&#34;http://deaddrop.github.io/&#34;&gt;open source&lt;/a&gt; it is unclear whether it’s a full version of the DeadDrop code that it came from or a fork of it. It also hasn’t been audited yet. Already, we’re seeing issues popping up on &lt;a href=&#34;https://github.com/deaddrop/deaddrop/issues&#34;&gt;the code&lt;/a&gt;. Hopefully it will be fully vetted as a solution and stand up to the ambitious and crucial claims that it is able “to provide you with a greater degree of anonymity and security than afforded by conventional e-mail.”
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  In the months before January, I worked a few seats down from Aaron Swartz in the ThoughtWorks offices. Since those shocking days, it’s been inspiring to continue to see his legacy. I spoke with him a bunch of times about using technology to introduce truly disruptive techniques for empowering people whose rights were otherwise being trampled. At the time, we were working on &lt;a href=&#34;http://markbelinsky.com/crowdring/&#34;&gt;Crowdring&lt;/a&gt;, an intiative from &lt;a href=&#34;http://www.therules.org/&#34;&gt;/The Rules&lt;/a&gt;. And we spoke about the power of leveraging telephony to give voice so widely, and the trade off of handing over personally identifiable information. He recognized the need for constantly evolving and shifting tactics and was expert at integrating that into both strategy and code. It’s an honor to continue to work with him now, and with the rest of the open source community as we all contribute code and ideas to make the world better.
&lt;/p&gt;

&lt;p dir=&#34;ltr&#34;&gt;
  Having just won the Knight News Challenge for our &lt;a href=&#34;https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/&#34;&gt;Informacam project&lt;/a&gt;, we’re excited at the growing interest from the world of journalism in making sure that sources are kept truly secure and anonymous in the digital age. We’re working to build our whole &lt;a href=&#34;https://play.google.com/store/apps/dev?id=6502754515281796553&#34;&gt;suite of tools&lt;/a&gt; to make it easier and better to do so. If you want to reach out to us, anonymously or otherwise, to &lt;a title=&#34;Guardian Contact&#34; href=&#34;https://guardianproject.info/contact/ &#34;&gt;let us know how we can help&lt;/a&gt;, you can use Orbot and Tor to do so over any of these methods. We look forward to it!
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>GnuPG for Android progress: we have an command line app!</title>
      <link>https://guardianproject.info/2013/05/09/gnupg-for-android-progress-we-have-an-command-line-app/</link>
      <pubDate>Thu, 09 May 2013 10:48:52 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/05/09/gnupg-for-android-progress-we-have-an-command-line-app/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon-150x150.png&#34; alt=&#34;GnuPG for Android&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-3680&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/05/icon-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/05/icon.png 512w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
This alpha release of our command-line developer tool brings GnuPG to Android for the first time!&lt;/p&gt;

&lt;p&gt;GNU Privacy Guard Command-Line (gpgcli) gives you command line access to the entire &lt;a href=&#34;http://gnupg.org&#34; title=&#34;Gnu Privacy Guard home page&#34; target=&#34;_blank&#34;&gt;GnuPG&lt;/a&gt; suite of encryption software. GPG is GNU’s tool for end-to-end secure communication and encrypted data storage. This trusted protocol is the free software alternative to PGP. GnuPG 2.1 is the new modularized version of GnuPG that now supports OpenPGP and S/MIME.&lt;/p&gt;

&lt;p&gt;You can get it from the Play Store:&lt;br /&gt;
&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.gpg&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.gpg&#34;&gt;https://play.google.com/store/apps/details?id=info.guardianproject.gpg&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or download the &lt;code&gt;.apk&lt;/code&gt; from our nightly builds:&lt;br /&gt;
&lt;a href=&#34;https://guardianproject.info/builds/GnuPrivacyGuard/&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/builds/GnuPrivacyGuard/&#34;&gt;https://guardianproject.info/builds/GnuPrivacyGuard/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;setup&#34;&gt;Setup&lt;/h2&gt;

&lt;p&gt;Before using gpgcli, be sure to launch the app and let it finish its installation process. Once it has completed, then you’re ready to use it. The easiest way to get started with gpgcli is to install &lt;a href=&#34;https://play.google.com/store/apps/details?id=jackpal.androidterm&#34; title=&#34;download Android Terminal emulator from the Google Play Store&#34;  target=&#34;_blank&#34;&gt;Android Terminal Emulator&lt;/a&gt;. gpgcli will automatically configure Android Terminal Emulator as long as you have the _Allow PATH extensions&amp;lt;/em settings enabled.&lt;/p&gt;

&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TRUSTED SECURITY: This technology already seamlessly integrates into Linux on Debian, Ubuntu, Fedora, Mac OSX (GPGtools), Windows (gpg4win)&lt;/li&gt;
&lt;li&gt;PUBLIC KEY ENCRYPTION: Full interoperable replacement of the proprietary Pretty Good Privacy (PGP) standard that uses a serial combination of hashing, data compression, symmetric-key cryptography and finally public-key cryptography; each step uses one of several supported algorithms.&lt;/li&gt;
&lt;li&gt;BROAD ALGORITHM LANDSCAPE: Supports 3DES, AES, Blowfish, CAST5, DSA, ElGamal, MD5, RSA, RIPDE-MD-160, SHA-1, TIGER, and Twofish.&lt;/li&gt;
&lt;li&gt;VERIFIABLE INTEGRITY AND AUTHENTICITY: Digital signatures create a trusted trail of ownership.&lt;/li&gt;
&lt;li&gt;CONFIRMED SECURITY: Italian Police, the FBI, and British police have been unable to crack its security and have resorted to demanding private keys. It’s been likened as “the closest you’re likely to get to military-grade encryption” by cryptographer Bruce Schneier.&lt;/li&gt;
&lt;li&gt;HELP SYSTEM: A quick help tool is built in.&lt;/li&gt;
&lt;li&gt;KEYSERVER SUPPORT: Integrated support for HKP and LDAP keyservers (keys.gnupg.net).&lt;/li&gt;

&lt;li&gt;&lt;p&gt;OPEN STANDARD COMPLIANT: Full OpenPGP implementation. Learn more about standards &lt;a href=&#34;http://tools.ietf.org/html/rfc2440&#34; target=&#34;_blank&#34;&gt;RFC2440&lt;/a&gt; &amp;amp; &lt;a href=&#34;http://tools.ietf.org/html/rfc4880&#34; target=&#34;_blank&#34;&gt;RFC4880&lt;/a&gt; &lt;/ul&gt;&lt;/p&gt;

&lt;h2 id=&#34;please-report-bugs&#34;&gt;Please Report Bugs&lt;/h2&gt;

&lt;p&gt;This is an early release of a big project, so there will inevitable be bugs. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests are also welcome!&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/gpgandroid/issues&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/gpgandroid/issues&#34;&gt;https://dev.guardianproject.info/projects/gpgandroid/issues&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;coming-soon&#34;&gt;Coming Soon&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;SECURITY FOR APPS: We have an API in the works so that developers can&lt;br /&gt;
easily embed this into any app to give it state of the art security features.&lt;/li&gt;
&lt;li&gt;GUI: We’re building a graphical user interface for easy key management.&lt;/li&gt;
&lt;li&gt;STAY UP TO DATE: Sign up for our low-traffic &lt;a href=&#34;https://lists.mayfirst.org/mailman/listinfo/guardian-dev&#34; title=&#34;subscribe to the guardian-dev mailing list&#34; target=&#34;_blank&#34;&gt;Guardian-Dev&lt;/a&gt; mailing list to&lt;br /&gt;
be notified when the API and GUI are released:&lt;br /&gt;
&lt;a href=&#34;https://lists.mayfirst.org/mailman/listinfo/guardian-dev&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://lists.mayfirst.org/mailman/listinfo/guardian-dev&#34;&gt;https://lists.mayfirst.org/mailman/listinfo/guardian-dev&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Find us in IRC, we want feedback!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;irc://irc.freenode.net/guardianproject&#34;&gt;#guardianproject on freenode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;irc://irc.oftc.net/guardianproject&#34;&gt;#guardianproject on oftc&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;.&lt;/li&gt; &lt;/ul&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>NetCipher: Secured Networking</title>
      <link>https://guardianproject.info/code/netcipher/</link>
      <pubDate>Mon, 29 Apr 2013 11:00:55 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/netcipher/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/NetCipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/NetCipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/NetCipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/netcipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;&lt;strong&gt;Better TLS and Tor App Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NetCipher is a library for Android that provides multiple means to
improve network security in mobile applications. It provides best
practices TLS settings using the standard Android &lt;tt&gt;HttpURLConnection&lt;/tt&gt; methods, &lt;a
href=&#34;https://developer.android.com/reference/java/net/HttpURLConnection.html&#34;
target=&#34;_blank&#34;&gt;&lt;code&gt;HttpURLConnection&lt;/code&gt;&lt;/a&gt;, OkHTTP3, Volley, and &lt;a
href=&#34;https://hc.apache.org/httpcomponents-client-4.3.x/index.html&#34;
target=&#34;_blank&#34;&gt;Apache HTTP Client&lt;/a&gt;, provides simple Tor
integration, makes it easy to configure proxies for HTTP connections
and &lt;code&gt;WebView&lt;/code&gt; instances.&lt;/p&gt;

&lt;p&gt;More specifically this library provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardening of TLS protocol support and cipher suites, especially on older&lt;br /&gt;
versions of Android&lt;/li&gt;
&lt;li&gt;Proxied Connection Support: HTTP and SOCKS proxy connection support for HTTP&lt;br /&gt;
and HTTPS traffic through specific configuration&lt;/li&gt;
&lt;li&gt;OrbotHelper: a utility class to support application integration with Orbot&lt;br /&gt;
(Tor for Android). Check if its installed, automatically start it, etc.&lt;/li&gt;
&lt;li&gt;Optional, custom certificate store based on the open Debian root CA trust&lt;br /&gt;
store, which is built with Mozilla&amp;rsquo;s CA collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;IT MUST BE NOTED, that you can use this library without using Orbot/Tor, but obviously we think using strong TLS/SSL connections over Tor is just about the best thing in the world.&lt;/p&gt;

&lt;p&gt;&lt;a title=&#34;onionkit&#34; href=&#34;https://github.com/guardianproject/NetCipher&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher&#34;&gt;https://github.com/guardianproject/NetCipher&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This library was formerly named OnionKit&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started&lt;/h2&gt;

&lt;p&gt;For examples and more info on using NetCipher, see the &lt;a
href=&#34;https://github.com/guardianproject/NetCipher#readme&#34;
target=&#34;_blank&#34;&gt;README&lt;/a&gt; and included sample projects.  Many apps
include NetCipher, so they can also serve as examples of NetCipher in
action:&lt;/p&gt;

&lt;h3 id=&#34;sample-projects&#34;&gt;Sample Projects&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-hurl&#34;&gt;Android HttpURLConnection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-httpclient&#34;&gt;Apache HTTP Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-chboye&#34;&gt;chboye&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-okhttp3&#34;&gt;OkHTTP3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-volley&#34;&gt;Volley&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-webkit&#34;&gt;WebKit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-webviewclient&#34;&gt;WebViewClient&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;apps&#34;&gt;Apps&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/commit/2c88703588a6192cbf3ffd7ccb8d01b65c693ed3&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.netcipher:netcipher:2.2.0-alpha&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha.jar&#34;&gt;netcipher-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-sources.jar&#34;&gt;netcipher-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;









&lt;div class=&#34;gradle-line&#34;&gt;


&lt;p&gt;For working with popular HTTP libraries or &lt;tt&gt;android.webkit&lt;/tt&gt;, use
the specific NetCipher library that matches:&lt;/p&gt;
&lt;pre&gt;
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-webkit:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-okhttp3:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-httpclient:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-volley:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-chboye:2.2.0-alpha
&lt;/pre&gt;

&lt;p&gt;These files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha.jar&#34;&gt;netcipher-webkit-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-sources.jar&#34;&gt;netcipher-webkit-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-webkit-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha.jar&#34;&gt;netcipher-okhttp3-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-sources.jar&#34;&gt;netcipher-okhttp3-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-okhttp3-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha.jar&#34;&gt;netcipher-httpclient-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-sources.jar&#34;&gt;netcipher-httpclient-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-httpclient-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha.jar&#34;&gt;netcipher-volley-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-sources.jar&#34;&gt;netcipher-volley-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-volley-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha.jar&#34;&gt;netcipher-chboye-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-sources.jar&#34;&gt;netcipher-chboye-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-chboye-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
&lt;/ul&gt;

&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>NetCipher: Secured Networking</title>
      <link>https://guardianproject.info/code/netcipher/</link>
      <pubDate>Mon, 29 Apr 2013 11:00:55 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/netcipher/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/NetCipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/NetCipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/NetCipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/netcipher&#34; target=&#34;_blank&#34; title=&#34;NetCipher blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;&lt;strong&gt;Better TLS and Tor App Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NetCipher is a library for Android that provides multiple means to
improve network security in mobile applications. It provides best
practices TLS settings using the standard Android &lt;tt&gt;HttpURLConnection&lt;/tt&gt; methods, &lt;a
href=&#34;https://developer.android.com/reference/java/net/HttpURLConnection.html&#34;
target=&#34;_blank&#34;&gt;&lt;code&gt;HttpURLConnection&lt;/code&gt;&lt;/a&gt;, OkHTTP3, Volley, and &lt;a
href=&#34;https://hc.apache.org/httpcomponents-client-4.3.x/index.html&#34;
target=&#34;_blank&#34;&gt;Apache HTTP Client&lt;/a&gt;, provides simple Tor
integration, makes it easy to configure proxies for HTTP connections
and &lt;code&gt;WebView&lt;/code&gt; instances.&lt;/p&gt;

&lt;p&gt;More specifically this library provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardening of TLS protocol support and cipher suites, especially on older&lt;br /&gt;
versions of Android&lt;/li&gt;
&lt;li&gt;Proxied Connection Support: HTTP and SOCKS proxy connection support for HTTP&lt;br /&gt;
and HTTPS traffic through specific configuration&lt;/li&gt;
&lt;li&gt;OrbotHelper: a utility class to support application integration with Orbot&lt;br /&gt;
(Tor for Android). Check if its installed, automatically start it, etc.&lt;/li&gt;
&lt;li&gt;Optional, custom certificate store based on the open Debian root CA trust&lt;br /&gt;
store, which is built with Mozilla&amp;rsquo;s CA collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;IT MUST BE NOTED, that you can use this library without using Orbot/Tor, but obviously we think using strong TLS/SSL connections over Tor is just about the best thing in the world.&lt;/p&gt;

&lt;p&gt;&lt;a title=&#34;onionkit&#34; href=&#34;https://github.com/guardianproject/NetCipher&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher&#34;&gt;https://github.com/guardianproject/NetCipher&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This library was formerly named OnionKit&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started&lt;/h2&gt;

&lt;p&gt;For examples and more info on using NetCipher, see the &lt;a
href=&#34;https://github.com/guardianproject/NetCipher#readme&#34;
target=&#34;_blank&#34;&gt;README&lt;/a&gt; and included sample projects.  Many apps
include NetCipher, so they can also serve as examples of NetCipher in
action:&lt;/p&gt;

&lt;h3 id=&#34;sample-projects&#34;&gt;Sample Projects&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-hurl&#34;&gt;Android HttpURLConnection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-httpclient&#34;&gt;Apache HTTP Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-chboye&#34;&gt;chboye&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-okhttp3&#34;&gt;OkHTTP3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-volley&#34;&gt;Volley&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-webkit&#34;&gt;WebKit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/NetCipher/tree/master/sample-webviewclient&#34;&gt;WebViewClient&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;apps&#34;&gt;Apps&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.com/fdroid/fdroidclient/commit/2c88703588a6192cbf3ffd7ccb8d01b65c693ed3&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject.netcipher:netcipher:2.2.0-alpha&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha.jar&#34;&gt;netcipher-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-sources.jar&#34;&gt;netcipher-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/netcipher/2.2.0-alpha/netcipher-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;









&lt;div class=&#34;gradle-line&#34;&gt;


&lt;p&gt;For working with popular HTTP libraries or &lt;tt&gt;android.webkit&lt;/tt&gt;, use
the specific NetCipher library that matches:&lt;/p&gt;
&lt;pre&gt;
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-webkit:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-okhttp3:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-httpclient:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-volley:2.2.0-alpha
    implementation &amp;#39;info.guardianproject.netcipher:netcipher-chboye:2.2.0-alpha
&lt;/pre&gt;

&lt;p&gt;These files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha.jar&#34;&gt;netcipher-webkit-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-sources.jar&#34;&gt;netcipher-webkit-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-webkit-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-webkit-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha.jar&#34;&gt;netcipher-okhttp3-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-sources.jar&#34;&gt;netcipher-okhttp3-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-okhttp3-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-okhttp3-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha.jar&#34;&gt;netcipher-httpclient-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-sources.jar&#34;&gt;netcipher-httpclient-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-httpclient-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-httpclient-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha.jar&#34;&gt;netcipher-volley-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-sources.jar&#34;&gt;netcipher-volley-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-volley-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-volley-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
  
  
  
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha.jar&#34;&gt;netcipher-chboye-2.2.0-alpha.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-sources.jar&#34;&gt;netcipher-chboye-2.2.0-alpha-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-javadoc.jar&#34;&gt;netcipher-chboye-2.2.0-alpha-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/netcipher/2.2.0-alpha/netcipher-chboye-2.2.0-alpha-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  
&lt;/ul&gt;

&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>Security Awareness Party</title>
      <link>https://guardianproject.info/2013/04/26/security-awareness-party/</link>
      <pubDate>Fri, 26 Apr 2013 09:05:36 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/04/26/security-awareness-party/</guid>
      <description>

&lt;p&gt;In the security world, there’s a pesky belief that a tool can either be secure or easy to use, but not both. Some experts also argue that training people to be safe online is too hard and doesn’t accomplish much (see Bruce Schneier’s recent post &lt;a href=&#34;http://www.schneier.com/blog/archives/2013/03/security_awaren_1.html&#34; target=&#34;_blank&#34;&gt;&lt;em&gt;Security Awareness Training&lt;/em&gt;&lt;/a&gt;). Without a thoughtful approach, that’s usually how it plays out. But it doesn’t have to be that way! We’re committed to making online security fun to learn and fun to use, and we’re launching a new series of interactive tutorials to make it happen. Consider this post an invitation to our festive Security Awareness Party. &lt;a href=&#34;https://guardianproject.info/home/how-you-can-work-with-us/&#34; target=&#34;_blank&#34;&gt;Beer is encouraged&lt;/a&gt;, especially if it comes from &lt;a title=&#34;Android-powered beer kegerator&#34; href=&#34;https://kegbot.org/&#34; target=&#34;_blank&#34;&gt;an Android-powered kegbot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here at Guardian, security is always our #1 priority. We owe that to our users who rely on us to keep them safe in places like Syria or Iran. But the time we spend on encryption is wasted if users don’t like using our tools, or can’t figure out how they work. We want to make security apps that are enjoyable and easy to use everyday, and don’t take a PHD to understand.&lt;/p&gt;

&lt;p&gt;Activists in Iran and Syria know firsthand how important technologies like Tor and VPNs are for staying safe online. Our friends and neighbors might not be living under a repressive dictatorship, but that doesn’t mean they couldn’t use a little digital security in their lives. Maybe your nephew wants to get past the block on Facebook at school, or your co-worker wants to watch March Madness at work (make sure she gets that decoy spreadsheet ready). Maybe your friend just wants to send his wife a few…private messages, and he’d rather not have them stored by Google or Verizon. These people might not be pros, but they’re curious and happy to poke around their technology. With a little fun and interactive guidance, they can be well on their way to becoming a power user. Everyone starts somewhere!&lt;/p&gt;

&lt;p&gt;We want to make life safer and easier for at-risk activists and everyday people alike. That’s why we make accessible and straightforward guides to help you quickly and easily get past censors, internet police, or the office IT department.&lt;/p&gt;

&lt;h1 id=&#34;gibberbot-tutorial&#34;&gt;&lt;strong&gt;Gibberbot Tutorial&lt;/strong&gt;&lt;/h1&gt;

&lt;p&gt;Our newest tutorial is for our secure chat app, &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.otr.app.im&amp;feature=search_result&#34; target=&#34;_blank&#34;&gt;Gibberbot&lt;/a&gt;. With your Android phone in one hand and the &lt;a href=&#34;https://guardianproject.info/howto/chatsecurely/&#34; target=&#34;_blank&#34;&gt;Gibberbot Tutorial&lt;/a&gt; in the other, you can be chatting securely on Google or Facebook chat in minutes! But Google and Facebook can’t even tell what you’re talking about. It’s also more convenient to have all of your chat apps rolled into one so that it doesn’t matter where your friends message you, it still goes to the same place. Gibberbot works even if someone is trying to monitor or block your phone’s communications. If you know another language and would like to contribute, &lt;a title=&#34;Gibberbot Tutorial Transifex Translations&#34; href=&#34;https://www.transifex.com/projects/p/gibberbot-tutorial/&#34; target=&#34;_blank&#34;&gt;we’d love your help translating the tutorial (we’ve got English and Tibetan covered)&lt;/a&gt;.&lt;/p&gt;

&lt;div id=&#34;attachment_3291&#34; style=&#34;width: 251px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/howto/chatsecurely/&#34; target=&#34;_blank&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-3291&#34; class=&#34; wp-image-3291&#34; alt=&#34;galaxy5&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/02/galaxy5.png&#34; width=&#34;241&#34; height=&#34;361&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-3291&#34; class=&#34;wp-caption-text&#34;&gt;
    So you want to chat securely?
  &lt;/p&gt;
&lt;/div&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;p&gt;
     
  &lt;/p&gt;
  

&lt;p&gt;&lt;h1&gt;
    &lt;strong&gt;Orbot Tutorial&lt;/strong&gt;
  &lt;/h1&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    With our Android app Orbot, browsing the web securely and safely through Tor has been a piece of cake for a while now. But we just created &lt;a title=&#34;How to Orbot Tutorial&#34; href=&#34;https://guardianproject.info/howto/browsefreely&#34; target=&#34;_blank&#34;&gt;an interactive tutorial to get you started&lt;/a&gt; and show how easy it is circumvent censorship, even if the Google Play Store is blocking direct access to our app.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    The tools themselves are getting smarter too. A new tool from &lt;a title=&#34;Tor Project&#34; href=&#34;https://www.torproject.org/&#34; target=&#34;_blank&#34;&gt;Tor&lt;/a&gt;, called &lt;a title=&#34;Tor Project Obfsproxy&#34; href=&#34;http://www.torproject.org/projects/obfsproxy.html.en&#34; target=&#34;_blank&#34;&gt;Pluggable Transports&lt;/a&gt;, hides your Tor traffic to look like regular Internet traffic, making it even easier for Tor users to stay ahead of surveillance and censorship. To use this new tool with Orbot, just follow the instructions on &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/04/How-to-browse-freely-on-your-phone-if-your-internet-is-blocked.pdf&#34; target=&#34;_blank&#34;&gt;our new one-page guide&lt;/a&gt; (and &lt;a title=&#34;How to browse freely on your phone if your internet is blocked - Farsi&#34; href=&#34;https://guardianproject.info/wp-content/uploads/2013/04/How-to-browse-freely-on-your-phone-if-your-internet-is-blocked-Farsi.pdf&#34; target=&#34;_blank&#34;&gt;in Farsi&lt;/a&gt;) and you’re all set! For a more in-depth guide to using Orbot, watch our &lt;a href=&#34;https://www.youtube.com/watch?v=Dcf5sh99ze0&#34;&gt;video tutorial&lt;/a&gt; (now in English and Arabic).
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;div id=&#34;attachment_3585&#34; style=&#34;width: 250px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
    &lt;a href=&#34;https://guardianproject.info/howto/browsefreely&#34; target=&#34;_blank&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-3585&#34; class=&#34; wp-image-3585&#34; alt=&#34;orbot galaxy s3&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/galaxy15.png&#34; width=&#34;240&#34; height=&#34;361&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/04/galaxy15.png 400w, https://guardianproject.info/wp-content/uploads/2013/04/galaxy15-199x300.png 199w&#34; sizes=&#34;(max-width: 240px) 100vw, 240px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p id=&amp;quot;caption-attachment-3585&amp;quot; class=&amp;quot;wp-caption-text&amp;quot;&amp;gt;
  So you want to escape censorship?
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;text-align: center;&#34;&gt;
    &lt;p&gt;
      As we continue to grow our team and create new tools, we need your feedback!  Please tell us what we can do to go from security awareness training to a full-on security awareness party. Feel free to leave a comment on this post or tell us how we can make things easier through our &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;contact page&lt;/a&gt;. You can also let us know about any upcoming parties that we should be attending.
    &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;
  &amp;lt;i&amp;gt;This post is partially a response to Bruce Schneier’s recent piece: &amp;lt;a title=&amp;quot;Schneier Security Awareness Training&amp;quot; href=&amp;quot;https://www.schneier.com/blog/archives/2013/03/security_awaren_1.html&amp;quot;&amp;gt;Security Awareness Training&amp;lt;/a&amp;gt;&amp;lt;/i&amp;gt;.
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Pixelknot: Hidden Messages</title>
      <link>https://guardianproject.info/archive/pixelknot/</link>
      <pubDate>Wed, 10 Apr 2013 19:31:13 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/pixelknot/</guid>
      <description>

&lt;h4 id=&#34;img-class-aligncenter-size-full-wp-image-11444-src-https-guardianproject-info-wp-content-uploads-2013-04-pixelknot-banner-002-png-alt-pixelknot-banner-hide-messages-width-1024-height-512-srcset-https-guardianproject-info-wp-content-uploads-2013-04-pixelknot-banner-002-png-1024w-https-guardianproject-info-wp-content-uploads-2013-04-pixelknot-banner-002-300x150-png-300w-sizes-max-width-1024px-100vw-1024px-https-guardianproject-info-releases-pixelknot-release-0-3-rc1-apk-what-is-pixelknot&#34;&gt;&lt;a href=&#34;https://guardianproject.info/releases/PixelKnot-release-0.3-RC1.apk&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-11444&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/pixelknot_banner.002.png&#34; alt=&#34;pixelknot banner hide messages&#34; width=&#34;1024&#34; height=&#34;512&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/04/pixelknot_banner.002.png 1024w, https://guardianproject.info/wp-content/uploads/2013/04/pixelknot_banner.002-300x150.png 300w&#34; sizes=&#34;(max-width: 1024px) 100vw, 1024px&#34; /&gt;&lt;/a&gt;What is Pixelknot?&lt;/h4&gt;

&lt;div id=&#34;attachment_11493&#34; style=&#34;width: 123px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.pixelknot&#34; target=&#34;_blank&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-11493&#34; class=&#34;size-full wp-image-11493 &#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/pixelknot-qr1.png&#34; alt=&#34;pixelknot qr&#34; width=&#34;113&#34; height=&#34;113&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-11493&#34; class=&#34;wp-caption-text&#34;&gt;
    Play Store
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Pixelknot is an Android application that allows users to hide short text-based messages in photographs and share them across trusted channels.&lt;/p&gt;

&lt;p&gt;Have a secret that you want to share? Why not hide it in a picture? With PixelKnot, only your friends with the secret password can unlock your special message. Everyone else just sees a pretty picture. It’s a fun and easy way to share hidden messages without anyone knowing. Take those pixels, twist them in a knot, and see for yourself!&lt;/p&gt;

&lt;p&gt;Pixelknot is now available on &lt;a title=&#34;Pixelknot on Google Play&#34; href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.pixelknot&#34; target=&#34;_blank&#34;&gt;Google Play&lt;/a&gt; and also &lt;a title=&#34;Pixelknot apk&#34; href=&#34;https://guardianproject.info/releases/pixelknot-latest.apk&#34; target=&#34;_blank&#34;&gt;on our website&lt;/a&gt; and verifiable &lt;a title=&#34;Pixelknot asc&#34; href=&#34;https://guardianproject.info/releases/pixelknot-latest.apk.asc&#34; target=&#34;_blank&#34;&gt;via the asc&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;FREE AND OPEN-SOURCE: PixelKnot is free software. You can take a look at our source code, or join the community to help make it even better: &lt;a href=&#34;https://github.com/guardianproject/pixelknot&#34;&gt;https://github.com/guardianproject/pixelknot&lt;/a&gt;&lt;/p&gt;

&lt;h4 id=&#34;screenshots&#34;&gt;Screenshots&lt;/h4&gt;

&lt;div id=&#39;gallery-14&#39; class=&#39;gallery galleryid-3456 gallery-columns-4 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091621_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091621_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091635_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091635_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091711_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091711_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091817_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091817_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091832_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091832_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092806_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092806_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092833_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092833_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-093114_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-093114_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;This image steganography application features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DISGUISE YOUR MESSAGES: Pictures are public, the text is hidden inside. Even a trained eye will think the image is unedited.&lt;/li&gt;
&lt;li&gt;FOR YOUR EYES ONLY: Put a password on the secret message to make sure that no one can read it except the person it’s meant for.&lt;/li&gt;
&lt;li&gt;MATHEMATICALLY SECURE: We use the steganography algorithm F5 which implements matrix encoding to improve the efficiency of embedding and employs permutative straddling to uniformly spread out the changes over the whole steganogram.&lt;/li&gt;
&lt;li&gt;ATTACK RESISTANT: We’ve tested discovery on images with messages hidden in them using a specialized version of stegdetect, an automated tool for detecting steganographic content in images.&lt;/li&gt;
&lt;li&gt;AD-FREE: We want your love, not your money.&lt;/li&gt;
&lt;li&gt;WE SPEAK YOUR LANGUAGE:  PixelKnot is available for friends who speak many languages.  Don’t see your language? Join us and help translate the app: &lt;a href=&#34;https://www.transifex.com/projects/p/pixelknot/&#34;&gt;https://www.transifex.com/projects/p/pixelknot/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;what-is-steganography&#34;&gt;What is Steganography?&lt;/h4&gt;

&lt;p&gt;The practice of embedding secret messages into a piece of media so that no one, apart from the sender and intended recipient, know that the secret message exists. The newly developed algorithm F5 withstands visual and statistical attacks, yet it still offers a large steganographic capacity. F5 implements matrix encoding to improve the efficiency of embedding. Thus it reduces the number of necessary changes. F5 employs permutative straddling to uniformly spread out the changes over the whole steganogram.&lt;/p&gt;

&lt;div title=&#34;Page 4&#34;&gt;
  &lt;div&gt;
    &lt;div&gt;
      &lt;div&gt;
        &lt;p&gt;
          The Guardian steganography standard: we are working towards ensuring that the secret message in an image must:
        &lt;/p&gt;
        
        &lt;ol&gt;
          &lt;li&gt;
            Have the original image appear, to the trained human eye, &lt;strong&gt;unedited&lt;/strong&gt;.
          &lt;/li&gt;
          &lt;li&gt;
            Have the bytes of the image appear, to a trained analyst, &lt;strong&gt;undistorted&lt;/strong&gt; so much so as to arouse suspicion.
          &lt;/li&gt;
          &lt;li&gt;
            Have the complete message be &lt;strong&gt;recoverable&lt;/strong&gt; no matter how it is transmitted.
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;The release of PixelKnot features an improved user experience:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;EASIER SHARING: It’s now easier to share PixelKnot images with the applications you and your friends commonly use.  Note that not all image sharing services can be used with PixelKnot because they modify your images before posting them to their platform.  PixelKnot suggests apps it knows will share properly, but you’re welcome to add your own.&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;SIMPLIFIED SENDING / RECEIVING: Want to send a message? Open the PixelKnot app directly, and PixelKnot will walk you through the process.  Receiving a shared stego image? Use your receiving app to share the image with PixelKnot - it’ll take care of the message extraction directly.&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;NEW IMAGE CHOOSER:  You can use the camera to take your photo or select from picture you’ve already taken. The new chooser supports all the common image directories and allows you to select a different galleries if needed (such a “private” gallery created by a unique camera application).&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;SEND QUEUE: PixelKnot allows you to queue up a list of images for processing, rather than forcing you to wait for the message encryption to complete (depending on the size of your image and length of your text, this might be time-consuming).&lt;/span&gt;
&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;ABOUT US: Guardian Project is a group of developers that make secure mobile apps and open-source code for a better tomorrow.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;OUR WEBSITE: &lt;a href=&#34;https://guardianproject.info&#34;&gt;https://guardianproject.info&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;ON TWITTER: &lt;a href=&#34;https://twitter.com/guardianproject&#34;&gt;https://twitter.com/guardianproject&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;MESSAGE US: Are we missing your favorite feature? Found an annoying bug? Please tell us! We’d love to hear from you. Send us an email: s&amp;#117;&amp;#x70;&amp;#x70;&amp;#x6f;r&amp;#116;&amp;#x40;&amp;#x67;&amp;#x75;a&amp;#114;&amp;#x64;&amp;#x69;&amp;#x61;n&amp;#112;&amp;#x72;&amp;#x6f;&amp;#x6a;e&amp;#99;&amp;#x74;&amp;#x2e;&amp;#x69;n&amp;#102;&amp;#x6f;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Pixelknot: Hidden Messages</title>
      <link>https://guardianproject.info/archive/pixelknot/</link>
      <pubDate>Wed, 10 Apr 2013 19:31:13 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/pixelknot/</guid>
      <description>

&lt;h4 id=&#34;img-class-aligncenter-size-full-wp-image-11444-src-https-guardianproject-info-wp-content-uploads-2013-04-pixelknot-banner-002-png-alt-pixelknot-banner-hide-messages-width-1024-height-512-srcset-https-guardianproject-info-wp-content-uploads-2013-04-pixelknot-banner-002-png-1024w-https-guardianproject-info-wp-content-uploads-2013-04-pixelknot-banner-002-300x150-png-300w-sizes-max-width-1024px-100vw-1024px-https-guardianproject-info-releases-pixelknot-release-0-3-rc1-apk-what-is-pixelknot&#34;&gt;&lt;a href=&#34;https://guardianproject.info/releases/PixelKnot-release-0.3-RC1.apk&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-11444&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/pixelknot_banner.002.png&#34; alt=&#34;pixelknot banner hide messages&#34; width=&#34;1024&#34; height=&#34;512&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/04/pixelknot_banner.002.png 1024w, https://guardianproject.info/wp-content/uploads/2013/04/pixelknot_banner.002-300x150.png 300w&#34; sizes=&#34;(max-width: 1024px) 100vw, 1024px&#34; /&gt;&lt;/a&gt;What is Pixelknot?&lt;/h4&gt;

&lt;div id=&#34;attachment_11493&#34; style=&#34;width: 123px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.pixelknot&#34; target=&#34;_blank&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-11493&#34; class=&#34;size-full wp-image-11493 &#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/pixelknot-qr1.png&#34; alt=&#34;pixelknot qr&#34; width=&#34;113&#34; height=&#34;113&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-11493&#34; class=&#34;wp-caption-text&#34;&gt;
    Play Store
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Pixelknot is an Android application that allows users to hide short text-based messages in photographs and share them across trusted channels.&lt;/p&gt;

&lt;p&gt;Have a secret that you want to share? Why not hide it in a picture? With PixelKnot, only your friends with the secret password can unlock your special message. Everyone else just sees a pretty picture. It’s a fun and easy way to share hidden messages without anyone knowing. Take those pixels, twist them in a knot, and see for yourself!&lt;/p&gt;

&lt;p&gt;Pixelknot is now available on &lt;a title=&#34;Pixelknot on Google Play&#34; href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.pixelknot&#34; target=&#34;_blank&#34;&gt;Google Play&lt;/a&gt; and also &lt;a title=&#34;Pixelknot apk&#34; href=&#34;https://guardianproject.info/releases/pixelknot-latest.apk&#34; target=&#34;_blank&#34;&gt;on our website&lt;/a&gt; and verifiable &lt;a title=&#34;Pixelknot asc&#34; href=&#34;https://guardianproject.info/releases/pixelknot-latest.apk.asc&#34; target=&#34;_blank&#34;&gt;via the asc&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;FREE AND OPEN-SOURCE: PixelKnot is free software. You can take a look at our source code, or join the community to help make it even better: &lt;a href=&#34;https://github.com/guardianproject/pixelknot&#34;&gt;https://github.com/guardianproject/pixelknot&lt;/a&gt;&lt;/p&gt;

&lt;h4 id=&#34;screenshots&#34;&gt;Screenshots&lt;/h4&gt;

&lt;div id=&#39;gallery-14&#39; class=&#39;gallery galleryid-3456 gallery-columns-4 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091621_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091621_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091635_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091635_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091711_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091711_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091817_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091817_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091832_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-091832_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092806_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092806_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092833_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-092833_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-093114_s.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/04/Screenshot_20161025-093114_s-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt;This image steganography application features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DISGUISE YOUR MESSAGES: Pictures are public, the text is hidden inside. Even a trained eye will think the image is unedited.&lt;/li&gt;
&lt;li&gt;FOR YOUR EYES ONLY: Put a password on the secret message to make sure that no one can read it except the person it’s meant for.&lt;/li&gt;
&lt;li&gt;MATHEMATICALLY SECURE: We use the steganography algorithm F5 which implements matrix encoding to improve the efficiency of embedding and employs permutative straddling to uniformly spread out the changes over the whole steganogram.&lt;/li&gt;
&lt;li&gt;ATTACK RESISTANT: We’ve tested discovery on images with messages hidden in them using a specialized version of stegdetect, an automated tool for detecting steganographic content in images.&lt;/li&gt;
&lt;li&gt;AD-FREE: We want your love, not your money.&lt;/li&gt;
&lt;li&gt;WE SPEAK YOUR LANGUAGE:  PixelKnot is available for friends who speak many languages.  Don’t see your language? Join us and help translate the app: &lt;a href=&#34;https://www.transifex.com/projects/p/pixelknot/&#34;&gt;https://www.transifex.com/projects/p/pixelknot/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&#34;what-is-steganography&#34;&gt;What is Steganography?&lt;/h4&gt;

&lt;p&gt;The practice of embedding secret messages into a piece of media so that no one, apart from the sender and intended recipient, know that the secret message exists. The newly developed algorithm F5 withstands visual and statistical attacks, yet it still offers a large steganographic capacity. F5 implements matrix encoding to improve the efficiency of embedding. Thus it reduces the number of necessary changes. F5 employs permutative straddling to uniformly spread out the changes over the whole steganogram.&lt;/p&gt;

&lt;div title=&#34;Page 4&#34;&gt;
  &lt;div&gt;
    &lt;div&gt;
      &lt;div&gt;
        &lt;p&gt;
          The Guardian steganography standard: we are working towards ensuring that the secret message in an image must:
        &lt;/p&gt;
        
        &lt;ol&gt;
          &lt;li&gt;
            Have the original image appear, to the trained human eye, &lt;strong&gt;unedited&lt;/strong&gt;.
          &lt;/li&gt;
          &lt;li&gt;
            Have the bytes of the image appear, to a trained analyst, &lt;strong&gt;undistorted&lt;/strong&gt; so much so as to arouse suspicion.
          &lt;/li&gt;
          &lt;li&gt;
            Have the complete message be &lt;strong&gt;recoverable&lt;/strong&gt; no matter how it is transmitted.
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;The release of PixelKnot features an improved user experience:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;EASIER SHARING: It’s now easier to share PixelKnot images with the applications you and your friends commonly use.  Note that not all image sharing services can be used with PixelKnot because they modify your images before posting them to their platform.  PixelKnot suggests apps it knows will share properly, but you’re welcome to add your own.&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;SIMPLIFIED SENDING / RECEIVING: Want to send a message? Open the PixelKnot app directly, and PixelKnot will walk you through the process.  Receiving a shared stego image? Use your receiving app to share the image with PixelKnot - it’ll take care of the message extraction directly.&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;NEW IMAGE CHOOSER:  You can use the camera to take your photo or select from picture you’ve already taken. The new chooser supports all the common image directories and allows you to select a different galleries if needed (such a “private” gallery created by a unique camera application).&lt;/span&gt;
&lt;/li&gt;
&lt;li style=&#34;font-weight: 400;&#34;&gt;
  &lt;span style=&#34;font-weight: 400;&#34;&gt;SEND QUEUE: PixelKnot allows you to queue up a list of images for processing, rather than forcing you to wait for the message encryption to complete (depending on the size of your image and length of your text, this might be time-consuming).&lt;/span&gt;
&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;ABOUT US: Guardian Project is a group of developers that make secure mobile apps and open-source code for a better tomorrow.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;OUR WEBSITE: &lt;a href=&#34;https://guardianproject.info&#34;&gt;https://guardianproject.info&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;ON TWITTER: &lt;a href=&#34;https://twitter.com/guardianproject&#34;&gt;https://twitter.com/guardianproject&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;MESSAGE US: Are we missing your favorite feature? Found an annoying bug? Please tell us! We’d love to hear from you. Send us an email: s&amp;#117;&amp;#x70;&amp;#x70;&amp;#x6f;r&amp;#116;&amp;#x40;&amp;#x67;&amp;#x75;a&amp;#114;&amp;#x64;&amp;#x69;&amp;#x61;n&amp;#112;&amp;#x72;&amp;#x6f;&amp;#x6a;e&amp;#99;&amp;#x74;&amp;#x2e;&amp;#x69;n&amp;#102;&amp;#x6f;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Gibberbot v11 is not just secure, its also simple, snappy and super fun!</title>
      <link>https://guardianproject.info/2013/03/08/gibberbot-v11-is-not-just-secure-its-also-simple-snappy-and-super-fun/</link>
      <pubDate>Fri, 08 Mar 2013 12:54:50 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/03/08/gibberbot-v11-is-not-just-secure-its-also-simple-snappy-and-super-fun/</guid>
      <description>&lt;p&gt;&lt;em&gt;Gibberbot v11 is now final as of RC3 release: &lt;a href=&#34;https://github.com/guardianproject/Gibberbot/tree/0.0.11-RC3&#34;&gt;https://github.com/guardianproject/Gibberbot/tree/0.0.11-RC3&lt;/a&gt;. From here, the only changes to v11 we will be making will be critical bug fixes. We are now focused on our v12 release, which you can track here: &lt;a href=&#34;https://dev.guardianproject.info/versions/39&#34;&gt;https://dev.guardianproject.info/versions/39&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;_&lt;strong&gt;Please promote our new Gibberbot how-to interactive tutorial available here: &lt;a href=&#34;https://guardianproject.info/howto/chatsecurely/&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/howto/chatsecurely/&#34;&gt;https://guardianproject.info/howto/chatsecurely/&lt;/a&gt;&lt;/a&gt;&lt;/strong&gt;_&lt;/p&gt;

&lt;p&gt;If you have been tracking our efforts here for the last few years, you will know that Gibberbot, our secure instant messaging app, started out as a big old mess of an app called “ORChat” as and then “OTRChat” and then “Gibber” (or “Jibber”?), and then finally settled down into the name and app it is known as now. Really it was a proof of concept, showing that you could indeed use the &lt;a href=&#34;https://github.com/gpolitis/otr4j&#34;&gt;OTR4J library&lt;/a&gt; built for desktops app, on Android.&lt;/p&gt;

&lt;p&gt;Gibberbot was the first Android app, and perhaps real mobile app, that supported end-to-end encrypted chat using open standards like OTR and XMPP. In the early days, we were just so excited this was possible, and that we could also send the chat connections over Tor, that we didn’t think too much about how easy or fun it was to use the app itself. We were focused on our magic tricks, and not how it was to live and use the app on a daily basis.&lt;/p&gt;

&lt;p&gt;A few months ago, we realized that on Google Play, we had a lot of reviews that basically said “This is a great idea, but it doesn’t work for me”, or “I like these guys, but the app is kinda buggy”, and even “This app gives my device crazy flash seizures”. All of these reviews were true, and we swallowed the hard medicine, that if we didn’t spend more time focusing on how the core features of being a mobile instant messaging chat client worked, that nobody would care about how secure the app was, because there would be no one using it.&lt;/p&gt;

&lt;p&gt;We set about then not only continuing our focus on improving the core security and technical core of Gibberbot, but also focusing on a user interface update. We completed “stage 1” of that update, with another major round of effort planned for v12.&lt;/p&gt;

&lt;p&gt;Here a few new features and improvements along those lines, that were completed for v11:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span style=&#34;line-height: 13px;&#34;&gt;&lt;span style=&#34;line-height: 13px;&#34;&gt;&lt;strong&gt;Simplify setup of Google Gmail and Google Domain accounts…. DONE!&lt;/strong&gt; We now support the built-in authentication system on your Android phone, so if you phone is already setup with a Google account, we can tap right into that. No extra password entry needed, no need to enter anthing really. Just choose “Google Account” from the account type list.&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Streamline Orbot integration to make Tor user easier… DONE! &lt;/strong&gt;Using the new &lt;a href=&#34;https://guardianproject.info/code/onionkit&#34;&gt;OnionKit library&lt;/a&gt;, Gibberbot can now tell if Orbot is installed and running, and if not, prompt the user to either install it, or ask if they want to start up and connect to the Tor network.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make it easy for services using SSL certs not signed by the Root CA cartel to be easily verified and accepted by the user… DONE!&lt;/strong&gt; Increasingly, it has become less and less valuable to have the TLS or SSL certificate you use with your website or XMPP server to be signed by a Root Certificate Authority, because as many point out, the SSL is broken, as long as trust this strange collection of hundreds of organizations we have no reason to really trust. Previously, Gibberbot would not handle non-Root CA certs very well, so you would just have to turn off verification. Now thanks to the concept of TOFU-POP (Trust on First Use, Persistence of Psuedonym) and the excellent &lt;a href=&#34;https://github.com/ge0rg/MemorizingTrustManager/wiki&#34;&gt;MemorizingTrustManager&lt;/a&gt; library, user’s can now decided in an on-demand and interactive manner, whether or not they want to trust the TLS connection they are using. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Gibberbot only runs and signs in when the user wants it to… DONE! &lt;/strong&gt;Previously, Gibberbot was a bit too aggresive about trying to stay connecting to your account, and starting up on device boot. Many users want to conserve battery, and some do not like apps that run without them asking them to first (imagine that?!). We have put Gibberbot now at the user’s beck and call, such that there are preferences to control starting on boot, and when you SIGN OUT, it really means do not every login again, until I login.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve the user interface to make app that is clean, fast, modern and customizable… DONE! &lt;/strong&gt;Not only have we continued to focus on a clean, simple user interface that uses the latest interface conventions and guidelines from Google, we also wanted to start adding some fun user personalization options. One size does not fit all, and just because our app is secure, does not mean it has to be boring. As you can see below, Gibberbot now supports light and dark themes, as well as user configured app wallpaper.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am happy to say, that will all of these improvements, we are much happier users, and are receiving much better reviews on Google Play, such as:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Easy to set up and pretty stable and easy to use.” “Fixed on jelly bean and does exactly what it should do” and the best… “Perfect (but no ICQ Support*)” &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em id=&#34;__mceDel&#34;&gt;*We may add ICQ support, just so we can be extra perfect for that one user who wants it! 🙂&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;All in all, we hope you agree, and that our new found focus on usability can push us from 100,000+ downloads to over 500,000+ in the coming months. We have big ideas for the future of secure mobile messaging, and making Gibberbot the best it can be is a huge part of that plan.&lt;/p&gt;

&lt;p&gt;As always you can find the Gibberbot download (and &lt;a href=&#34;https://guardianproject.info/apps&#34;&gt;all of our apps&lt;/a&gt;) in a variety of places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span style=&#34;line-height: 13px;&#34;&gt;Through our direct APK download: &lt;a href=&#34;https://guardianproject.info/releases/gibberbot-latest.apk&#34;&gt;https://guardianproject.info/releases/gibberbot-latest.apk&lt;/a&gt; (and &lt;a href=&#34;https://guardianproject.info/releases/gibberbot-latest.apk.asc&#34;&gt;gpg sig&lt;/a&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;on &lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.otr.app.im&#34;&gt;Google Play&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;or through our &lt;a href=&#34;https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository/&#34;&gt;F-Droid Repo&lt;/a&gt;, which you can &lt;a href=&#34;https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository/&#34;&gt;learn how to use here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also scan this QR code, which links to the direct APK download above:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/03/gibberbotqr.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-3373&#34; alt=&#34;gibberbotqr&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/03/gibberbotqr.png&#34; width=&#34;123&#34; height=&#34;123&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://lh4.ggpht.com/TAtK2o9v79g1dVsAuii2XWQcdN1JdZgnRPAT0inGrQjDKkPLO_zLWLHlGdm6xxki6w&#34; width=&#34;288&#34; height=&#34;512&#34; /&gt;  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-021839.jpg&#34;&gt;&lt;img alt=&#34;device-2013-02-20-021839&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-021839.jpg&#34; width=&#34;288&#34; height=&#34;512&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://lh4.ggpht.com/ShD1S-pNv-1nUdK4e4C4d-GBNz4A1Vr7bS6_-uYMm2zjOZ2T88HL_Iogsn71ePBVmTWk&#34; width=&#34;288&#34; height=&#34;512&#34; /&gt;   &lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://lh4.ggpht.com/cLhiajC5VIk8SZ4iDq08PKAmhiZQMze62avh0h2JNArZFRHKR4LJgWdS0tfALe1uFeHg&#34; width=&#34;288&#34; height=&#34;512&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-025148.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-3375&#34; alt=&#34;device-2013-02-20-025148&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-025148.png&#34; width=&#34;538&#34; height=&#34;302&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-025148.png 1280w, https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-025148-300x168.png 300w, https://guardianproject.info/wp-content/uploads/2013/03/device-2013-02-20-025148-1024x576.png 1024w&#34; sizes=&#34;(max-width: 538px) 100vw, 538px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Lower Bounds of The Narrow Bands</title>
      <link>https://guardianproject.info/2013/02/22/lower-bounds-of-the-narrow-bands/</link>
      <pubDate>Fri, 22 Feb 2013 09:05:48 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/02/22/lower-bounds-of-the-narrow-bands/</guid>
      <description>&lt;p&gt;Voice is becoming a standard feature of any messaging app on mobile phones, in various forms using many different protocols. There’s the old guard, whom I will refer to as “Skype”. Some &lt;a href=&#34;https://www.privacyinternational.org/blog/skype-please-act-like-the-responsible-global-citizen-you-claim-to-be&#34;&gt;tough&lt;/a&gt; &lt;a href=&#34;http://www.skypeopenletter.com/&#34;&gt;questions&lt;/a&gt; have been thrown their way by many groups who support a free Internet. There’s Google Voice, which is not really VoIP. Apple is playing around in the hedge maze inside their walled garden with iChat. There’s also Facebook, who is rolling out &lt;a href=&#34;http://techcrunch.com/2013/01/16/facebook-rolls-out-voip-calling-to-u-s-ios-messenger-users/&#34;&gt;voice calling in Canada and the USA&lt;/a&gt; in their Messenger app on iOS.&lt;/p&gt;

&lt;p&gt;None of these offerings address the callers privacy, and few document the details of their calling systems for developers. Surprisingly, none of these global VoIP carriers interoperate with each other. Why? Like most complicated problems, there is a complicated answer. I’m going to focus on codecs, which is a research subject that has been very active in the last few years.&lt;/p&gt;

&lt;p&gt;Our friends at WhisperSystems recently did an &lt;a href=&#34;http://whispersystems.org/blog/client-side-audio-quality/&#34;&gt;in depth writeup&lt;/a&gt; on some challenges they had with the Speex codec when building RedPhone. RedPhone is the client application for one of a small group of secure VoIP carriers that address the challenging privacy issues around VoIP.&lt;/p&gt;

&lt;p&gt;The Guardian Project is also one of these carriers, with a public service called &lt;a href=&#34;https://ostel.me&#34;&gt;OSTel&lt;/a&gt;. We chose to leverage an existing open source client called &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;CSipSimple&lt;/a&gt;. This client has a modular design, which provides a wide selection of codecs. I’m going to focus on one in particular, &lt;a href=&#34;http://codec2.org/&#34;&gt;named Codec2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/02/spectrogram.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/02/spectrogram-300x231.png&#34; alt=&#34;spectrogram&#34; width=&#34;300&#34; height=&#34;231&#34; class=&#34;aligncenter size-medium wp-image-3338&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/02/spectrogram-300x231.png 300w, https://guardianproject.info/wp-content/uploads/2013/02/spectrogram.png 560w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Codec2 addresses a challenge in radio communications that has been around for longer than the Internet. Bandwidth. It might be appropriate to think of your cell phone as a radio to understand this example. When connected to a cellular data connection, the bandwidth is limited by the carrier’s packet switched radio technology. This may be GPRS, EDGE, 3G, 4G(LTE) to name a few lovely acronyms. If your VoIP call uses a codec that exceeds the upper bounds of this bandwidth, you start to hear side effects like dropouts or unintelligible transmission which probably will lead to a dropped call.&lt;/p&gt;

&lt;p&gt;One way to address this problem is to shoot for the bottom. The lower bounds of the bandwidth of cellular data connections start to look a lot like more traditional radio. Shortwave radio, or HAM is the community that’s the closest to the technology behind Codec2. If a codec can be used to transmit &lt;a href=&#34;https://en.wikipedia.org/wiki/AMPRNet&#34;&gt;digitally encoded data&lt;/a&gt; over HAM, that means it is possible to “do VoIP” over a shortwave radio link. This opens up exciting new possibilities for secure voice over narrow bandwidth environments.&lt;/p&gt;

&lt;p&gt;While a small part of the world enjoys plentiful wide band data connections in urban areas, coverage in many rural areas is less common. In this case shooting for the bottom of the bandwidth spectrum helps us keep our calls from dropping and our voices heard.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.csipsimple.plugins.codecs.pack1&amp;amp;feature=more_from_developer#?t=W251bGwsMSwyLDEwMiwiY29tLmNzaXBzaW1wbGUucGx1Z2lucy5jb2RlY3MucGFjazEiXQ..&#34;&gt;CSipSimple Codec Pack&lt;/a&gt; supports secure voice calls using Codec2 with the stable release on the &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.csipsimple&amp;amp;feature=more_from_developer#?t=W251bGwsMSwyLDEwMiwiY29tLmNzaXBzaW1wbGUiXQ..&#34;&gt;Google Play Store&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tutorials</title>
      <link>https://guardianproject.info/archive/tutorials/</link>
      <pubDate>Thu, 21 Feb 2013 16:46:40 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/tutorials/</guid>
      <description>

&lt;p&gt;Security doesn&amp;rsquo;t have to be hard. Here are a few videos that&amp;rsquo;ll make using our apps easier (and more awesome).&lt;/p&gt;

&lt;h1 id=&#34;interactive&#34;&gt;Interactive&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/howto/chatsecurely&#34; target=&#34;_blank&#34;&gt;How to Chat Securely&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/howto/browsefreely&#34; target=&#34;_blank&#34;&gt;How to Browse Freely&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/howto/callsecurely&#34; target=&#34;_blank&#34;&gt;How to Call Securely&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;span-style-font-size-20px-font-weight-bold-videos-span&#34;&gt;&lt;span style=&#34;font-size: 20px; font-weight: bold;&#34;&gt;Videos&lt;/span&gt;&lt;/h1&gt;

&lt;p&gt;Orbot: Mobile Anonymity + Circumvention&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/Dcf5sh99ze0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Gibberbot: Secure Instant Messaging&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/qz2dBvQb4gc&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Ostel: Encrypted Phone Calls&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/BrNC8Mk26Z8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>Tutorials</title>
      <link>https://guardianproject.info/archive/tutorials/</link>
      <pubDate>Thu, 21 Feb 2013 16:46:40 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/tutorials/</guid>
      <description>

&lt;p&gt;Security doesn&amp;rsquo;t have to be hard. Here are a few videos that&amp;rsquo;ll make using our apps easier (and more awesome).&lt;/p&gt;

&lt;h1 id=&#34;interactive&#34;&gt;Interactive&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/howto/chatsecurely&#34; target=&#34;_blank&#34;&gt;How to Chat Securely&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/howto/browsefreely&#34; target=&#34;_blank&#34;&gt;How to Browse Freely&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/howto/callsecurely&#34; target=&#34;_blank&#34;&gt;How to Call Securely&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;span-style-font-size-20px-font-weight-bold-videos-span&#34;&gt;&lt;span style=&#34;font-size: 20px; font-weight: bold;&#34;&gt;Videos&lt;/span&gt;&lt;/h1&gt;

&lt;p&gt;Orbot: Mobile Anonymity + Circumvention&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/Dcf5sh99ze0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Gibberbot: Secure Instant Messaging&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/qz2dBvQb4gc&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Ostel: Encrypted Phone Calls&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/BrNC8Mk26Z8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>IOCipher beta: easy encrypted file storage for your Android app</title>
      <link>https://guardianproject.info/2013/02/07/iocipher-beta-easy-encrypted-file-storage-for-your-android-app/</link>
      <pubDate>Thu, 07 Feb 2013 14:45:28 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/02/07/iocipher-beta-easy-encrypted-file-storage-for-your-android-app/</guid>
      <description>&lt;p&gt;At long last, we are proud to announce the &lt;a href=&#34;https://guardianproject.info/code/iocipher/&#34;&gt;first beta release of IOCipher&lt;/a&gt;, an easy framework for providing virtual encrypted disks for Android apps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;does not require root or any special permissions at all&lt;/li&gt;
&lt;li&gt;the API is a drop-in replacement for the standard java.io.File API, so if you have ever worked with files in Java, you already know how to use IOCipher&lt;/li&gt;
&lt;li&gt;works easiest in an app that stores all files in IOCipher, but using standard java.io with IOCipher is possible&lt;/li&gt;
&lt;li&gt;supports android-7 v2.1 and above&lt;/li&gt;
&lt;li&gt;licensed under the LGPL v3+&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can download it here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/code/iocipher/&#34;&gt;https://guardianproject.info/code/iocipher/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding IOCipher to our InformaCam and NoteCipher apps is already in the&lt;br /&gt;
works. There is already one app in the Play Store built with IOCipher: &lt;a title=&#34;Gryphn Secure Messaging in the Play Store&#34; href=&#34;https://play.google.com/store/apps/details?id=com.Gryphn.mms&amp;hl=en&#34; target=&#34;_blank&#34;&gt;Gryphn Secure Messaging&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ve recently done some heavy testing and bug fixing and this is ready for beta status. That means for many applications, it should be stable with reasonable performance. But its not done yet, and there are some known edge cases documented in our bug tracker which we aim to address in the next beta release:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/iocipher/issues&#34;&gt;https://dev.guardianproject.info/projects/iocipher/issues&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some additional notes on usage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;single thread/sequential access is the preferred way of using IOCipher&lt;/li&gt;
&lt;li&gt;multi-threaded access possible, but potentially unstable under very high load&lt;/li&gt;
&lt;li&gt;VFS now has beginTransaction and completeTransaction to optimize performance&lt;/li&gt;
&lt;li&gt;parts of java.io not currently supported: vectored I/O, memory-mapped files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;featured photo &lt;a href=&#34;http://www.flickr.com/photos/pong/288491653/&#34;&gt;“Safe” from Pong on Flickr&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>report on IOCipher beta dev sprint</title>
      <link>https://guardianproject.info/2013/01/31/report-on-iocipher-beta-dev-sprint/</link>
      <pubDate>Thu, 31 Jan 2013 19:45:44 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/01/31/report-on-iocipher-beta-dev-sprint/</guid>
      <description>&lt;p&gt;We are just wrapping up an intensive dev sprint on &lt;a href=&#34;https://guardianproject.info/code/iocipher/&#34;&gt;IOCipher&lt;/a&gt; in order to get the first real beta release out, and it has been a wonderfully productive session on many levels! Before we started this, we had a proof-of-concept project that was crashy and ridiculously slow. We’re talking crashes every 100 or so transactions and 9 minutes to write 2 megs. Abel and I were plodding thru the bugs, trying to find the motivation to dive into the hard problems in the guts of some of the more arcane parts of the code. Aaron Huttner of &lt;a href=&#34;http://gryphn.co/&#34; target=&#34;_blank&#34;&gt;Gryphn&lt;/a&gt; found IOCipher while developing their &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.Gryphn.mms&amp;hl=en&#34; title=&#34;Gryphn Secure Text Messaging in the Google Play store&#34; target=&#34;_blank&#34;&gt;Gryphn Secure Text Messaging&lt;/a&gt; and thought it was a remarkable easy way to add encrypted storage of files, and it worked quickly for him, so he included it his app before we had even announced an alpha release (thanks again for the vote of confidence!).&lt;/p&gt;

&lt;p&gt;Aaron worked through a lot of the bugs with us, providing good bug reports and real, working test cases in code. What more could we ask for? We made progress on them slowly but surely. Gryphn then decided they needed IOCipher to work for them ASAP so they could put out a real release. They approached us about funding a development sprint and we thought it was a great idea. This also allowed us to bring in Stephen Lombardo and Nick Parker of &lt;a href=&#34;http://zetetic.net/&#34; target=&#34;_blank&#34;&gt;Zetetic&lt;/a&gt; to apply their &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34; target=&#34;_blank&#34;&gt;SQLCipher&lt;/a&gt; and SQLite expertise. Our very own David Oliver put together the deal, and off we went. So we put our heads down and focused everything on getting IOCipher to be a real file system.&lt;/p&gt;

&lt;p&gt;To begin with, we focused on the core of IOCipher, &lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;libsqlfs&lt;/a&gt;, since we could run that on GNU/Linux, greatly speeding up the testing cycle. It started out with about 3 full days of Abel and I running &lt;code&gt;fsx&lt;/code&gt; (File System eXersizer) tests of all shapes and sizes on libsqlfs mounts to try to pin down the crashes. It seemed like we were swimming in mountains of test results that vaguely pointed somewhere. We had some vague leads, but were excited to find that memory-mapped writes were far and away the most common crash. Since IOCipher does not use mapped writes at all, we could safely ignore those crashes for now. Turns out that using libsqlfs as a FUSE mount for our test platform has produced this one red herring.&lt;/p&gt;

&lt;p&gt;One thing we knew all along is that both reads and writes were really slow, so Zetetic started with that. We all had the idea that the block sizes should all be aligned, and that should likely speed things up. This means Java stream readers and writers, writes in our Posix-style JNI layer, and the page size of the SQLite database. Zetetic did some testing and found that using 8k block sizes throughout produces some dramatic speed increases, here are some ballpark figures for doing a 2MB write with no contention:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;~710 seconds: default 256 byte blocks and no buffering, one SQLite transaction per block&lt;/li&gt;
&lt;li&gt;~65 seconds: wrapping all the 8192 write calls for each 256 byte block in a single SQLite transaction&lt;/li&gt;
&lt;li&gt;~20 seconds: same as above with the IOCipher FileOutputStream wrapped in a BufferedOutputStream&lt;/li&gt;
&lt;li&gt;~5 seconds: increase internal IOCipher block size to 4k&lt;/li&gt;
&lt;li&gt;~10 seconds: 8k sqlfs block size, 8k sqlite page size, and 8k BufferedOutputStream buffer, one SQLite transaction per block&lt;/li&gt;
&lt;li&gt;~1 second: same as above, all blocks written in a single SQLite transaction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ok, now we had something you could actually use. Pretty slow still, but no longer ridiculous. Through much reading of code and testing, we figured out that there is one spot of the code that assumed it would always be able to read from the database. Under heavy load, this was not possible, especially when you have 9 minute blocking write operations. So the next step was to figure out all of the locking and make sure that was working right. The libsqlfs code from 2006 had the remnants of three separate locking mechanisms in it, SQLite locking, pthread locking, and a delay-retry timeout mechanism. Zetetic dove into updating libsqlfs to replace all that and use all of the modern SQLite tricks like &lt;code&gt;sqlite3_busy_timeout()&lt;/code&gt; to replace the delay-retry logic, &lt;a href=&#34;https://www.sqlite.org/lockingv3.html&#34; target=&#34;_blank&#34;&gt;v3.0 locks&lt;/a&gt; and v3.7 &lt;a href=&#34;https://www.sqlite.org/draft/wal.html&#34; target=&#34;_blank&#34;&gt;Write-Ahead-Logging&lt;/a&gt; which gave libsqlfs a huge improvement in read/write concurrency, and putting libsqlfs and IOCipher reasonable performance in the realm of other encrypted file systems. I’ll let Stephen explain it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;First, we changed the transaction command in begin_transaction to use “begin immediate”. This seeks an immediate reserved lock on the database, but does not exclusively lock it. This reduces unresolvable contention for write locks that would normally occur with deferred transactions, and is less restrictive than an exclusive lock, since it will continue to allow shared locks for reading.&lt;/p&gt;

&lt;p&gt;It is extremely important that we prevent write operations from failing to execute due to busy timeouts, even if another process/thread has the database locked. Even using WAL, it is still possible for a command to be blocked during attempted concurrent write operations. This causes the write operation to fail leading to corruption. While libsqlfs has some “delay()” code that provides rudimentary busy handling, it is only in use for a small number of operations leaving other critical calls unprotected. Therefore, our second change was to register SQLite’s internal busy handler with a relatively high timeout (currently 10 seconds, but open for discussion) via sqlite3_busy_timeout. This provides protection for all operations in libsqlfs, reducing the likelihood that a write operation would fail outright, though it may be delayed.&lt;/p&gt;

&lt;p&gt;Finally, we enabled WAL mode to speed up write operations and further improve concurrency between readers and writers. Note that WAL mode only fsync()s on checkpoint operations, so it may be possible to enable NORMAL synchronous mode with lower overhead than the standard journal mode (we didn’t change this yet).&lt;/p&gt;

&lt;p&gt;With these changes in place, three concurrent fsx processes running in parallel on a single fuse mount produced no errors in a 24hr test run. The tests also shows improved performance on read and writes. In light of these results, we’d like to get your feedback on these changes, and request that you run your own tests in the multi-threaded Android application to see if they resolve the problems that were reported.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This was the final kicker. Who would of thought we could again get performance improvements of an order of magnitude twice in a single dev sprint. Now we have a encrypted filesystem that is stable and with reasonable performance that is really easy to use. And since that means that there is only very short chunks of time where everything is blocked (no more 9 minute writes), the crashes have basically vanished under real world loads. We have run super heavy file system tests over hundreds of thousands of operations without data corruption or crashes. We know that there is the theoretical potential for crashes in certain operations under super heavy load. We aim to address that in upcoming releases. And in conclusion, I’ll quote Aaron since he summarized what we are trying to achieve when we make developer tools:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Between &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34; target=&#34;_blank&#34;&gt;SQLCipher-for-Android&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/code/iocipher/&#34; target=&#34;_blank&#34;&gt;IOCipher&lt;/a&gt; I don’t think it could get any easier to implement cryptography on Android, hopefully people pick up on this.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So grab the code now from git, if you’re ready to dive in! Or for the more patient, we’re developing tutorials to go along with the beta release that is coming any day now.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Mumble and the Bandwidth – Anonymous CB radio with Mumble and Tor</title>
      <link>https://guardianproject.info/2013/01/31/mumble-and-the-bandwidth-anonymous-cb-radio-with-mumble-and-tor/</link>
      <pubDate>Thu, 31 Jan 2013 02:05:50 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/01/31/mumble-and-the-bandwidth-anonymous-cb-radio-with-mumble-and-tor/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/01/mumble-and-the-bandwidth.jpg&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-3186&#34; alt=&#34;mumble and the bandwidth&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2013/01/mumble-and-the-bandwidth.jpg&#34; width=&#34;800&#34; height=&#34;478&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/01/mumble-and-the-bandwidth.jpg 800w, https://guardianproject.info/wp-content/uploads/2013/01/mumble-and-the-bandwidth-300x179.jpg 300w&#34; sizes=&#34;(max-width: 800px) 100vw, 800px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The journey towards anonymous and secure voice communication is a long one. There’s lots of roadblocks to get your voice from point A to point B over the Internet if you need to prevent eavesdropping or censorship. There is the limited bandwidth of mobile data connections. There is the high latency of the TCP protocol. &lt;a href=&#34;https://www.torproject.org/about/overview.html.en#whyweneedtor&#34;&gt;To achieve anonymity via Tor&lt;/a&gt;, there’s even more latency added to each packet.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://mumble.sourceforge.net/&#34;&gt;Mumble&lt;/a&gt; is a non-standard protocol that was originally designed for realtime voice chat for video games. If you’ve ever played Halo or World of Warcraft, this should sound familiar. If not, think of it as a conference call you don’t have to ring. You simply connect to a Mumble server over the Internet and your voice will transmit to everyone else.&lt;/p&gt;

&lt;p&gt;Mumble clients are available for &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.morlunk.mumbleclient&amp;amp;feature=nav_result#?t=W251bGwsMSwxLDMsImNvbS5tb3JsdW5rLm11bWJsZWNsaWVudCJd&#34;&gt;Android&lt;/a&gt; and &lt;a href=&#34;https://itunes.apple.com/us/app/mumble/id443472808?ls=1&amp;amp;mt=8&#34;&gt;iOS&lt;/a&gt;, as well as a cross-platform desktop client. The server software is also cross-platform. Guardian Project is focusing on the Android client named &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.morlunk.mumbleclient&amp;amp;feature=nav_result#?t=W251bGwsMSwxLDMsImNvbS5tb3JsdW5rLm11bWJsZWNsaWVudCJd&#34;&gt;Plumble&lt;/a&gt; and the official server &lt;a href=&#34;https://packages.debian.org/search?keywords=mumble&amp;amp;searchon=names&amp;amp;section=all&amp;amp;suite=squeeze-backports&#34;&gt;backported to Debian stable&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A cool feature of Mumble is a &lt;a href=&#34;https://en.wikipedia.org/wiki/Push-to-talk&#34;&gt;Push To Talk&lt;/a&gt; (PTT) method to speak to the channel. Your voice is only transmitted when you press the PTT button in the user interface. Another lower level feature that’s important for our anonymity goal is TCP support. For any application to run over Tor, it must use the TCP protocol. This rules out most VoIP clients, since they use UDP. Here is a case where Mumble’s non-standard protocol works to our advantage.&lt;/p&gt;

&lt;p&gt;When Tor is running and your Mumble client is configured to use TCP, connecting to your local SOCKS5 proxy offered by Tor allows you to join a Mumble server anonymously. The big problem is as suspected, latency. The traffic passing through the Tor network must make &lt;a href=&#34;https://www.torproject.org/about/overview.html.en#thesolution&#34;&gt;an indeterminate number of proxy hops&lt;/a&gt; to be anonymized successfully. Each hop adds more and more latency. This makes a typical syncronous voice call impossible since there’s no way to determine when one person has stopped talking and when the other can respond without interrupting.&lt;/p&gt;

&lt;p&gt;Latency in human speech transmision has deep psychological impact on a conversation. A &lt;a href=&#34;https://sites.google.com/site/qurihara/top-english/speechjammer&#34;&gt;Japanese research project called SpeechJammer&lt;/a&gt; exploited this part of our senses by inventing a “shut up gun.” When pointed at a person it makes them immediately stop talking. Everyone who has used a cell phone knows the frustration of “echo” where you hear your own voice, slightly delayed. The delay is caused by the network latency of the cellular carrier.&lt;/p&gt;

&lt;p&gt;Another similar example is a &lt;a href=&#34;https://en.wikipedia.org/wiki/Voip&#34;&gt;VoIP&lt;/a&gt; call on a congested network. The side effect of the latency is that one person accidently interrupts the other person because he thinks the other person has finished talking, when in reality the other person’s voice hasn’t yet arrived at the other end. Interruption ensues, no one is happy nor do they know anything new since the transmission was not understood. High latency makes &lt;a href=&#34;https://en.wikipedia.org/wiki/Full-duplex#Full-duplex&#34;&gt;full-duplex communication ineffective&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The contemporary telephone you are acustomed to allows both sides to talk and listen simultaneously. This is called full-duplex. Early radio telephones like walkie talkies, CB radio or aviation radio are half-duplex systems, meaning that for any given transmission, only one side can talk while the other side listens. Running Mumble over Tor takes a full-duplex technology and effectively reduces it to half-duplex. Even though the protocol is full-duplex, when run through a high latency network like Tor, the transmit and receive channels are so far out of sync there is no point in allowng both sides to talk at once. Again, interruption ensues.&lt;/p&gt;

&lt;p&gt;Then it hit me. Radio telephones have been around since the turn of the 20th century, when people figured out a reasonable way to do voice chat without the technology causing accidental interruptions in the conversation. In particular, the use of procedure words, or &lt;a href=&#34;https://en.wikipedia.org/wiki/Procedure_word&#34;&gt;prowords&lt;/a&gt;, are essential for one speaker to acknowledge the transmission of the other (Roger), to signify that one party is finished speaking (Over), or indicate when one party has left the conversation (Out).&lt;/p&gt;

&lt;p&gt;Here in the USA, some prowords evolved into a coloquial language, complete with &lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_CB_slang&#34;&gt;slang&lt;/a&gt; thanks to the Citizen Band radio boom of the 1960s and the truck driving culture that used it to communicate while on the road. The 1977 film &lt;a href=&#34;http://www.imdb.com/title/tt0076729/?ref_=sr_1&#34;&gt;Smokey and the Bandit&lt;/a&gt; is more than just a touching love story with world class actors, it is an amazing dramatization of an information culture that resembled pre-Internet &lt;a href=&#34;https://en.wikipedia.org/wiki/Bulletin_board_system&#34;&gt;BBS systems&lt;/a&gt; and current day &lt;a href=&#34;https://en.wikipedia.org/wiki/IRC&#34;&gt;Internet Relay Chat (IRC)&lt;/a&gt; networks around the globe. The truck drivers portrayed in that movie have a mobile, decentralized information sharing network that is anonymous. The users have pseudonyms and a language of their own. Many of them have never met their CB radio friends IRL. They are invisible companions on the lonely road of the US of A.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Old ideas are worth bringing back if they have strong roots. CB and general purpose radio telephones have a long history, unlike the standard the standard of tody, VoIP. Perhaps these features are thought of as obsolete or not cutting-edge enough to model into a digital system. Regardless of the reason, if you are looking for a mobile and open source PTT solution to use on the Internet with anonymity and security, Mumble over Tor is currently the state of the art. All you have to do is throw in some prowords to keep the conversation flowing.&lt;/p&gt;

&lt;p&gt;The Guardian Project is operating a private Mumble server during a testing phase, and we have plans to open this to the public as part of the &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;OSTN research effort&lt;/a&gt;. When that happens, I will post application-specific tutorials to install and configure the Plumble client. I will also publish a cookbook to build a Mumble server.&lt;/p&gt;

&lt;p&gt;Finally, an example transmission log with some prowords:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Internet&lt;/em&gt;: Guardian Project. I have a ping response from your server, over.&lt;br /&gt;
&lt;em&gt;GP&lt;/em&gt;: Roger Internet. Ping was sent, over.&lt;br /&gt;
&lt;em&gt;Internet&lt;/em&gt;: Guardian Project. Build anonymous PTT system with open source software, over.&lt;br /&gt;
&lt;em&gt;GP&lt;/em&gt;: Internet, build anonymous PTT system with open source software, wilco. Out.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>InformaCam wins Knight News Challenge</title>
      <link>https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/</link>
      <pubDate>Sun, 27 Jan 2013 08:11:56 -0400</pubDate>
      
      <guid>https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/</guid>
      <description>&lt;p&gt;WITNESS and The Guardian Project, the mobile security and app development experts, have just been awarded a Knight News Challenge grant from the John S. and James L. Knight Foundation for &lt;a href=&#34;http://salsa.democracyinaction.org/dia/track.jsp?v=2&amp;amp;c=ysa75Vej32Gfc9Nv2xH%2BrBgxT3asKcEO&#34;&gt;&lt;strong&gt;InformaCam&lt;/strong&gt;&lt;/a&gt; – the first app seeking to address issues of authentication for digital media. In total, the funding was for ~$320,000 USD, with about one third of the funding going directly to software development and testing. The rest of the funding will be applied to deployment, partnerships, awareness building, and all the other necessary things you must do to turn a “great idea” into something with real adoption and use.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://blog.witness.org/wp-content/uploads/2013/01/SC20130104-165859-180x300.png&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;   &lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://blog.witness.org/wp-content/uploads/2013/01/SC20130104-170011-180x300.png&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;  &lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://blog.witness.org/wp-content/uploads/2013/01/SC20130104-170208-180x300.png&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;&lt;/p&gt;

&lt;p&gt;The Knight News Challenge accelerates media innovation by funding breakthrough ideas in news and information. Our project, InformaCam, aims to make it easier for citizen media to be authenticated and used as evidence in a court of law. It allows users to incorporate key metadata in their video file and then to share the encrypted file with a trusted source. This award means we will be able to broaden the scope of people and groups who are using the app – from activists to media and journalists – ultimately making it safer for human rights defenders.&lt;/p&gt;

&lt;p&gt;Some more about InformaCam from a recent post titled &lt;a href=&#34;https://blog.witness.org/2013/01/how-informacam-improves-verification-of-mobile-media-files/&#34;&gt;“Is This For Real?”&lt;/a&gt; on the WITNESS site:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To address those needs we’ve been working on &lt;a href=&#34;https://guardianproject.info/apps/informacam/&#34;&gt;InformaCam&lt;/a&gt;, a mobile app that allows Android devices to take images and videos, embed them with geotemporal and other metadata, sign them with a digital signature unique to the device’s camera censor, encrypt and then send those files to someone they trust who maintains a secure server. Among other elements, the process preserves the &lt;a href=&#34;https://en.wikipedia.org/wiki/Chain_of_custody&#34;&gt;chain of custody&lt;/a&gt; of the media, making it more likely to be admissible in a court of law.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://blog.witness.org/wp-content/uploads/2013/01/InformaCam3-1024x504.png&#34; width=&#34;614&#34; height=&#34;302&#34; /&gt;&lt;/p&gt;

&lt;p&gt;When a user runs InformaCam for the first time, a setup wizard goes through the steps to create a password for the application and how to generate an encryption key based on the unique properties of the camera sensor.  Since every camera has a unique pattern of sensor noise, it’s possible to create a “fingerprint” of the device’s camera.  This key will be used to verify that any piece of media captured using the app and uploaded to the secure server came from this specific camera.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As you can see there is quite a bit of math going on, and we look forward to having the members of development community poke, prod, audit, review and ultimately, help us improve our work, and fulfill the promise of this very necessary effort.&lt;/p&gt;

&lt;p&gt;Please &lt;a href=&#34;http://salsa.democracyinaction.org/dia/track.jsp?v=2&amp;amp;c=aM8MVrS9FjrRkk6o0JzdkRgxT3asKcEO&#34;&gt;read more about InformaCam on the WITNESS blog&lt;/a&gt;, and stay tuned here, on our site, development lists, and all the usual places for more information.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>FFMPEG: Media Privacy Framework</title>
      <link>https://guardianproject.info/archive/ffmpeg/</link>
      <pubDate>Wed, 02 Jan 2013 12:43:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/ffmpeg/</guid>
      <description>&lt;p&gt;&lt;a title=&#34;ffmpeg&#34; href=&#34;http://ffmpeg.org/&#34; target=&#34;_blank&#34;&gt;ffmpeg&lt;/a&gt; is a popular, widespread framework for transcoding and filtering digital videos. On Android, it has a simple Java API. Our version includes filters for redaction and pixelization of video and audio, which we hope will become standard features for any app that supports on device video processing.&lt;/p&gt;

&lt;p&gt;It has been essential to our apps ObscuraCam, InformaCam, and Murrow/StoryMaker. We are working to make it dead simple for developers to build their own apps on it. We are also extending it to provide a full framework for audio and image redaction, metadata management, and encryption of sensitive parts of the media. This will make it easy for media app developers to build in privacy to their own apps.&lt;/p&gt;

&lt;p&gt;You can find our code at &lt;a title=&#34;Android FFMPEG on Github&#34; href=&#34;https://github.com/guardianproject/android-ffmpeg&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/android-ffmpeg&#34;&gt;https://github.com/guardianproject/android-ffmpeg&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>FFMPEG: Media Privacy Framework</title>
      <link>https://guardianproject.info/archive/ffmpeg/</link>
      <pubDate>Wed, 02 Jan 2013 12:43:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/ffmpeg/</guid>
      <description>&lt;p&gt;&lt;a title=&#34;ffmpeg&#34; href=&#34;http://ffmpeg.org/&#34; target=&#34;_blank&#34;&gt;ffmpeg&lt;/a&gt; is a popular, widespread framework for transcoding and filtering digital videos. On Android, it has a simple Java API. Our version includes filters for redaction and pixelization of video and audio, which we hope will become standard features for any app that supports on device video processing.&lt;/p&gt;

&lt;p&gt;It has been essential to our apps ObscuraCam, InformaCam, and Murrow/StoryMaker. We are working to make it dead simple for developers to build their own apps on it. We are also extending it to provide a full framework for audio and image redaction, metadata management, and encryption of sensitive parts of the media. This will make it easy for media app developers to build in privacy to their own apps.&lt;/p&gt;

&lt;p&gt;You can find our code at &lt;a title=&#34;Android FFMPEG on Github&#34; href=&#34;https://github.com/guardianproject/android-ffmpeg&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/android-ffmpeg&#34;&gt;https://github.com/guardianproject/android-ffmpeg&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Voice over Tor?</title>
      <link>https://guardianproject.info/2012/12/10/voice-over-tor/</link>
      <pubDate>Mon, 10 Dec 2012 11:00:03 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/12/10/voice-over-tor/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/12/onioncart.jpg&#34;&gt;&lt;img class=&#34; wp-image-2968&#34; title=&#34;onioncart&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/12/onioncart.jpg&#34; alt=&#34;&#34; width=&#34;100%&#34; height=&#34;425&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/12/onioncart.jpg 700w, https://guardianproject.info/wp-content/uploads/2012/12/onioncart-300x182.jpg 300w&#34; sizes=&#34;(max-width: 700px) 100vw, 700px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Voice calls over &lt;a title=&#34;Tor Project&#34; href=&#34;https://www.torproject.org/&#34; target=&#34;_blank&#34;&gt;Tor&lt;/a&gt; are supposed to be impossible. It seems this may no longer be the case.&lt;/p&gt;

&lt;p&gt;Without being able to do voice over IP (VOIP) conversations over the Tor network, people are prevented from being able to route  calls outside of censored networks. People ask us if there is any way they can route voice traffic through Tor to avoid blocks. To our surprise, we tested &lt;a title=&#34;skype&#34; href=&#34;http://skype.com/&#34; target=&#34;_blank&#34;&gt;Skype&lt;/a&gt; and found that it can work acceptably over &lt;a title=&#34;Orbot&#34; href=&#34;https://guardianproject.info/apps/orbot/&#34; target=&#34;_blank&#34;&gt;Orbot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are two main reasons that it has been held that VOIP will not practically work over the Tor network.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A technical problem with the transport layer that Tor supports.&lt;/li&gt;
&lt;li&gt;The network is too slow for the latency demands of a real-time voice conversation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;However, it turns out Skype has some pretty robust signaling capabilities such that it works on a variety of network conditions. Also, in practice the latency is more usable then one would have thought. This is good news for the future of VOIP traffic over the Tor network, and not only over Skype.&lt;/p&gt;

&lt;h1 id=&#34;problem-1-transport-protocol&#34;&gt;&lt;strong&gt;Problem 1: Transport Protocol&lt;/strong&gt;&lt;/h1&gt;

&lt;p&gt;TCP is the most common transport protocol for the Internet. It guarantees reliable communication and is used for nearly everything you do in an Internet browser. UDP is a more relaxed protocol used for real-time communications because it reduces latency. The cost for this is that UDP is not reliable and will occasionally drop traffic. For this reason, it is useful for real-time applications that benefit from lower latency. While dropping packets is never ideal, in a real-time communications it usually doesn’t significant affect the quality and even then the time it would take to re-transmit lost packets with TCP might preclude the data being relevant to the stream anymore.&lt;/p&gt;

&lt;p&gt;The problem here is that Tor only supports TCP for its transport layer. Meanwhile, VOIP applications use UDP. So they’re not supposed to work over Tor and one of the main difficulties for VOIP users to apply strong anonymity to real-time voice communication.&lt;/p&gt;

&lt;p&gt;Even if you tunneled UDP traffic through Tor it would be encapsulated in TCP and lose any benefits that UDP provides for real-time traffic. The TCP mechanisms attempt to account for lost packets and hold delivery of future packets until a resend is complete.&lt;/p&gt;

&lt;p&gt;If you’re interested in learning more about networking, I would highly recommend &lt;a title=&#34;Computer Networks by Peterson and Davie&#34; href=&#34;http://books.google.com/books/about/Computer_networks.html?id=eftSAAAAMAAJ&#34; target=&#34;_blank&#34;&gt;Computer Networks by Peterson and Davie.&lt;/a&gt; Its takes a practical approach to teaching the technology and avoids strict adherence to the layered model of the Internet. Beyond that, any TCP/IP or Internet technology introductory resource will get you far!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution: &lt;/strong&gt;Here either Tor needs to support UDP or you need a VOIP client that supports TCP. It had been suggested that Skype will fallback to use TCP connections in instances in which the user has UDP traffic blocked. This is not a very uncommon network policy for some Internal networks and reflects Skype’s effort to make their application work in many hostile network conditions (NATs, firewalls, ect.).&lt;/p&gt;

&lt;h1 id=&#34;problem-2-latency&#34;&gt;&lt;strong&gt;Problem 2: Latency&lt;/strong&gt;&lt;/h1&gt;

&lt;p&gt;Second, Tor relays and mixes its traffic across multiple nodes which greatly increases latency. People generally have pretty high performance expectations for latency over a two-way phone conversation. Adding even a couple of  milliseconds of lag between conversations can be very noticeable to the user. It causes jerks and jumps in the conversation, making it hard to communicate. For this reason, it is likely that widespread routing of voice traffic through Tor is unlikely. However, people already cope with quite a bit of latency using VOIP internationally, and there are very real security and censorship demands that would require VOIP over Tor. In many situations latency will be quite usable. Let’s see how it actually feels over Tor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution: &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The solution here is just accepting the latency. The latency is not ideal but in practice, it is still quite usable. As Tor network performance increases (and one-day supports UDP), real-time communications will begin to have better performance.&lt;/p&gt;

&lt;h1 id=&#34;skype-over-tor&#34;&gt;&lt;strong&gt;Skype over Tor&lt;/strong&gt;&lt;/h1&gt;

&lt;p&gt;For testing, I used two Nexus One phones running Gingerbread and the latest Skype binary from the Android App Store. Orbot will transparently route traffic through Tor if you use its transproxy features. The transproxy will drop UDP traffic since it can’t be routed through Tor. It is this feature that causes Skype to fallback to TCP and work over Tor.&lt;/p&gt;

&lt;p&gt;First, I looked at normal Skype traffic leaving the phone. It uses some TCP connections to contact Microsoft servers and authenticate your account. Once you start a voice chat you will see lots of UDP traffic as expected. However, if you turn on Orbots transproxy you will see Skype being forced to start up a conversation using only TCP.&lt;/p&gt;

&lt;p&gt;Here is a Wireshark screenshot of failed UDP connections to Microsoft servers. I did this by letting the UDP traffic through, logging it, and then dropping it before it left my test environment. So you can see the UDP connections going one way to a variety of IP addresses:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/12/croppedUDP.png&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-2976&#34; title=&#34;croppedUDP&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/12/croppedUDP.png&#34; alt=&#34;&#34; width=&#34;100%&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/12/croppedUDP.png 988w, https://guardianproject.info/wp-content/uploads/2012/12/croppedUDP-300x128.png 300w&#34; sizes=&#34;(max-width: 988px) 100vw, 988px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We set one of the phones to route through Tor by turning on the transproxy. Then logged into Skype on each phone and placed a call. Skype worked over Tor! We were having a conversation across two IPs from two different ISPs. The latency wasn’t great, but it was surprisingly usable. I’ve included two-packet captures. One should just look like Tor traffic and is a Skype conversation over Tor. The other is an actual log of the dropped UDP packets (I dropped them at an intermediary device rather than using the Transproxy to capture this). In the UDP log set you’ll see a bunch of UDP traffic originating form a single address (the phone) with no return traffic. They UDP traffic was being immediately dropped after the log.&lt;/p&gt;

&lt;p&gt;It turns out you can have a workable VOIP chat over Tor if you use Skype. The findings are interesting because they are relevant to the general problem of trying to use real-time communication through the Tor network. It may also be useful for VERY specific and limited threat models that involve censorship bypass in which there is little risk in being caught.&lt;/p&gt;

&lt;p&gt;Here’s to hoping for UDP over Tor in the future. Until then, Guardian Project is working on a design for high latency voice communications. The idea is that you could send quick voice messages with the click of a button similar to how you use an old hand-held radio. We’re toying with names like Push to Torlk and Onion Ringer. Stay tuned!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Disclaimer: In my opinion, Skype is not a secure standard for VOIP communication. It uses non-standard closed source encryption and has likely become CALEA compliant upon &lt;a href=&#34;http://www.forbes.com/sites/ericjackson/2012/07/22/its-terrifying-and-sickening-that-microsoft-can-now-listen-in-on-all-my-skype-calls/&#34;&gt;acquisition&lt;/a&gt; by Microsoft. That means that they have infrastructure in place to intercept communications and relay that information to law enforcement agencies around the world. It is unwise to assume that other state and non-state actors would not also have means to access that data.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Proposal for Secure Connection Notification on Android</title>
      <link>https://guardianproject.info/2012/11/15/proposal-for-secure-connection-notification-on-android/</link>
      <pubDate>Thu, 15 Nov 2012 10:07:49 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/11/15/proposal-for-secure-connection-notification-on-android/</guid>
      <description>&lt;p&gt;A major problem of mobile applications being increasingly used over web-based applications, is that there is no standard established for notifying the user of the state of security on the network connection. With a web browser, the evolution of the “lock” icon when an &lt;a href=&#34;https://en.wikipedia.org/wiki/HTTP_Secure&#34;&gt;HTTPS connection&lt;/a&gt; is made, has been one that evolved originally out of Netscape’s first implementation, to an adhoc, defact industry-standard way of letting the user know if their connection is secure. Beyond just a binary on/off, the lock icon is also the entry point into viewing more information about the digital security tokens, keys and certificates that are powering the connection – who authorized them, who requested them, and so on. More recently, with browsers such as Chrome, there has been the user of color schemes (Green is good, Red is bad), verified domain display and other indicators to help ensure the user knows when to trust their connection, and when to be wary.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/11/Firefox_3_rc1_Extended_Validation_SSL_address_bar_and_certificate_detail.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-2952&#34; title=&#34;Firefox_3_rc1_Extended_Validation_SSL_address_bar_and_certificate_detail&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/11/Firefox_3_rc1_Extended_Validation_SSL_address_bar_and_certificate_detail-300x182.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;182&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/11/Firefox_3_rc1_Extended_Validation_SSL_address_bar_and_certificate_detail-300x182.png 300w, https://guardianproject.info/wp-content/uploads/2012/11/Firefox_3_rc1_Extended_Validation_SSL_address_bar_and_certificate_detail.png 429w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Firefox’s HTTPS certificate display&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;While many people claim that HTTPS/TLS/SSL are fundamentally broken, they are still an essential piece of basic frontline security on the web. In addition, when making a connection through a proxy network like Tor or a free VPN service, utilizing TLS/SSL is critical in making sure you network is not being intercepted along the way. The notification icon and related certificate viewing, is a critical component for the user, and one that is entirely missing in the mobile application space. The Android API does not provide a standardized method to share this information with the user, and the implementation on iOS is unclear, as well. Even worse, the proper implementation of a strong HTTP/S connection that properly handles verification of certificates, and provides an interactive option for users to accept or decline is entirely missing for the majority of mobile apps.&lt;/p&gt;

&lt;p&gt;With that in mind, we have added a Secure Connection Notification feature into our new &lt;a href=&#34;https://github.com/guardianproject/OnionKit&#34;&gt;OnionKit for Android&lt;/a&gt; library. Build upon our previous work on &lt;a href=&#34;https://github.com/guardianproject/cacert&#34;&gt;implementing custom Root CA Certificate stores for Android&lt;/a&gt;, this library not only provides a clear way to enable HTTP and SOCKS proxying for your network requests (to enable use with our app, &lt;a href=&#34;https://guardianproject.info/apps/orbot/&#34;&gt;Orbot: Tor for Android&lt;/a&gt;), but it also includes a &lt;a href=&#34;https://github.com/guardianproject/OnionKit/blob/master/library/src/info/guardianproject/onionkit/trust/StrongTrustManager.java&#34;&gt;StrongTrustManager&lt;/a&gt; and a &lt;a href=&#34;https://github.com/guardianproject/OnionKit/blob/master/library/src/info/guardianproject/onionkit/trust/StrongHttpsClient.java&#34;&gt;StrongHTTPSClient&lt;/a&gt; implementation, that works to defend against man-in-the-middle attacks, and other means to intercept a TLS or SSL connection between a mobile app and a remote server. Part of the defense, is providing a clear indicator to the user when a secure connection is in use.&lt;/p&gt;

&lt;p&gt;We have provided a &lt;a href=&#34;https://github.com/guardianproject/OnionKit/blob/master/sample/src/sample/onionkit/OnionKitSampleActivity.java&#34;&gt;sample Android app&lt;/a&gt; to demonstrate how simple it is to enable this capability. The screenshots below are from that app.&lt;/p&gt;

&lt;p&gt;In this first screenshot, the app has connected to &lt;a href=&#34;https://check.torproject.org&#34;&gt;https://check.torproject.org&lt;/a&gt; and you can see in the Notification bar a “key” icon indicating there is a secure connection active.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/11/noTor.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-2947 alignnone&#34; title=&#34;noTor&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/11/noTor-254x300.png&#34; alt=&#34;&#34; width=&#34;254&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/11/noTor-254x300.png 254w, https://guardianproject.info/wp-content/uploads/2012/11/noTor.png 800w&#34; sizes=&#34;(max-width: 254px) 100vw, 254px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you drag the notification bar down, you can see a more complete view of the Secure Connection Notification (SCN) message, which indicates the connection is Active and shows a summary of the secure certificate information. In a recent update to the OnionKit SCN code, it also allows for the application to include its name and icon in this notification.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-204130.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-2948&#34; title=&#34;device-2012-11-08-204130&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-204130-300x139.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;139&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-204130-300x139.png 300w, https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-204130.png 800w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, you can tap on the SCN notification and bring up a larger pop-over view of the certificate information. We intend to develop this view further, to allow for better manual management of trust – meaning you may have the option to accept/decline or disable trust of this certificate or the certificate authority that provides it.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-203216.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-2949&#34; title=&#34;device-2012-11-08-203216&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-203216-300x222.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;222&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-203216-300x222.png 300w, https://guardianproject.info/wp-content/uploads/2012/11/device-2012-11-08-203216.png 800w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Beyond “Active” messages, the notification system will also warn or block connections that are deemed risky, invalid or otherwise unverifiable. You can use OnionKit in concert with the &lt;a href=&#34;https://github.com/ge0rg/MemorizingTrustManager&#34;&gt;MemorizingTrustManager&lt;/a&gt; to manually override this verification process, if your application is expected to often connect to servers with unverifiable certificates. Finally, using our &lt;a href=&#34;https://github.com/guardianproject/cacert&#34;&gt;CACert project&lt;/a&gt;, you can generate custom Root CA stores for use with OnionKit, that utilize your own certificate authorities, or a custom rolled set.&lt;/p&gt;

&lt;p&gt;Our goal is not to overwhelm the user, but instead to provide them a simple notification so they can understand which applications have their best interests in mind, and which do not. It is amazing how many popular mobile apps transmit personal information using HTTP completely in plain text, in the clear, allowing any number of parties along the network path between the device and server to passively vacuum up this data. Users generally are not aware or do not care about this issue. It is up to the mobile application developer, to adopt an approach like our Secure Connection Notification, or to directly utilize our OnionKit library itself.&lt;/p&gt;

&lt;p&gt;Finally, we would like to see Android and other mobile operating systems, adopt a system such as this device-wide, such that it becomes as standard as the desktop web browser HTTPS lock.&lt;/p&gt;

&lt;p&gt;If you are a developer, please check out OnionKit for Android today, and let us know what you think: &lt;a href=&#34;https://github.com/guardianproject/OnionKit/&#34;&gt;https://github.com/guardianproject/OnionKit/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot v11 is out!</title>
      <link>https://guardianproject.info/2012/10/26/orbot-v11-is-out/</link>
      <pubDate>Fri, 26 Oct 2012 06:37:23 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/10/26/orbot-v11-is-out/</guid>
      <description>&lt;p&gt;After previous fits and starts, we’ve stabilized Orbot v11 now with the RC6 release. Our core testers and public users via the Google Play distribution are back to happy and stable states of being.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/10/orbotv11.png&#34;&gt;&lt;img class=&#34;alignleft  wp-image-2910&#34; style=&#34;margin-left: 3px; margin-right: 3px;&#34; title=&#34;orbotv11&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/orbotv11-168x300.png&#34; alt=&#34;&#34; width=&#34;131&#34; height=&#34;234&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/orbotv11-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2012/10/orbotv11-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2012/10/orbotv11.png 720w&#34; sizes=&#34;(max-width: 131px) 100vw, 131px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The latest version can be found:&lt;/p&gt;

&lt;p&gt;1) In Google Play:&lt;br /&gt;
&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34;&gt;https://play.google.com/store/apps/details?id=org.torproject.android&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) In our F-Droid repo:&lt;br /&gt;
&lt;a href=&#34;https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository/&#34;&gt;https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) Our via direct APK here:&lt;br /&gt;
&lt;a href=&#34;https://guardianproject.info/releases/Orbot-release-0.2.3.23-rc-1.0.11-RC6.apk&#34;&gt;https://guardianproject.info/releases/Orbot-release-0.2.3.23-rc-1.0.11-RC6.apk&lt;/a&gt;&lt;br /&gt;
(.asc)&lt;/p&gt;

&lt;p&gt;As always you can file bugs on &lt;a href=&#34;https://trac.torproject.org&#34;&gt;trac.torproject.org&lt;/a&gt; or the guardian&lt;br /&gt;
tracker: &lt;a href=&#34;https://dev.guardianproject.info/projects/orbot/issues/new&#34;&gt;https://dev.guardianproject.info/projects/orbot/issues/new&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A few things I learned during this latest Orbot effort:&lt;/p&gt;

&lt;p&gt;– 0.2.4.&lt;em&gt;-alpha is not stable yet on Android, causing a variety of to-be-debugged issues. Based on that, we rolled back to 0.2.3.23-RC&lt;br /&gt;
for this release. We may still do a final/stable v11 release once Tor 0.2.3.&lt;/em&gt; is declared stable.&lt;/p&gt;

&lt;p&gt;– Android has a “Strict Mode” feature that can sometimes cause halts, exits at various points based on certain types of undesirable behaviour, like accessing the network on a main thread. The new up/down data stats inadvertently accessed the localhost Tor control port on the main thread. Most devices just have it set to log a warning to the debug output, but on a few devices it made things go boom.&lt;/p&gt;

&lt;p&gt;– We needed to rewrite our iptables rules quite a bit to use a separate user defined chain “ORBOT” with a jump point in OUTPUT chain. This allows us to easily flush all ORBOT rules. We realized this was necessary because as some devices switch between 3G and wifi connections, iptables rules are reapplied automatically causing multiple instances of the same rule. Only a flush can clear all of instances of these out easily. Second, we can’t do a global iptables –flush because it not only removes some rules set by other apps, it also appears to knock out internet connectivity/routing completely on some newer devices, based on some required default rules that are in place.&lt;/p&gt;

&lt;p&gt;– With the increasing bountiful diversity of Android devices, firmwares and operating system versions, it continues to be a burden to solve all issues for all people. However, most of the issues are related to our “root” and transproxy features, and not the core Orbot app features or bundled Tor binary. We are eager to move to a&lt;br /&gt;
user-defined/soft VPN model to support transparent proxying in the v12 release, and move away from utilizing root in any manner.&lt;/p&gt;

&lt;p&gt;That’s all for now.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ostel: Encrypted Phone Calls</title>
      <link>https://guardianproject.info/archive/ostel/</link>
      <pubDate>Thu, 04 Oct 2012 12:29:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/ostel/</guid>
      <description>&lt;p&gt;&lt;span style=&#34;font-size: 15px; font-weight: bold; clear: left;&#34;&gt;&lt;a href=&#34;https://ostel.co&#34;&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-1013&#34; style=&#34;margin-left: 3px; margin-right: 3px; border: 0px initial initial;&#34; title=&#34;Ostel&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/ostn256x256.png&#34; alt=&#34;&#34; width=&#34;72&#34; height=&#34;72&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://ostel.co&#34;&gt;Ostel&lt;/a&gt;: Encrypted Phone Calls&lt;/span&gt;&lt;br /&gt;
A tool for having end-to-end encrypted phone calls. This is a public testbed of the Open Secure Telephony Network (OSTN) project, with the goal of promoting the use of free, open protocols, standards and software, to power end-to-end secure voice communications on mobile devices, as well as with desktop computers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;August 2017: Ostel is permanently offline. Learn more here: &lt;a href=&#34;https://guardianproject.info/2017/08/10/ostel.co-is-permanently-offline/&#34;&gt;https://guardianproject.info/2017/08/10/ostel.co-is-permanently-offline/&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;**&lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;Open Secure Telephony &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/ostel/wiki&#34;&gt;Find out more on our Wiki&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://ostel.co/about&#34;&gt;Download a supported app (Android, iPhone, Blackberry, Nokia, Windows, Mac OS X, GNU/Linux)&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Ostel&#34;&gt;Setup your App&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/OSTel&#34;&gt;View the source code&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Ostel: Encrypted Phone Calls</title>
      <link>https://guardianproject.info/archive/ostel/</link>
      <pubDate>Thu, 04 Oct 2012 12:29:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/ostel/</guid>
      <description>&lt;p&gt;&lt;span style=&#34;font-size: 15px; font-weight: bold; clear: left;&#34;&gt;&lt;a href=&#34;https://ostel.co&#34;&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-1013&#34; style=&#34;margin-left: 3px; margin-right: 3px; border: 0px initial initial;&#34; title=&#34;Ostel&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/ostn256x256.png&#34; alt=&#34;&#34; width=&#34;72&#34; height=&#34;72&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://ostel.co&#34;&gt;Ostel&lt;/a&gt;: Encrypted Phone Calls&lt;/span&gt;&lt;br /&gt;
A tool for having end-to-end encrypted phone calls. This is a public testbed of the Open Secure Telephony Network (OSTN) project, with the goal of promoting the use of free, open protocols, standards and software, to power end-to-end secure voice communications on mobile devices, as well as with desktop computers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;August 2017: Ostel is permanently offline. Learn more here: &lt;a href=&#34;https://guardianproject.info/2017/08/10/ostel.co-is-permanently-offline/&#34;&gt;https://guardianproject.info/2017/08/10/ostel.co-is-permanently-offline/&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;**&lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;Open Secure Telephony &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://dev.guardianproject.info/projects/ostel/wiki&#34;&gt;Find out more on our Wiki&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://ostel.co/about&#34;&gt;Download a supported app (Android, iPhone, Blackberry, Nokia, Windows, Mac OS X, GNU/Linux)&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Ostel&#34;&gt;Setup your App&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/OSTel&#34;&gt;View the source code&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Developer Square</title>
      <link>https://guardianproject.info/archive/developersquare/</link>
      <pubDate>Thu, 04 Oct 2012 00:42:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/developersquare/</guid>
      <description>

&lt;h1 id=&#34;no-longer-maintained&#34;&gt;NO LONGER MAINTAINED&lt;/h1&gt;

&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
&lt;a href=&#34;https://github.com//DevSqNet/DevSq&#34; target=&#34;_blank&#34; title=&#34;DevSq on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://raw.githubusercontent.com/DevSqNet/DevSq/master/img/devsq_logo_sm.png&#34; alt=&#34;&#34; width=&#34;430&#34; height=&#34;54&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Developer Square is our public community site for sharing, discussing,
connect and learning. The main DevSq.net page offers an index of the
content and resources we are promoting and sharing, while the “Talk”
site (&lt;a href=&#34;https://talk.developersquare.net&#34;&gt;https://talk.developersquare.net&lt;/a&gt;) is a full fledged community
discussion site focused on open-source, mobile app development.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Developer Square</title>
      <link>https://guardianproject.info/archive/developersquare/</link>
      <pubDate>Thu, 04 Oct 2012 00:42:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/developersquare/</guid>
      <description>

&lt;h1 id=&#34;no-longer-maintained&#34;&gt;NO LONGER MAINTAINED&lt;/h1&gt;

&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
&lt;a href=&#34;https://github.com//DevSqNet/DevSq&#34; target=&#34;_blank&#34; title=&#34;DevSq on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://raw.githubusercontent.com/DevSqNet/DevSq/master/img/devsq_logo_sm.png&#34; alt=&#34;&#34; width=&#34;430&#34; height=&#34;54&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Developer Square is our public community site for sharing, discussing,
connect and learning. The main DevSq.net page offers an index of the
content and resources we are promoting and sharing, while the “Talk”
site (&lt;a href=&#34;https://talk.developersquare.net&#34;&gt;https://talk.developersquare.net&lt;/a&gt;) is a full fledged community
discussion site focused on open-source, mobile app development.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>GnuPG: OpenPGP Encryption</title>
      <link>https://guardianproject.info/archive/gnupg/</link>
      <pubDate>Thu, 04 Oct 2012 00:42:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/gnupg/</guid>
      <description>

&lt;h1 id=&#34;no-longer-maintained&#34;&gt;NO LONGER MAINTAINED&lt;/h1&gt;

&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;This project is &lt;strong&gt;UNMAINTAINED&lt;/strong&gt;, we recommend &lt;a href=&#34;https://www.openkeychain.org/&#34;&gt;OpenKeychain&lt;/a&gt; instead. The core porting work has all be included upstream in the official &lt;a href=&#34;https://gnupg.org&#34; target=&#34;_blank&#34;&gt;GnuPG&lt;/a&gt; source repositories. The Android app needs a new maintainer. This could be you! Email us at &lt;a href=&#34;&amp;#109;&amp;#x61;&amp;#105;&amp;#x6c;t&amp;#x6f;:&amp;#x73;u&amp;#x70;p&amp;#x6f;r&amp;#x74;&amp;#64;&amp;#103;&amp;#x75;&amp;#97;&amp;#x72;&amp;#100;&amp;#x69;a&amp;#x6e;p&amp;#x72;o&amp;#x6a;e&amp;#x63;t&amp;#x2e;i&amp;#110;&amp;#x66;&amp;#111;&#34; target=&#34;_blank&#34;&gt;s&amp;#117;&amp;#x70;&amp;#x70;o&amp;#114;&amp;#x74;&amp;#x40;g&amp;#117;&amp;#x61;&amp;#x72;d&amp;#105;&amp;#x61;&amp;#x6e;p&amp;#114;&amp;#x6f;&amp;#x6a;e&amp;#99;&amp;#x74;&amp;#x2e;i&amp;#110;&amp;#x66;&amp;#x6f;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon-150x150.png&#34; alt=&#34;GnuPG for Android&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-3680&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/05/icon-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/05/icon.png 512w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;Gnu Privacy Guard (GnuPG) for Android brings the widespread standard in OpenPGP encryption to Android. GnuPG provides solid encryption for keeping emails and files private, and for verifying that emails and files are who you think they are. GnuPG is built-in to basically every GNU/Linux distro, in &lt;a href=&#34;https://gpgtools.org/&#34; target=&#34;_blank&#34;&gt;GPGTools&lt;/a&gt; for Mac OS X and Apple Mail, a &lt;a href=&#34;https://gpg4win.org/&#34; target=&#34;_blank&#34;&gt;GPG4Win&lt;/a&gt; for Windows and Outlook, &lt;a href=&#34;https://www.enigmail.net/&#34; target=&#34;_blank&#34;&gt;Enigmail&lt;/a&gt; for Thunderbird, etc. We are working to bring GnuPG to Android to make it the cornerstone of Android encryption like it is elsewhere.&lt;/p&gt;

&lt;p&gt;We are actively working on an API so that developers can easily embed this into any app to give it state of the art security features. We’re also building a graphical user interface for easy key management. You can &lt;a href=&#34;https://dev.guardianproject.info/projects/gpgandroid/wiki/API_Sketch&#34; target=&#34;_blank&#34;&gt;follow our progress on our wiki&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;command-line-usage&#34;&gt;Command Line Usage&lt;/h3&gt;

&lt;p&gt;If you want to use the command line, the easiest way to get started with GPG is to install Android Terminal Emulator. GPG will automatically configure Android Terminal Emulator as long as you have the &amp;ldquo;&lt;em&gt;Allow PATH extensions&lt;/em&gt;&amp;rdquo; settings enabled. Get the &lt;a href=&#34;https://play.google.com/store/apps/details?id=jackpal.androidterm&#34; target=&#34;_blank&#34;&gt;Android Terminal Emulator&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;source&#34;&gt;Source&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;full source: &lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34;&gt;https://github.com/guardianproject/gnupg-for-android&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>GnuPG: OpenPGP Encryption</title>
      <link>https://guardianproject.info/archive/gnupg/</link>
      <pubDate>Thu, 04 Oct 2012 00:42:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/gnupg/</guid>
      <description>

&lt;h1 id=&#34;no-longer-maintained&#34;&gt;NO LONGER MAINTAINED&lt;/h1&gt;

&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;This project is &lt;strong&gt;UNMAINTAINED&lt;/strong&gt;, we recommend &lt;a href=&#34;https://www.openkeychain.org/&#34;&gt;OpenKeychain&lt;/a&gt; instead. The core porting work has all be included upstream in the official &lt;a href=&#34;https://gnupg.org&#34; target=&#34;_blank&#34;&gt;GnuPG&lt;/a&gt; source repositories. The Android app needs a new maintainer. This could be you! Email us at &lt;a href=&#34;&amp;#109;&amp;#x61;&amp;#105;&amp;#x6c;t&amp;#x6f;:&amp;#x73;u&amp;#x70;p&amp;#x6f;r&amp;#x74;&amp;#64;&amp;#103;&amp;#x75;&amp;#97;&amp;#x72;&amp;#100;&amp;#x69;a&amp;#x6e;p&amp;#x72;o&amp;#x6a;e&amp;#x63;t&amp;#x2e;i&amp;#110;&amp;#x66;&amp;#111;&#34; target=&#34;_blank&#34;&gt;s&amp;#117;&amp;#x70;&amp;#x70;o&amp;#114;&amp;#x74;&amp;#x40;g&amp;#117;&amp;#x61;&amp;#x72;d&amp;#105;&amp;#x61;&amp;#x6e;p&amp;#114;&amp;#x6f;&amp;#x6a;e&amp;#99;&amp;#x74;&amp;#x2e;i&amp;#110;&amp;#x66;&amp;#x6f;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon-150x150.png&#34; alt=&#34;GnuPG for Android&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-3680&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2013/05/icon-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2013/05/icon-300x300.png 300w, https://guardianproject.info/wp-content/uploads/2013/05/icon.png 512w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;Gnu Privacy Guard (GnuPG) for Android brings the widespread standard in OpenPGP encryption to Android. GnuPG provides solid encryption for keeping emails and files private, and for verifying that emails and files are who you think they are. GnuPG is built-in to basically every GNU/Linux distro, in &lt;a href=&#34;https://gpgtools.org/&#34; target=&#34;_blank&#34;&gt;GPGTools&lt;/a&gt; for Mac OS X and Apple Mail, a &lt;a href=&#34;https://gpg4win.org/&#34; target=&#34;_blank&#34;&gt;GPG4Win&lt;/a&gt; for Windows and Outlook, &lt;a href=&#34;https://www.enigmail.net/&#34; target=&#34;_blank&#34;&gt;Enigmail&lt;/a&gt; for Thunderbird, etc. We are working to bring GnuPG to Android to make it the cornerstone of Android encryption like it is elsewhere.&lt;/p&gt;

&lt;p&gt;We are actively working on an API so that developers can easily embed this into any app to give it state of the art security features. We’re also building a graphical user interface for easy key management. You can &lt;a href=&#34;https://dev.guardianproject.info/projects/gpgandroid/wiki/API_Sketch&#34; target=&#34;_blank&#34;&gt;follow our progress on our wiki&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;command-line-usage&#34;&gt;Command Line Usage&lt;/h3&gt;

&lt;p&gt;If you want to use the command line, the easiest way to get started with GPG is to install Android Terminal Emulator. GPG will automatically configure Android Terminal Emulator as long as you have the &amp;ldquo;&lt;em&gt;Allow PATH extensions&lt;/em&gt;&amp;rdquo; settings enabled. Get the &lt;a href=&#34;https://play.google.com/store/apps/details?id=jackpal.androidterm&#34; target=&#34;_blank&#34;&gt;Android Terminal Emulator&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;source&#34;&gt;Source&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;full source: &lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34;&gt;https://github.com/guardianproject/gnupg-for-android&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>IOCipher: Virtual Encrypted Disks</title>
      <link>https://guardianproject.info/code/iocipher/</link>
      <pubDate>Thu, 04 Oct 2012 00:39:12 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/iocipher/</guid>
      <description>

&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3079&#34; alt=&#34;alberti cipher disk&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg&#34; width=&#34;150&#34; height=&#34;150&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg 245w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/IOCipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/iocipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;IOCipher provides a virtual encrypted disk for Android apps without requiring the device to be rooted. It uses a clone of the standard &lt;code&gt;java.io&lt;/code&gt; API for working with files, so developers already know how to use it. Only password handling, and opening the virtual disk are what stand between the developer and working encrypted file storage. It is based on and &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34; target=&#34;_blank&#34;&gt;SQLCipher&lt;/a&gt;, and designed to work with &lt;a href=&#34;https://guardianproject.info/code/cacheword&#34; target=&#34;_blank&#34;&gt;CacheWord&lt;/a&gt; for handling the keys and passwords.&lt;/p&gt;

&lt;p&gt;IOCipher is ultimately based on transactions in SQLite, which means that it does not require being mounted in the normal sense. There is no open state once a transaction is complete. Each read or write operation is a self-contained SQLite transaction, so if the file system is forcably quit, SQLite&amp;rsquo;s transactions prevent the whole file system from being corrupted. This is important in Android since an &lt;code&gt;Activity&lt;/code&gt; or &lt;code&gt;Service&lt;/code&gt; can be killed at any moment without warning.&lt;/p&gt;

&lt;p&gt;IOCipher is a cousin to &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34; target=&#34;_blank&#34;&gt;SQLCipher-for-Android&lt;/a&gt; since it is also based on SQLCipher and uses the same approach of repurposing an API that developers already know well. It is built on top of &lt;a title=&#34;libsqlfs git repo&#34; href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;libsqlfs&lt;/a&gt;, a filesystem implemented in SQL that exposes a FUSE API.&lt;/p&gt;

&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Secure transparent app-level &lt;strong&gt;virtual encrypted disk&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No root&lt;/strong&gt; required&lt;/li&gt;
&lt;li&gt;Only &lt;strong&gt;three new methods&lt;/strong&gt; to learn: &lt;code&gt;VirtualFileSystem.get()&lt;/code&gt;, &lt;code&gt;VirtualFileSystem.mount(dbFile, password)&lt;/code&gt;, and &lt;code&gt;VirtualFileSystem.unmount()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Supports Android versions &lt;strong&gt;2.3 and above&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Licensed under the &lt;strong&gt;LGPL v3+&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;adding-iocipher-to-your-app&#34;&gt;Adding IOCipher to your App&lt;/h2&gt;

&lt;p&gt;Here are the things you need to do in your code to make it use IOCipher encrypted storage for all of your app&amp;rsquo;s file storage:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;manage the password using Cacheword or whatever works for you&lt;/li&gt;
&lt;li&gt;get the VFS singleton using &lt;code&gt;VirtualFileSystem.get()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;on first run, create the container file with a password using &lt;code&gt;VirtualFileSystem.createNewContainer(dbFile, password)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;mount the container file with a password using &lt;code&gt;VirtualFileSystem.mount(dbFile, password)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;replace the relevant &lt;code&gt;java.io&lt;/code&gt; import statements with &lt;code&gt;info.guardianproject.iocipher&lt;/code&gt;, e.g.:
&lt;pre&gt;import info.guardianproject.iocipher.File;
import info.guardianproject.iocipher.FileOutputStream;
import info.guardianproject.iocipher.FileReader;
import info.guardianproject.iocipher.IOCipherFileChannel;
import info.guardianproject.iocipher.VirtualFileSystem;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For more detailed examples, see &lt;a href=&#34;https://github.com/guardianproject/IOCipherExample&#34; target=&#34;_blank&#34;&gt;IOCipherExample&lt;/a&gt;, &lt;a href=&#34;https://github.com/guardianproject/IOCipherThreadTest&#34; target=&#34;_blank&#34;&gt;IOCipherThreadTest&lt;/a&gt;, and &lt;a href=&#34;https://github.com/guardianproject/IOCipherTests&#34; target=&#34;_blank&#34;&gt;IOCipherTests&lt;/a&gt;. To start from scratch, follow &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34; title=&#34;SQLCipher for Android Application Integration&#34; target=&#34;_blank&#34;&gt;the instructions on starting with SQLCipher-for-Android&lt;/a&gt;, then download IOCipher and add it to the &lt;code&gt;libs/&lt;/code&gt; folder of that new project.&lt;/p&gt;










&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  For gradle projects, use one of these lines.  The quickest way to
  get started is to use the standalone package that includes SQLCipher
  in it.
&lt;/p&gt;
&lt;pre&gt;    implementation &amp;#39;info.guardianproject.iocipher:IOCipherStandalone:0.5@aar&amp;#39;
&lt;/pre&gt;
&lt;p&gt;
  If your project already includes SQLCipher, then use the release
  that contains only IOCipher.
  &lt;/p&gt;
&lt;pre&gt;    implementation &amp;#39;info.guardianproject.iocipher:IOCipher:0.5@aar&amp;#39;
    implementation &#39;net.zetetic:android-database-sqlcipher:4.2.0@aar&#39;
&lt;/pre&gt;

&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipherStandalone-0.5.aar&#34;&gt;IOCipherStandalone-0.5.aar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipherStandalone-0.5.aar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipher-0.5.aar&#34;&gt;IOCipher-0.5.aar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipher-0.5.aar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;


&lt;h2 id=&#34;source-code&#34;&gt;Source Code&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;all you need for your project: &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34;&gt;https://github.com/guardianproject/IOCipher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;optional&#34;&gt;optional:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;the test suite: &lt;a href=&#34;https://github.com/guardianproject/IOCipherTests&#34;&gt;https://github.com/guardianproject/IOCipherTests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;a simple example file manager app: &lt;a href=&#34;https://github.com/guardianproject/IOCipherExample&#34;&gt;https://github.com/guardianproject/IOCipherExample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;a very simple test app: &lt;a href=&#34;https://github.com/guardianproject/IOCipherThreadTest&#34;&gt;https://github.com/guardianproject/IOCipherThreadTest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the core: &lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34;&gt;https://github.com/guardianproject/libsqlfs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;usage-notes&#34;&gt;Usage notes&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;only one active mount per-app is supported&lt;/li&gt;
&lt;li&gt;single thread/sequential access is the preferred way of using IOCipher&lt;/li&gt;
&lt;li&gt;multi-threaded access possible (&lt;em&gt;potentially unstable under extremely high write load&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;VFS now has beginTransaction and completeTransaction to optimize performance&lt;/li&gt;
&lt;li&gt;parts of java.io not currently supported: vectored I/O, memory-mapped files&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting Bugs&lt;/h2&gt;

&lt;p&gt;Please report any bugs or issues that you have with this library! We want to hear from you. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!&lt;/p&gt;

&lt;h2 id=&#34;known-issues&#34;&gt;Known Issues&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;files cannot currently be larger than 4GB (&lt;a href=&#34;https://dev.guardianproject.info/issues/3624&#34; target=&#34;_blank&#34;&gt;#3624&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;no users, groups, or permissions implemented&lt;/li&gt;
&lt;li&gt;crashes possible under &lt;em&gt;extremely&lt;/em&gt; heavy, concurrent load (&lt;a href=&#34;https://dev.guardianproject.info/issues/522&#34; target=&#34;_blank&#34;&gt;#522&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a title=&#34;existing IOCipher issues&#34; href=&#34;https://dev.guardianproject.info/projects/iocipher/issues&#34; target=&#34;_blank&#34;&gt;View all open issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>IOCipher: Virtual Encrypted Disks</title>
      <link>https://guardianproject.info/code/iocipher/</link>
      <pubDate>Thu, 04 Oct 2012 00:39:12 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/iocipher/</guid>
      <description>

&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3079&#34; alt=&#34;alberti cipher disk&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg&#34; width=&#34;150&#34; height=&#34;150&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2012/10/alberti_cipher_disk.jpg 245w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/p&gt;

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/IOCipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/iocipher&#34; target=&#34;_blank&#34; title=&#34;IOCipher blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;IOCipher provides a virtual encrypted disk for Android apps without requiring the device to be rooted. It uses a clone of the standard &lt;code&gt;java.io&lt;/code&gt; API for working with files, so developers already know how to use it. Only password handling, and opening the virtual disk are what stand between the developer and working encrypted file storage. It is based on and &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34; target=&#34;_blank&#34;&gt;SQLCipher&lt;/a&gt;, and designed to work with &lt;a href=&#34;https://guardianproject.info/code/cacheword&#34; target=&#34;_blank&#34;&gt;CacheWord&lt;/a&gt; for handling the keys and passwords.&lt;/p&gt;

&lt;p&gt;IOCipher is ultimately based on transactions in SQLite, which means that it does not require being mounted in the normal sense. There is no open state once a transaction is complete. Each read or write operation is a self-contained SQLite transaction, so if the file system is forcably quit, SQLite&amp;rsquo;s transactions prevent the whole file system from being corrupted. This is important in Android since an &lt;code&gt;Activity&lt;/code&gt; or &lt;code&gt;Service&lt;/code&gt; can be killed at any moment without warning.&lt;/p&gt;

&lt;p&gt;IOCipher is a cousin to &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34; target=&#34;_blank&#34;&gt;SQLCipher-for-Android&lt;/a&gt; since it is also based on SQLCipher and uses the same approach of repurposing an API that developers already know well. It is built on top of &lt;a title=&#34;libsqlfs git repo&#34; href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;libsqlfs&lt;/a&gt;, a filesystem implemented in SQL that exposes a FUSE API.&lt;/p&gt;

&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Secure transparent app-level &lt;strong&gt;virtual encrypted disk&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No root&lt;/strong&gt; required&lt;/li&gt;
&lt;li&gt;Only &lt;strong&gt;three new methods&lt;/strong&gt; to learn: &lt;code&gt;VirtualFileSystem.get()&lt;/code&gt;, &lt;code&gt;VirtualFileSystem.mount(dbFile, password)&lt;/code&gt;, and &lt;code&gt;VirtualFileSystem.unmount()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Supports Android versions &lt;strong&gt;2.3 and above&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Licensed under the &lt;strong&gt;LGPL v3+&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;adding-iocipher-to-your-app&#34;&gt;Adding IOCipher to your App&lt;/h2&gt;

&lt;p&gt;Here are the things you need to do in your code to make it use IOCipher encrypted storage for all of your app&amp;rsquo;s file storage:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;manage the password using Cacheword or whatever works for you&lt;/li&gt;
&lt;li&gt;get the VFS singleton using &lt;code&gt;VirtualFileSystem.get()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;on first run, create the container file with a password using &lt;code&gt;VirtualFileSystem.createNewContainer(dbFile, password)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;mount the container file with a password using &lt;code&gt;VirtualFileSystem.mount(dbFile, password)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;replace the relevant &lt;code&gt;java.io&lt;/code&gt; import statements with &lt;code&gt;info.guardianproject.iocipher&lt;/code&gt;, e.g.:
&lt;pre&gt;import info.guardianproject.iocipher.File;
import info.guardianproject.iocipher.FileOutputStream;
import info.guardianproject.iocipher.FileReader;
import info.guardianproject.iocipher.IOCipherFileChannel;
import info.guardianproject.iocipher.VirtualFileSystem;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For more detailed examples, see &lt;a href=&#34;https://github.com/guardianproject/IOCipherExample&#34; target=&#34;_blank&#34;&gt;IOCipherExample&lt;/a&gt;, &lt;a href=&#34;https://github.com/guardianproject/IOCipherThreadTest&#34; target=&#34;_blank&#34;&gt;IOCipherThreadTest&lt;/a&gt;, and &lt;a href=&#34;https://github.com/guardianproject/IOCipherTests&#34; target=&#34;_blank&#34;&gt;IOCipherTests&lt;/a&gt;. To start from scratch, follow &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34; title=&#34;SQLCipher for Android Application Integration&#34; target=&#34;_blank&#34;&gt;the instructions on starting with SQLCipher-for-Android&lt;/a&gt;, then download IOCipher and add it to the &lt;code&gt;libs/&lt;/code&gt; folder of that new project.&lt;/p&gt;










&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  For gradle projects, use one of these lines.  The quickest way to
  get started is to use the standalone package that includes SQLCipher
  in it.
&lt;/p&gt;
&lt;pre&gt;    implementation &amp;#39;info.guardianproject.iocipher:IOCipherStandalone:0.5@aar&amp;#39;
&lt;/pre&gt;
&lt;p&gt;
  If your project already includes SQLCipher, then use the release
  that contains only IOCipher.
  &lt;/p&gt;
&lt;pre&gt;    implementation &amp;#39;info.guardianproject.iocipher:IOCipher:0.5@aar&amp;#39;
    implementation &#39;net.zetetic:android-database-sqlcipher:4.2.0@aar&#39;
&lt;/pre&gt;

&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipherStandalone-0.5.aar&#34;&gt;IOCipherStandalone-0.5.aar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipherStandalone-0.5.aar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipher-0.5.aar&#34;&gt;IOCipher-0.5.aar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/iocipher/IOCipher/0.5/IOCipher-0.5.aar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;


&lt;h2 id=&#34;source-code&#34;&gt;Source Code&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;all you need for your project: &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34;&gt;https://github.com/guardianproject/IOCipher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;optional&#34;&gt;optional:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;the test suite: &lt;a href=&#34;https://github.com/guardianproject/IOCipherTests&#34;&gt;https://github.com/guardianproject/IOCipherTests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;a simple example file manager app: &lt;a href=&#34;https://github.com/guardianproject/IOCipherExample&#34;&gt;https://github.com/guardianproject/IOCipherExample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;a very simple test app: &lt;a href=&#34;https://github.com/guardianproject/IOCipherThreadTest&#34;&gt;https://github.com/guardianproject/IOCipherThreadTest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the core: &lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34;&gt;https://github.com/guardianproject/libsqlfs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;usage-notes&#34;&gt;Usage notes&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;only one active mount per-app is supported&lt;/li&gt;
&lt;li&gt;single thread/sequential access is the preferred way of using IOCipher&lt;/li&gt;
&lt;li&gt;multi-threaded access possible (&lt;em&gt;potentially unstable under extremely high write load&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;VFS now has beginTransaction and completeTransaction to optimize performance&lt;/li&gt;
&lt;li&gt;parts of java.io not currently supported: vectored I/O, memory-mapped files&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting Bugs&lt;/h2&gt;

&lt;p&gt;Please report any bugs or issues that you have with this library! We want to hear from you. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!&lt;/p&gt;

&lt;h2 id=&#34;known-issues&#34;&gt;Known Issues&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;files cannot currently be larger than 4GB (&lt;a href=&#34;https://dev.guardianproject.info/issues/3624&#34; target=&#34;_blank&#34;&gt;#3624&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;no users, groups, or permissions implemented&lt;/li&gt;
&lt;li&gt;crashes possible under &lt;em&gt;extremely&lt;/em&gt; heavy, concurrent load (&lt;a href=&#34;https://dev.guardianproject.info/issues/522&#34; target=&#34;_blank&#34;&gt;#522&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a title=&#34;existing IOCipher issues&#34; href=&#34;https://dev.guardianproject.info/projects/iocipher/issues&#34; target=&#34;_blank&#34;&gt;View all open issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>ToFU/PoP in your Android App!  (a.k.a. extending Orlib to communicate over Tor)</title>
      <link>https://guardianproject.info/2012/09/20/tofu/pop-in-your-android-app-a.k.a.-extending-orlib-to-communicate-over-tor/</link>
      <pubDate>Thu, 20 Sep 2012 15:17:36 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/09/20/tofu/pop-in-your-android-app-a.k.a.-extending-orlib-to-communicate-over-tor/</guid>
      <description>

&lt;p&gt;In doing my research for InformaCam, I learned a couple of neat tricks for getting an app to communicate over Tor. Here’s a how-to for app developers to use depending on your threat model, and how you have your web server set-up. Enjoy, and please post your comments/questions/suggestions below…&lt;/p&gt;

&lt;h2 id=&#34;before-we-begin&#34;&gt;Before we begin…&lt;/h2&gt;

&lt;p&gt;You’re going to need some basic stuff up-and-running for this to work. Before you get coding, make sure you have the following:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your Android device should have:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Orbot downloaded and running&lt;/li&gt;
&lt;li&gt;An encrypted data store to save keys, certificates, and addresses to, such as Guardian Project’s &lt;a href=&#34;https://github.com/guardianproject/sqlcipher-android&#34; target=&#34;_blank&#34;&gt;SQLCipher&lt;/a&gt; or &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34;&gt;IOCipher&lt;/a&gt;. (SQLCipher is a database; if you want to have records for each hidden service such as “Onion Address,” “Certificate,” “Display Name,” etc. this is the model you can use. IOCipher is used like an encrypted java.io.File partition; you could easily store certificates in a java keystore with a .jks extension, and save a text file with a list of onion addresses. However you manage your backend is up to you.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Your server should have:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A lightweight web server. According to the Tor documentation, smaller servers like LightTPD are preferred over Apache since there’s less of an opportunity to accidentally reveal your IP address in error logs or publicly-accessible config files.&lt;/li&gt;
&lt;li&gt;Tor set up and running a hidden service&lt;/li&gt;
&lt;li&gt;Your own self-signed SSL certificate for your server. (Directions can be found &lt;a href=&#34;http://www.digicert.com/ssl-certificate-installation-lighttpd.htm&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;For extra credit,&lt;/em&gt; you can set yourself up your own certificate authority. This can be used to sign client authentication keys (how you distribute them to users is also up to you) and directions to do this can be found &lt;a href=&#34;http://it.toolbox.com/blogs/securitymonkey/howto-securing-a-website-with-client-ssl-certificates-11500&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;ok-let-s-get-coding&#34;&gt;Ok, let’s get coding!&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use case: I don’t actually need Tor support, but I do want to add my custom SSL certificate to the app’s trust chain.&lt;/strong&gt;&lt;/p&gt;
What you need to do this is to create a custom Trust Manager, and use it when you instantiate your SSL connection.&lt;/p&gt;

&lt;p&gt;In this example, the trust manager loads (or creates, if it’s the first time use) your encrypted keystore. When your app makes a request to your web server, the Trust Manager will first check to see if the host name is in your “white list” (either in your SQLite database or in the encrypted flat file you created.) If that checks out, the Trust Manager will add the X509 certificate to your encrypted keystore (if it doesn’t exist there already.) I’ve omitted the part of the code where you load up your keystore, and where you save any changes to it; you can do that on your own, depending on how you have it set up.&lt;/p&gt;

&lt;p&gt;The following code I cribbed heavily from &lt;a href=&#34;https://github.com/ge0rg/MemorizingTrustManager&#34; target=&#34;_blank&#34;&gt;ge0rg’s memorizing trust manager&lt;/a&gt;. Please have a look at that, too, and thank the guy for his great work!&lt;/p&gt;

&lt;p&gt;&lt;pre style=&#34;font-size:0.8em;&#34;&gt;public class MyTrustManager implements X509TrustManager {
private KeyStore keyStore;
private X509TrustManager defaultTrustManager;
private X509TrustManager appTrustManager;&lt;/p&gt;

&lt;p&gt;byte[] keyStored = null;
String pwd;&lt;/p&gt;

&lt;p&gt;public MyTrustManager() {
    loadKeyStore();&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;defaultTrustManager = getTrustManager(false);
appTrustManager = getTrustManager(true);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;private X509TrustManager getTrustManager(boolean withKeystore) {
    try {
        TrustManagerFactory tmf = TrustManagerFactory.getInstance(&amp;ldquo;X509&amp;rdquo;);
        if(withKeystore)
            tmf.init(keyStore);
        else
            tmf.init((KeyStore) null);
        for(TrustManager t : tmf.getTrustManagers())
            if(t instanceof X509TrustManager)
                return (X509TrustManager) t;
    } catch (KeyStoreException e) {
        Log.e(LOG, &amp;ldquo;key store exception: &amp;ldquo; + e.toString());
    } catch (NoSuchAlgorithmException e) {
        Log.e(LOG, &amp;ldquo;no such algo exception: &amp;ldquo; + e.toString());
    }
    return null;
}&lt;/p&gt;

&lt;p&gt;private void loadKeyStore() {
    //TODO: this is where you load up your keystore and store the bytes into the keyStored field if neccessary.
    try {
        keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
    } catch(KeyStoreException e) {
        Log.e(LOG, &amp;ldquo;key store exception: &amp;ldquo; + e.toString());
    }&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;try {
    keyStore.load(null, null);
    if(keyStored != null)
        keyStore.load(new ByteArrayInputStream(keyStored), pwd.toCharArray());


} catch(CertificateException e) {
    Log.e(LOG, &amp;quot;certificate exception: &amp;quot; + e.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e(LOG, &amp;quot;no such algo exception: &amp;quot; + e.toString());
} catch (IOException e) {
    Log.e(LOG, &amp;quot;IOException: &amp;quot; + e.toString());
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;private void storeCertificate(X509Certificate[] chain) {
    try {
        for(X509Certificate cert : chain) {
            keyStore.setCertificateEntry(cert.getSubjectDN().toString(), cert);
        }
    } catch(KeyStoreException e) {
        Log.e(LOG, &amp;ldquo;keystore exception: &amp;ldquo; + e.toString());
    }&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;appTrustManager = getTrustManager(true);
try {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    keyStore.store(baos, pwd.toCharArray());
    updateKeyStore(baos.toByteArray());
    Log.d(LOG, &amp;quot;new key encountered!  length: &amp;quot; + baos.size());
} catch(KeyStoreException e) {
    Log.e(LOG, &amp;quot;keystore exception: &amp;quot; + e.toString());  
} catch (NoSuchAlgorithmException e) {
    Log.e(LOG, &amp;quot;no such algo exception: &amp;quot; + e.toString());
} catch (IOException e) {
    Log.e(LOG, &amp;quot;IOException: &amp;quot; + e.toString());
} catch (CertificateException e) {
    Log.e(LOG, &amp;quot;Certificate Exception: &amp;quot; + e.toString());
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;private void updateKeyStore(byte[] newKey) {
    // TODO: this is where YOU update your own keystore if you need to (ie, if it&amp;rsquo;s in an SQLite database)
}&lt;/p&gt;

&lt;p&gt;private boolean isCertKnown(X509Certificate cert) {
    try {
        return keyStore.getCertificateAlias(cert) != null;
    } catch(KeyStoreException e) {
        return false;
    }
}&lt;/p&gt;

&lt;p&gt;private boolean isExpiredException(Throwable e) {
    do {
        if(e instanceof CertificateExpiredException)
            return true;
        e = e.getCause();
    } while(e != null);
    return false;
}&lt;/p&gt;

&lt;p&gt;private void checkCertificateTrusted(X509Certificate[] chain, String authType, boolean isServer) throws CertificateException {
    try {
        if(isServer)
            appTrustManager.checkServerTrusted(chain, authType);
        else
            appTrustManager.checkClientTrusted(chain, authType);
    } catch(CertificateException e) {
        if(isExpiredException(e))
            return;
        if(isCertKnown(chain[0]))
            return;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    try {
        if(isServer)
            defaultTrustManager.checkServerTrusted(chain, authType);
        else
            defaultTrustManager.checkClientTrusted(chain, authType);
    } catch(CertificateException ce) {
        storeCertificate(chain);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    checkCertificateTrusted(chain, authType, false);
}&lt;/p&gt;

&lt;p&gt;@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    checkCertificateTrusted(chain, authType, true);
}&lt;/p&gt;

&lt;p&gt;@Override
public X509Certificate[] getAcceptedIssuers() {
    return defaultTrustManager.getAcceptedIssuers();
}&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;}
&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Next, you want to initiate an Https request to use this custom Trust Manager. As most of you Android programmers know, you have to do any network stuff on another, non-UI thread. I like to use Future/Callables because it returns the contents of the web site you access into a variable that I can parse. Here’s how you do that for a standard POST request:

&amp;lt;pre style=&amp;quot;font-size:0.8em;&amp;quot;&amp;gt;public static String executeHttpsPost(final String host, final Map&amp;lt;String, Object&amp;gt; postData, final String contentType) {
    ExecutorService ex = Executors.newFixedThreadPool(100);
    Future&amp;lt;String&amp;gt; future = ex.submit(new Callable&amp;lt;String&amp;gt;() {
        String result = &amp;quot;FAIL&amp;quot;;
        String HYPHENS = &amp;quot;--&amp;quot;;
        STRING LINE_END = &amp;quot;\r\n&amp;quot;;
        String BOUNDARY = &amp;quot;***7hisIsMyBoUND4rY***&amp;quot;;
        String hostname;

        URL url;
        HttpsURLConnection connection;
        HostnameVerifier hnv;
        DataOutputStream dos;
        SSLContext ssl;

        MyTrustManager itm;

        private void buildQuery() {
            Iterator&amp;lt;Entry&amp;lt;String, Object&amp;gt;&amp;gt; it = postData.entrySet().iterator();

            connection.setRequestProperty(&amp;quot;Content-Type&amp;quot;, &amp;quot;multipart/form-data; boundary=&amp;quot; + BOUNDARY);
            StringBuffer sb = new StringBuffer();
            try {
                dos = new DataOutputStream(connection.getOutputStream());
                sb = new StringBuffer();
                while(it.hasNext()) {
                    sb = new StringBuffer();
                    Entry&amp;lt;String, Object&amp;gt; e = it.next();

                    sb.append(HYPHENS + BOUNDARY + LINE_END);

                    sb.append(&amp;quot;Content-Disposition: form-data; name=\&amp;quot;&amp;quot; + e.getKey() + &amp;quot;\&amp;quot;&amp;quot; + LINE_END);
                    sb.append(&amp;quot;Content-Type: &amp;quot; + contentType + &amp;quot;; charset=UTF-8&amp;quot; + LINE_END );
                    sb.append(&amp;quot;Cache-Control: no-cache&amp;quot; + LINE_END + LINE_END);
                    sb.append(String.valueOf(e.getValue()) + LINE_END);
                    dos.writeBytes(sb.toString());
                }

                dos.writeBytes(HYPHENS + BOUNDARY + HYPHENS + LINE_END);

                dos.flush();
                dos.close();

            } catch (IOException e) {
                Log.e(LOG, e.toString());
                e.printStackTrace();
            }
        }

        @Override
        public String call() throws Exception {
            hostname = host.split(&amp;quot;/&amp;quot;)[0];
            url = new URL(&amp;quot;https://&amp;quot; + host);

            hnv = new HostnameVerifier() {
                @Override
                public boolean verify(String hn, SSLSession session) {
                    if(hn.equals(hostname))
                        return true;
                    else
                        return false;
                }
            };

            itm = new MyTrustManager();

            ssl = SSLContext.getInstance(&amp;quot;TLS&amp;quot;);
            ssl.init(null, new TrustManager[] {itm}, new SecureRandom());

            HttpsURLConnection.setDefaultSSLSocketFactory(ssl.getSocketFactory());
            HttpsURLConnection.setDefaultHostnameVerifier(hnv);

            connection = (HttpsURLConnection) url.openConnection();

            connection.setRequestMethod(&amp;quot;POST&amp;quot;);
            connection.setRequestProperty(&amp;quot;Connection&amp;quot;, &amp;quot;Keep-Alive&amp;quot;);
            connection.setUseCaches(false);
            connection.setDoInput(true);
            connection.setDoOutput(true);

            buildQuery();

            try {
                InputStream is = connection.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String line;
                StringBuffer sb = new StringBuffer();
                while((line = br.readLine()) != null)
                    sb.append(line);
                br.close();
                connection.disconnect();
                result = sb.toString();
            } catch(NullPointerException e) {
                Log.e(LOG, e.toString());
                e.printStackTrace();
            }
            return result;
        }

    });

    try {
        return future.get();
    } catch (InterruptedException e) {
        Log.e(LOG, e.toString());
        e.printStackTrace();
        return null;
    } catch (ExecutionException e) {
        Log.e(LOG, e.toString());
        e.printStackTrace();
        return null;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use case: I have a web server set up with a hidden service running. How can my app access the web site?&lt;/strong&gt;&lt;/p&gt;
Simple! Just make some minor modifications to your SSLContext by adding a proxy! Take the executeHttpsPost method above, and add the following &lt;em&gt;after&lt;/em&gt; the line “HttpsURLConnection.setDefaultHostnameVerifier(hnv);”&lt;/p&gt;

&lt;pre style=&#34;font-size:0.8em;&#34;&gt;Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(&#34;localhost&#34;, 8118));
&lt;/pre&gt;
    

&lt;p&gt;Then, change your declaration of connection to:&lt;/p&gt;

&lt;pre style=&#34;font-size:0.8em;&#34;&gt;connection = (HttpsURLConnection) url.openConnection(proxy);
&lt;/pre&gt;
    

&lt;p&gt;So, as long as your device is also running Orbot (Tor) you can do the same POST over Tor! &lt;/li&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use case: I have a web server that requires client authentification. How can I add a client certificate to the SSL context?&lt;/strong&gt;&lt;/p&gt;
To do this, you’re going to need to add a KeyManager to your SSLContext. As I stated before, getting your client auth key to your app users is up to you (bluetooth, NFC, sneakernet???) but once it’s in there, and visible to your app, install it by adding your own custom KeyManager. In my testing, I added this method below to the MyTrustManager class, simply because it already had access to my encrypted keystore. But you can ostensibly place this anywhere:&lt;/p&gt;

&lt;p&gt;&lt;pre style=&#34;font-size:0.8em;&#34;&gt;public X509KeyManager[] getKeyManagers(byte[] kBytes, String clientCertificatePassword, String keystorePassword) {
KeyManagerFactory kmf = null;
KeyManager[] km = null;
X509KeyManager[] xkm = null;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;try {
    kmf = KeyManagerFactory.getInstance(&amp;ldquo;X509&amp;rdquo;);&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;KeyStore xks = KeyStore.getInstance(&amp;quot;PKCS12&amp;quot;);

ByteArrayInputStream bais = new ByteArrayInputStream(kBytes);
xks.load(bais, keystorePassword.toCharArray());

kmf.init(xks, clientCertificatePassword.toCharArray());
km = kmf.getKeyManagers();
xkm = new X509KeyManager[km.length];

for(int x=0;x&amp;gt;km.length;x++) {
    X509KeyManager k = (X509KeyManager) km[x];
    xkm[x] = k;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;} catch (NoSuchAlgorithmException e) {
    Log.e(LOG, e.toString());
    e.printStackTrace();
} catch (UnrecoverableKeyException e) {
    Log.e(LOG, e.toString());
    e.printStackTrace();
} catch (KeyStoreException e) {
    Log.e(LOG, e.toString());
    e.printStackTrace();
} catch (IOException e) {
    Log.e(LOG, e.toString());
    e.printStackTrace();
} catch (CertificateException e) {
    Log.e(LOG, e.toString());
    e.printStackTrace();
}
return xkm;
}
&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Finally, when you instantiate your SSLContext for your POST request, include the returned value of the getKeyManager method as the KeyManager parameter. So, replace this line:

&amp;lt;pre style=&amp;quot;font-size:0.8em;&amp;quot;&amp;gt;ssl.init(null, new TrustManager[] {itm}, new SecureRandom());
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/pre&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;with this:

&amp;lt;pre style=&amp;quot;font-size:0.8em;&amp;quot;&amp;gt;X509KeyManager[] x509KeyManager = getKeyManager(kBytes, clientCertificatePassword, keystorePassword);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;ssl.init(x509KeyManager, new TrustManager[] {itm}, new SecureRandom());
&lt;/pre&gt;&lt;/ol&gt;&lt;/p&gt;

&lt;p&gt;That’s it! Good luck hacking, hackers…&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
</description>
    </item>
    
    <item>
      <title>Sometimes the best solution is a library, not an app</title>
      <link>https://guardianproject.info/2012/08/27/sometimes-the-best-solution-is-a-library-not-an-app/</link>
      <pubDate>Mon, 27 Aug 2012 12:30:15 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/08/27/sometimes-the-best-solution-is-a-library-not-an-app/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/08/framework_wheel.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/08/framework_wheel-150x150.png&#34; alt=&#34;&#34; title=&#34;thinking about frameworks&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-2792&#34; /&gt;&lt;/a&gt;Our general approach to software development starts with surveying existing solutions that are available and in use, to see if there is already enough of an ecosystem or whether we need to seed that. When there is already an adundance of tools and apps out there, we work to find the good ones, provide feedback and auditing, and then build apps and tools to fill in any gaps. For example, this was our approach in the Open Secure Telephony Network.&lt;/p&gt;

&lt;p&gt;When there is not an ecosystem around a given problem, then we aim to make it as easy as possible for people writing software to address the issues. In this case, we focus on making developer tools. For example, most of the data on our phones is easily accessible to someone who has physical access to the device, be it the secret police or a thief. IOCipher and SQLCipher-for-Android both provide tools to easily encrypt data, using APIs that are very familiar to anyone doing Android development. We specifically aim to take complex technical challenges and bundle them up into packages that allow developers to add functionality in a matter of hours or days rather than weeks or months.&lt;/p&gt;

&lt;p&gt;With the developer tools that Guardian Project is creating, the impact is not as overt as in other software development since they are largely invisible to the users if we have done our jobs right.&lt;/p&gt;

&lt;p&gt;In order for our developer projects to have a good impact, there are many different aspects that need to be covered. After assessing the current available tools to determine the general approach, the technical approach is chosen. This will influence the development time, the efficiency, and ease of use. As soon as the project is developed to a basic usable state, it is time to get feedback from willing testers to validate the techical approach. After more development and feedback, next comes documentation and beta releases. Once the project gets to a point where the releases and documentation are good enough for most people to figure out what they need, then we start evangelizing the tool and lobby the developers of existing software to adopt the new tool. As part of that, we also offer meetups and workshops for people to see demos, discuss ideas with us, get started, and learn best practices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some Current Projects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We already have a couple well known developer tools out there, like SQLCipher-for-Android and Orlib. We have many more in development. Here’s a quick overview:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Orlib is an Android library to make it very easy to include Orbot/Tor support in any app. Any app that uses orlib can transparently route all traffic through the Tor network without requiring that the device be rooted. It is a well established project that mostly needs more documentation, developer support, and evangelizing.&lt;/li&gt;
&lt;li&gt;SQLCipher is a custom version of the SQLite database that provides easy-to-use, flexible and robust encryption. Guardian Project created SQLCipher-for-Android, which mirrors the standard Android database API, so developers already know how to use it, and need only add support for handling the passwords.&lt;/li&gt;
&lt;li&gt;libsqlfs provides a complete virtual disk on top of a SQLCipher database. The virtual disk is encrypted and contained in a single file, which can be easily moved around, copied, shared, etc. It is a standard FUSE filesytem that can work on Android, GNU/Linux, and Mac OS X. libsqlfs is a pre-existing tool that was abandoned by its authors and has been adopted by the Guardian Project.&lt;/li&gt;
&lt;li&gt;IOCipher is a cousin to SQLCipher-for-Android: it provides virtual encrypted disks for Android apps without requiring the device to be rooted. It uses the standard Java API for working with files, so developers already know how to use it, and only need to handle the passwords and opening and closing the virtual disks. It is based on libsqlfs and SQLCipher.&lt;/li&gt;
&lt;li&gt;Gnu Privacy Guard (GnuPG) for Android brings the widespread standard in OpenPGP encryption to Android. GnuPG provides solid encryption for keeping emails and files private, and for verifying that emails and files are who you think they are. GnuPG is built-in to basically every GNU/Linux distro, in GPGTools for Mac OS X and Apple Mail, a plugin for Outlook and Thunderbird, etc. We are working to bring GnuPG to Android to make it the cornerstone of Android encryption like it is elsewhere.&lt;/li&gt;
&lt;li&gt;ffmpeg is a popular, widespread framework for transcoding and filtering digital videos. It has been essential to our apps ObscuraCam, InformaCam, and Murrow/StoryMaker. We want to now work to make it dead simple for developers to build their own apps on it. We are also extending it to provide a full framework for audio and image redaction, metadata management, and encryption of sensitive parts of the media. This will make it easy for media app developers to build in privacy to their own apps.&lt;/li&gt;
&lt;li&gt;Portable Shared Security Tokens (PSST) is our project to tackle the issues of digital identity and crypto key management. This is perhaps the most vexing issue facing deployment of secure mobile devices today. Public-key cryptography (HTTPS/SSL, OTR chat, PGP email, etc.) is a proven, powerful way to validate digital identity while keeping the contents private. Their cryptographic keys essentially become their proof of identity, and as such that identity must be portable across computing contexts (mobile devices, desktop environments, etc.). An interoperable standard and associated developer libraries needs to be developed to make possible a portable and secure solution for establishing one’s identity.&lt;/li&gt;
&lt;li&gt;Always Secure Messaging (“AweSoMe”) is a collaborative effort to build interoperable, open-source, secure messaging applications, that work from mobile to mobile, as well as mobile to web. In particular, the goal is to create an extremely usable and high quality experience, that simultaneously supports one-to-one and one-to-many (group) end-to-end secure messaging communications across multiple platforms.&lt;/li&gt;
&lt;li&gt;Bazaar provides the last piece of this puzzle: easy, secure and private distribution of software. Debian GNU/Linux has proven that decentralized software stores can work well. Google Play and the Apple App Store both provide excellent examples for how to make it easy to find and distribute apps, but are often blocked or not available in many parts of the world. Bazaar combines all of these ideas to provide a decentralized, peer-to-peer app store that makes it easy to find and distribute apps.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>From #HOPE9: Your Cell Phone Is Covered in Spiders! – Practical Android Security</title>
      <link>https://guardianproject.info/2012/07/19/from-#hope9-your-cell-phone-is-covered-in-spiders-practical-android-security/</link>
      <pubDate>Thu, 19 Jul 2012 14:53:21 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/07/19/from-#hope9-your-cell-phone-is-covered-in-spiders-practical-android-security/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://twitter.com/cooperq&#34;&gt;Cooperq&lt;/a&gt; gave a great talk on Android security late Saturday night at the recent &lt;a href=&#34;http://www.hopenumbernine.net/&#34;&gt;Hackers on Planet Earth Number 9 aka Hope9&lt;/a&gt; gathering. You can find the &lt;a href=&#34;https://github.com/cooperq/spiders&#34;&gt;slides/src on Github&lt;/a&gt; and &lt;a href=&#34;http://vimeo.com/46044290&#34;&gt;video up on Vimeo&lt;/a&gt;. Cooper wrote some notes, as well:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This talk was given at hope 9. Please feel free to give it yourself, repourpose it, add to it or do whatever you want. I release this talk to the public domain. I have included here some additional resources that are worth checking out.&lt;/p&gt;

&lt;h2 id=&#34;additional-resources&#34;&gt;Additional Resources&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.org/&#34;&gt;https://guardianproject.org&lt;/a&gt; – Awsome android devs creating the best security tools for android.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://encrypteverything.ca/index.php/Cell_phone_privacy_guide_%28Android%29&#34;&gt;https://encrypteverything.ca/index.php/Cell_phone_privacy_guide_%28Android%29&lt;/a&gt; – How to encrypt lots of things on android&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://forum.xda-developers.com/&#34;&gt;http://forum.xda-developers.com/&lt;/a&gt; – Very knowlegable android enthusiast and dev forum&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://developer.android.com/index.html&#34;&gt;http://developer.android.com/index.html&lt;/a&gt; – The Documentation&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://forensics.spreitzenbarth.de/&#34;&gt;http://forensics.spreitzenbarth.de/&lt;/a&gt; – Info on android malware&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://androidsecuritytest.com/features/logs-and-services/loggers/carrieriq/&#34;&gt;http://androidsecuritytest.com/features/logs-and-services/loggers/carrieriq/&lt;/a&gt; – Info on carrier IQ&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://groups.google.com/forum/?fromgroups#!forum/android-security-discuss&#34;&gt;https://groups.google.com/forum/?fromgroups#!forum/android-security-discuss&lt;/a&gt; – Android security google group&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Thanks Cooper and &lt;a href=&#34;http://hackbloc.org&#34;&gt;Hackbloc&lt;/a&gt; for all your support and feedback!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Threats and Usability of Secure Voice</title>
      <link>https://guardianproject.info/2012/07/10/threats-and-usability-of-secure-voice/</link>
      <pubDate>Tue, 10 Jul 2012 12:48:18 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/07/10/threats-and-usability-of-secure-voice/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;https://guardianproject.info/2012/07/05/a-network-analysis-of-encrypted-voice-over-ostn/&#34;&gt;previous post&lt;/a&gt; I found that end-to-end encryption with OSTN is both effective and usable. There are two important things the user must be aware of when using OSTN. They must confirm with each phone call that the encryption icon is present and  they must correctly complete SAS verification dialog boxes. So on a basic level, encrypted voice just works. But, what does this all mean? This post looks at the threats to security and usability of encrypted ZRTP phone calls in CSipSimple.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usable Security&lt;/strong&gt;&lt;br /&gt;
Crypto wizards have created and refined algorithms that bring strong encryption to the everyday user. Yet, more often then not, security is compromised through user error. This is a usability problem. Information security is abstract and the practicalities of the real world demand that encryption software ‘just works’ for the average user. It is more dangerous for a user to be unaware of a loss of encryption then that they fail to get it working. Government P25 handheld radios were found to have such poor usability for encryption that a &lt;a href=&#34;http://www.crypto.com/blog/p25&#34;&gt;research team&lt;/a&gt; found many government agents accidentally transmitting sensitive information in the clear. ZRTP and CSipSimple’s implementation fair much better however.&lt;/p&gt;

&lt;div id=&#34;attachment_2606&#34; style=&#34;width: 283px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/whitdiff.jpg&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2606&#34; class=&#34;wp-image-2606 &#34; title=&#34;whitdiff&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/whitdiff-300x244.jpg&#34; alt=&#34;Whit Diffie&#34; width=&#34;273&#34; height=&#34;222&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/07/whitdiff-300x244.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/07/whitdiff.jpg 528w&#34; sizes=&#34;(max-width: 273px) 100vw, 273px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2606&#34; class=&#34;wp-caption-text&#34;&gt;
    Whitfield Diffie is pioneer of modern cryptography
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_2612&#34; style=&#34;width: 250px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/gandalf22.jpg&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2612&#34; class=&#34; wp-image-2612&#34; title=&#34;gandalf&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/gandalf22-300x283.jpg&#34; alt=&#34;Gandalf&#34; width=&#34;240&#34; height=&#34;226&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/07/gandalf22-300x283.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/07/gandalf22.jpg 546w&#34; sizes=&#34;(max-width: 240px) 100vw, 240px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2612&#34; class=&#34;wp-caption-text&#34;&gt;
    Whit and Gandalf fight evil with magic abilities gained by pouring through dusty tomes full of obscure symbols. (Borrowed from this excellent &lt;a href=&#34;http://www.subspacefield.org/security/math_rules_cyberspace_20120421/math_rules_cyberspace_20120421.pdf&#34;&gt;Math Rules Cyberspace&lt;/a&gt; presentation)
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Although not required for the average user, its good to have a basic background of cryptography. This is not an full introduction, but it will provide some background on ZRTP and the importance of authentication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ZRTP, Authentication, PKI&lt;/strong&gt;&lt;br /&gt;
Most usability issues with encrypted communications deals with Public-Key-Infrastructure or PKI. Public Key Infrastructure is how we verify the identity of each participant in a communication channel. Verifying the identity of the other party is important to prevent &lt;a href=&#34;https://en.wikipedia.org/wiki/Man-in-the-middle_attack&#34;&gt;Man-In-The-Middle-Attacks&lt;/a&gt;. These attacks allow an attacker the opportunity to eavesdrop. PKI is a crucial point to understand in almost all encryption schemes. It inherently effects how the encrypted communication medium will be used.&lt;/p&gt;

&lt;p&gt;Basically, to use encryption, both users must exchange secret keys without transmitting them in the clear. This is a bootstrapping problem, exchanging keys safely requires both users to already have exchanged keys! Public key cryptography has solved the problem of needing to secretly exchange keys in advance. Rather, a user can exchange public keys that don’t require secrecy. These keys can be published to the world. The issue is then whether or not the public key is &lt;strong&gt;authentic&lt;/strong&gt;. How does one user know that they received the right public key and not the public key of an attacker attempting a MITM attack?&lt;/p&gt;

&lt;p&gt;Different communities have different approaches to PKI. Smaller distributed technical communities have long relied on the web-of-trust model supported by &lt;a href=&#34;https://en.wikipedia.org/wiki/Pretty_Good_Privacy&#34;&gt;PGP&lt;/a&gt;. This was the first widely available open-source software that provided strong cryptography to everyone. It was created by Phil Zimmerman who also created ZRTP to encrypt voice.  Its work flow, while fine for some, has precluded its widespread adoption outside of the tech community.&lt;/p&gt;

&lt;p&gt;Websites rely on a Certificate Authorities to make encryption transparent for the user.  It does not require the user to make manual trust decisions and ‘just works’. However, it never obtained the goal of strong end-to-end encryption the way PGP has because it relies on the trust of centralized authorities that have proven time and time again to not be trustworthy. The future of SSL is a heavily researched area. For some approaches to this issue I’d personally suggest looking into &lt;a href=&#34;https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions&#34;&gt;DNSSEC&lt;/a&gt;, &lt;a href=&#34;http://blog.thoughtcrime.org/ssl-and-the-future-of-authenticity&#34;&gt;Convergence&lt;/a&gt;, and this &lt;a href=&#34;http://events.ccc.de/congress/2010/Fahrplan/events/4295.en.html&#34;&gt;talk&lt;/a&gt; from Dan J. Bernstein, a cryptographer and professor at the University of Illinois. &lt;a href=&#34;https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=Z7Wl2FW2TcA&#34;&gt;This talk&lt;/a&gt; by Moxie Marlinspike at Blackhat 2011 is great, it introduces Convergence and provides an interesting dialogue on the SSL issue.&lt;/p&gt;

&lt;p&gt;Modern cryptographic protocols such as OTR(instant messaging) and ZRTP(voice) have come a long way in providing easy to use end-to-end encryption. They are open standards that strike a great balance between usability and security. They both have adopted to the TOFU POP model (Trust on First Use- Persistence of Pseudonym).  This is similar to what SSH does: when you first connect to the server you are asked if you want to save and trust the server’s public key. ZRTP takes it a step farther and &lt;strong&gt;verifies&lt;/strong&gt; the other party’s identity on first use.  A commitment protocol is used that requires the users to discuss whether they both are viewing the same string of text in a dialog box. This guarantees that the person you hear on the other end of the phone is the actual person your talking to.&lt;/p&gt;

&lt;p&gt;This is great because by saving the public key and trusting it an attacker can no longer pretend to represent someone else’s key. This relies on the first conversation not being actively attacked. The commitment protocol strengthens this by making sure that the first time you trust a key, you actually have a way to verify it. This solves the issue of MITM attacks!&lt;/p&gt;

&lt;p&gt;If all this doesn’t make sense, that is OK, you don’t actually have to understand cryptography to use OSTN. You just need to understand what it provides you (Confidentiality!). More information about authentication and verification was written in a great &lt;a href=&#34;https://guardianproject.info/2012/03/19/on-verifying-identity-using-cryptography/&#34;&gt;post by Hans&lt;/a&gt;. Guardian also has a great research project called &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34;&gt;PSST&lt;/a&gt; that is actively solving verification problems like this across multiple platforms and communication schemes.&lt;/p&gt;

&lt;p&gt;Below are the threats to the current ZRTP implementation in CSipSimple from both the user’s perspective and attacker’s perspective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Threats&lt;/strong&gt;&lt;br /&gt;
ZRTP is great in this regard. It is one of the most user friendly ways to enable verified end-to-end encryption. This said, there are two concepts that a user should understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Verification:&lt;/strong&gt; The first time you call someone with ZRTP a dialog box is displayed that asks both users to confirm that they see the same SAS (Short Authentication String). Once confirmed this identity will persist within your OSTN account and when you call the same person this dialog will not appear. If your conversation is not verified it is possible that the call is susceptible to a certain kind of attack (MITM) that allows someone to listen to your phone call. As seen in the pictures above it is easy to tell if your phone call is encrypted but not if it is verified. It is up to the user to make sure they pay attention to the SAS dialog at the beginning of a conversation. Key’s are remembered after first verification so lack of a SAS box indicates the user’s have both hit OK on a previous SAS box.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Opportunistic Encryption: &lt;/strong&gt;This means that encryption is only attempted, but not forced. If you have encryption on, but you happen to talk to a friend who has managed to turn it off, then your call will silently remain unencrypted.  Since encryption can not be forced, a user must not  expect to be encrypted but rather check their phone at the beginning of every call to be sure. This is how opportunistic encryption should work, but it would be easy for a user to assume otherwise. Don’t do it!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Adversarial Threats&lt;/strong&gt;&lt;br /&gt;
Currently, I see two opportunities for attackers that are related to the same two usability concerns listed above.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MITM: &lt;/strong&gt;I mentioned before that unverified conversations are susceptible to eavesdropping. This is solved by verifying each conversation by sharing a 4 letter code before starting a conversation. You must actually cancel or ignore the SAS dialog for this to happen. Don’t!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Force clear-voice communication:&lt;/strong&gt; Opportunistic encryption presents a more interesting problem. It is possible for someone to selectively block a ZRTP negotiation packets. This would force two users to start a conversation in clear-voice despite both setting their accounts to use ZRTP. It would be obvious to the user if they check for the lock icon, but friends who frequently communicate with OSTN might forget to check each time. This could be prevented by having a setting to force encryption. In this case the call would simply fail. In Wireshark, I was clearly able to distinguish the ZRTP negotiation packets. An attacker who can filter your traffic on the application layer can perform this attack. ISPs, Governments, and adversaries on your LAN may reasonably be in a position to do this.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The MITM attack can be mitigated with verification. The selective blocking of ZRTP packets can not be avoided (because ZRTP can’t stop censorship) but the consequences can be mitigated by paying attention to when your calls are encrypted.&lt;/p&gt;

&lt;p&gt;**Improving ZRTP usability&lt;br /&gt;
**&lt;br /&gt;
Given the threats listed above, I see a couple things that would increase usability and prevent accidental misunderstandings by the user.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Forced ZRTP Encryption&lt;/strong&gt;: ZRTP in CSipSimple has two modes: off or opportunistic. I would propose changing these options to &lt;strong&gt;ZRTP Off, Attempt ZRTP&lt;/strong&gt;, and &lt;strong&gt;Force ZRTP&lt;/strong&gt;. Force ZRTP would provide a huge security benefit to accounts in CSipSimple that you would always expect to use encryption with.OSTN would of course be the ideal example here.&lt;/li&gt;
&lt;/ul&gt;

&lt;div id=&#34;attachment_2621&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/zrtpoptions.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2621&#34; class=&#34;size-medium wp-image-2621&#34; title=&#34;zrtpoptions&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/zrtpoptions-300x240.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;240&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/07/zrtpoptions-300x240.png 300w, https://guardianproject.info/wp-content/uploads/2012/07/zrtpoptions.png 447w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2621&#34; class=&#34;wp-caption-text&#34;&gt;
    Current ZRTP options in CSipSimple
  &lt;/p&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Verification Status:&lt;/strong&gt; Currently you can tell when your conversation is ZRTP encrypted by the lock icon. This is great because this allows the user to avoid problems with opportunistic encryption or a downgrade attack. It would make sense to allow the user to see whether their call has also been authenticated correctly. Feedback might encourage users to continue to correctly use the SAS function.&lt;/li&gt;
&lt;/ul&gt;

&lt;div id=&#34;attachment_2622&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/lockicon.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2622&#34; class=&#34;size-medium wp-image-2622&#34; title=&#34;lockicon&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/lockicon-300x298.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;298&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/07/lockicon-300x298.png 300w, https://guardianproject.info/wp-content/uploads/2012/07/lockicon-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2012/07/lockicon.png 350w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2622&#34; class=&#34;wp-caption-text&#34;&gt;
    This means your OSTN call is encrypted. It would be useful if it displayed the verification status of the caller as well.
  &lt;/p&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Verification Options: &lt;/strong&gt;Currently when verifying an identity the user is displayed with the SAS. They have the option to press ‘OK’ or ‘Cancel’. Cancel effectively ignores this step, OK means that the SAS has been verified. This is non-intuitive. I would propose simply having three options: &lt;strong&gt;Verify, Ignore, Reject. &lt;/strong&gt;The current function of OK is mapped to Verify, Cancel is mapped to Ignore, and Reject ends the phone conversation in situations in which the SAS doesn’t match.&lt;/li&gt;
&lt;/ul&gt;

&lt;div id=&#34;attachment_2623&#34; style=&#34;width: 310px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/sasbox.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2623&#34; class=&#34;size-medium wp-image-2623&#34; title=&#34;sasbox&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/07/sasbox-300x199.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;199&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/07/sasbox-300x199.png 300w, https://guardianproject.info/wp-content/uploads/2012/07/sasbox.png 447w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2623&#34; class=&#34;wp-caption-text&#34;&gt;
    Suggested improvement would present “Verify, Ignore, and Reject” as options to the user
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Wrapping up&lt;/strong&gt;&lt;br /&gt;
It should be noted that I pick on CSipSimple over the other clients because it is both great software and the recommended client to use with OSTN. It is still considered experimental software and requires the nightly release for OSTN support. Other clients may suffer from these ZRTP usability issues as well. The good thing is that by simply implementing a working ZRTP client you should have most of the protocol benefits thanks to its simple and elegant design. The recommendations I make here should applicable across all ZRTP implementations. A future comparison of of these implementations may be in order.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>A Network Analysis of Encrypted Voice over OSTN</title>
      <link>https://guardianproject.info/2012/07/05/a-network-analysis-of-encrypted-voice-over-ostn/</link>
      <pubDate>Thu, 05 Jul 2012 14:23:50 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/07/05/a-network-analysis-of-encrypted-voice-over-ostn/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction to OSTN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;OSTN&lt;/a&gt; network stands for Open Source Telephony Network. It is a federated network standard for supporting Internet calling with end-to-end encryption ala ZRTP. Its very similar to e-mail in that VOIP calls can be routed to addresses such as &amp;#x75;&amp;#x73;&amp;#x65;&amp;#x72;@doma&amp;#x69;&amp;#x6e;&amp;#x2e;&amp;#x74;ld. Its a simple concept, but I believe it to be ground breaking implementation! Never before have I seen such an accessible solution to encrypted VOIP calls. OSTN is platform independent, is a federated network, and it is an open standard such that it is widely adoptable. There are two main components that are required to use OSTN with encryption: a VOIP client that supports ZRTP for end-to-end encryption and user account with an OSTN provider.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OSTEL is the first working OSTN provider. Sign up for an account at &lt;a href=&#34;https://ostel.me/&#34; title=&#34;ostel.me&#34;&gt;ostel.me&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;CSipSimple is the recommended VOIP client for use with OSTN. It has a built in  profile for OSTN accounts and supports ZRTP. You must use the &lt;a href=&#34;http://nightlies.csipsimple.com/trunk/&#34;&gt;nightly build&lt;/a&gt;! This is the latest version and requires that you allow outside applications on Android by checking the Settings&amp;gt;Applications&amp;gt;’Unknown sources’ box. Information on setting it up for your Android device can be found on &lt;a href=&#34;https://guardianproject.info/wiki/Ostel&#34; title=&#34;our wiki&#34;&gt;our wiki&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While this post focuses on using OSTN with the recommended CSipSimple software, the concepts extend to all OSTN platforms. Check out &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;the project page&lt;/a&gt; for more info on alternative clients.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Looking at Encrypted VOIP with Wireshark&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traffic dumps of an OSTN call and a ZRTP encrypted OSTN call were logged and analyzed in Wireshark for comparison. This is how someone between you and your caller would see your VOIP traffic. I was looking for three things in this audit&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Confirm encryption was working in conjunction with what a user would logically expect&lt;/li&gt;
&lt;li&gt;Demonstrate how easy it is to capture and view non-encrypted VOIP&lt;/li&gt;
&lt;li&gt;Identify threats what types of security ZRTP provides&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I can confirm that the encryption works as expected. The traffic logs of both phone calls can be found at the end of this post. First, here is a look at a normal non-encrypted phone call over OSTN with CSipSimple and secure call.&lt;/p&gt;

&lt;div id=&#34;attachment_2466&#34; style=&#34;width: 246px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/uncrypt.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2466&#34; class=&#34; wp-image-2466&#34; title=&#34;Non-secure VOIP&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/uncrypt.png&#34; alt=&#34;&#34; width=&#34;236&#34; height=&#34;360&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2466&#34; class=&#34;wp-caption-text&#34;&gt;
    Cleartext phone calls are noted by absence of ZRTP overlay.
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_2467&#34; style=&#34;width: 246px&#34; class=&#34;wp-caption alignright&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/ostncall-encrypted.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2467&#34; class=&#34; wp-image-2467&#34; title=&#34;Secure VOIP&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/ostncall-encrypted.png&#34; alt=&#34;&#34; width=&#34;236&#34; height=&#34;360&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2467&#34; class=&#34;wp-caption-text&#34;&gt;
    ZRTP Enabled phone calls are indicated by lock icon
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;It is quite clear to the user that ZTRP has been enabled by the lock icon that appears in both phones.  Traffic logging has also confirmed that when you see the lock icon, ZRTP has successfully been set up and is being used. So far, so good. Make sure you see the lock sign if you are expecting to be talking on a secure conversation.&lt;/p&gt;

&lt;p&gt;CSipSimple uses &lt;strong&gt;opportunistic&lt;/strong&gt; ZRTP encryption that is enabled by default for OSTN accounts with CSipSimple. This means that all calls will begin without encryption and then send ‘ZRTP Hello’ packets to let each host know that a ZRTP conversation can begin. From here ZRTP negotiates a secure connection and then transfers the conversation to encrypted voice. Here are two pictures from Wireshark showing the very beginning of a (ZRTP enabled) OSTN phone call and where the encryption actually switches on. The SRTP protocol indicates that you are using encrypted voice. ZRTP simply defines the negotiation process for SRTP. This is not a minor thing however, it is because of this that ZRTP can provide end-to-end encryption. End-to-end encryption prevents a third-party from eavesdropping and possibly passing information on to higher authorities.&lt;/p&gt;

&lt;div id=&#34;attachment_2474&#34; style=&#34;width: 709px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/zrtpstart.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2474&#34; class=&#34;size-full wp-image-2474 &#34; title=&#34;zrtpstart&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/zrtpstart.png&#34; alt=&#34;&#34; width=&#34;699&#34; height=&#34;97&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/06/zrtpstart.png 699w, https://guardianproject.info/wp-content/uploads/2012/06/zrtpstart-300x41.png 300w&#34; sizes=&#34;(max-width: 699px) 100vw, 699px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2474&#34; class=&#34;wp-caption-text&#34;&gt;
    First UDP packets of an ZRTP enabled phone call. ZTRP Hello is sent out at the same time as the first RTP packet.
  &lt;/p&gt;
&lt;/div&gt;

&lt;div id=&#34;attachment_2475&#34; style=&#34;width: 709px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/zrtpswitch.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2475&#34; class=&#34;size-full wp-image-2475 &#34; title=&#34;zrtpswitch&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/zrtpswitch.png&#34; alt=&#34;&#34; width=&#34;699&#34; height=&#34;82&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/06/zrtpswitch.png 699w, https://guardianproject.info/wp-content/uploads/2012/06/zrtpswitch-300x35.png 300w&#34; sizes=&#34;(max-width: 699px) 100vw, 699px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2475&#34; class=&#34;wp-caption-text&#34;&gt;
    Successful ZRTP hand-off. Connection switches from normal RTP to encrypted RTP here.
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The important part to notice here is that the hand-off is fast. Comparing the times of the first RTP packet to the first encrypted packet takes about 1.5 seconds. Multiple traffic logs confirmed that this is a consistent number. This means that if you immediately start talking during the start of an encrypted phone it is possible for some of your voice to be transmitted clear-text. I attempted to record this section by talking in the very beginning of a call and extracting voice. I wasn’t successful, but I wouldn’t discount that you will release some clear voice audio at the beginning of a conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What ZRTP Guarantees&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, things look good with OSTN calls. ZRTP is enabled by default on all OSTN accounts with CSipSimple and it uses opportunistic encryption. Also, it is very easy for the user to tell that their call has been successfully encrypted. Great! What does this mean for the user? When correctly using ZRTP, a user can expect that their phone calls are fully &lt;strong&gt;confidential&lt;/strong&gt;. No third party can intercept, listen, or mangle your phone call. This includes your OSTN provider of course.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What ZRTP Doesn’t Guarantee&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ZRTP does not stop&lt;strong&gt; censorship &lt;/strong&gt; or provide &lt;strong&gt;anonymity.  &lt;/strong&gt;This is something Orbot might be able to help with one day. Currently, the latency of the Tor network prevents real-time protocols from working. The current best solution would be to use a VPN provider to tunnel ZRTP traffic. However, now that VOIP is illegal in many countries it is not recommended that anyone trust this solution until a tested and verified method is published.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using end-to-end voice encryption has never been this easy! This analysis confirmed that OSTN works quite well in practice. There are two things the user should do to ensure secure communication: make sure to read and confirm the verification dialog boxes and check to make sure your calls have the lock icon when you are counting on them to be encrypted. Just like that, you too can be a &lt;a href=&#34;https://en.wikipedia.org/wiki/Cypherpunk&#34;&gt;cypherpunk&lt;/a&gt; (or just someone with a reasonable expectation of privacy!). Like Phil Zimmerman, the creator of ZRTP,  has said: “[OSTN] lets you whisper in someone’s ear a thousand miles away” Check back for our upcoming post which will look in more detail at the threat model of an OSTN phone call.&lt;/p&gt;

&lt;p&gt;You can download the traffic log of a encrypted and unencrypted OSTN call &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/07/ostnlogs.zip&#34;&gt;here&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Our Research</title>
      <link>https://guardianproject.info/2012/07/03/our-research/</link>
      <pubDate>Tue, 03 Jul 2012 11:48:40 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/07/03/our-research/</guid>
      <description>

&lt;p&gt;You can track our latest work on our public research wiki located at &lt;a href=&#34;https://guardianproject.info/wiki&#34;&gt;https://guardianproject.info/wiki&lt;/a&gt; or through the links below.&lt;/p&gt;

&lt;h2 id=&#34;events&#34;&gt;EVENTS&lt;/h2&gt;

&lt;p&gt;Head to the &lt;a href=&#34;https://guardianproject.info/wiki/Events&#34; rel=&#34;nofollow&#34;&gt;Events&lt;/a&gt; page for a full list of past and future events that we&amp;rsquo;ll be attending or featured at.&lt;/p&gt;

&lt;h2 id=&#34;research-development&#34;&gt;RESEARCH &amp;amp; DEVELOPMENT&lt;/h2&gt;

&lt;p&gt;In addition to our open software development projects, we&amp;rsquo;re actively engaged in a number of research projects focused on critical unsolved mobile security problems. Solving these problems with freely available, open source software has the potential to greatly benefit activists, human rights defenders and journalists worldwide.&lt;/p&gt;

&lt;h3 id=&#34;network-circumvention-anonymity&#34;&gt;NETWORK CIRCUMVENTION &amp;amp; ANONYMITY&lt;/h3&gt;

&lt;p&gt;Work we are doing on libaries, engines, daemons, proxies and other mechanisms for doing useful, creative things to network traffic. &lt;a href=&#34;https://guardianproject.info/wiki/orbot&#34; rel=&#34;nofollow&#34;&gt;Orbot Project Page&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;secure-mobile-messaging&#34;&gt;SECURE MOBILE MESSAGING&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Secure_Mobile_Messaging&#34; title=&#34;Secure Mobile Messaging&#34;&gt;Secure Mobile Messaging&lt;/a&gt; - defining the standards, protocols, and user expectations to provide true message communication security, safety and reliability&lt;/p&gt;

&lt;h3 id=&#34;secure-smart-cam-ssc&#34;&gt;SECURE SMART CAM (SSC)&lt;/h3&gt;

&lt;p&gt;We are developing a secure camera application named ObscuraCam in partnership with Witness.org, the leading human rights video advocacy and training organization. &lt;a href=&#34;https://guardianproject.info/wiki/SSC&#34; rel=&#34;nofollow&#34;&gt;SSC Project Page&lt;/a&gt; | &lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam/&#34; rel=&#34;nofollow&#34;&gt;Github Source Repo&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;portable-shared-security-tokens-psst&#34;&gt;PORTABLE SHARED SECURITY TOKENS (PSST)&lt;/h3&gt;

&lt;p&gt;Goal: Research and deploy prototypes of &amp;ldquo;portable shared security tokens&amp;rdquo; permitting easily shared identities across mobile handsets and desktops. &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34; rel=&#34;nofollow&#34;&gt;PSST Project Page&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;open-secure-telephony-network-ostn&#34;&gt;OPEN SECURE TELEPHONY NETWORK (OSTN)&lt;/h3&gt;

&lt;p&gt;Goal: Research secure voice-over-IP (VoIP) solutions and develop an open source &amp;ldquo;secure phone&amp;rdquo; prototype, including handset backend server(s). &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34; rel=&#34;nofollow&#34;&gt;OSTN Project Page&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;commotion-olsr-mobile-mesh&#34;&gt;COMMOTION OLSR MOBILE MESH&lt;/h3&gt;

&lt;p&gt;Goal: Build an simple app to enable OLSR mesh on Android devices and research how to make GUIs for other operating systems. &lt;a href=&#34;https://guardianproject.info/wiki/OLSR-GUI&#34; rel=&#34;nofollow&#34;&gt;Commotion OLSR-GUI Project Page&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;application-auditing&#34;&gt;APPLICATION AUDITING&lt;/h3&gt;

&lt;p&gt;Often we go back and audit our own and other applications to ensure proper functioning or provide statistics. This page enumerates those results. &lt;a href=&#34;https://guardianproject.info/wiki/Application_Auditing&#34; rel=&#34;nofollow&#34;&gt;Application Auditing&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;community-dev-to-do-s&#34;&gt;COMMUNITY DEV TO-DO&amp;rsquo;S&lt;/h3&gt;

&lt;p&gt;Beyond our active development projects, there is an entire pantheon of ideas, dreams, visions, schemes, features and bugs to work on. This is where we track that list. If you have any questions, please find us on email, irc or Twitter. &lt;a href=&#34;https://guardianproject.info/wiki/Dev_to-do&#34; title=&#34;Dev to-do&#34;&gt;dev to-do&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;tips-tricks-other-miscellaneous-documentation&#34;&gt;TIPS, TRICKS &amp;amp; OTHER MISCELLANEOUS DOCUMENTATION&lt;/h2&gt;

&lt;p&gt;The place where we try to share any and all information we&amp;rsquo;ve learned while using and customizing our mobile devices for privacy and security. This includes topics as diverse as device rooting guides or battery saving techniques. We encourage suggestions or additions from the community - please contribute freely!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/The_Big_List_of_Apps_and_Links&#34; title=&#34;The Big List of Apps and Links&#34;&gt;The Big List of Apps and Links&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Android_Security_App_User_Guide&#34; title=&#34;Android Security App User Guide&#34;&gt;Android Security App User Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Tips_on_Maximizing_Battery_Life_on_Android_Phones_in_the_Field&#34; title=&#34;Tips on Maximizing Battery Life on Android Phones in the Field&#34;&gt;Tips on Maximizing Battery Life on Android Phones in the Field&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Network_Proxying_on_Android&#34; title=&#34;Network Proxying on Android&#34;&gt;Network Proxying on Android&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Device_Rooting_Guides&#34; title=&#34;Device Rooting Guides&#34;&gt;Device Rooting Guides&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Safer_Mobile_Guide&#34; title=&#34;Safer Mobile Guide&#34;&gt;Safer Mobile Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Android_getprop_collection&#34; title=&#34;Android getprop collection&#34;&gt;Android getprop collection&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Guardian_Overview_Slides&#34; title=&#34;Guardian Overview Slides&#34;&gt;Guardian Overview Slides&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Freebird Flys High</title>
      <link>https://guardianproject.info/2012/06/28/freebird-flys-high/</link>
      <pubDate>Thu, 28 Jun 2012 11:59:38 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/06/28/freebird-flys-high/</guid>
      <description>&lt;div style=&#34;width: 620px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KmZyZWViaXJkZ3JvdXAuanBnKjk3NjQzMjVmMmJlZDAzMjliZDQ3MzhiY2Q0MzQyNjdi&#34;&gt;&lt;img src=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KmZyZWViaXJkZ3JvdXAuanBnKjk3NjQzMjVmMmJlZDAzMjliZDQ3MzhiY2Q0MzQyNjdi&#34; alt=&#34;&#34; width=&#34;610&#34; height=&#34;458&#34; /&gt;&lt;/a&gt;
  
  &lt;p class=&#34;wp-caption-text&#34;&gt;
    Freebird: Rio group picture via Obscuracam for Android
  &lt;/p&gt;
&lt;/div&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;p style=&#34;text-align: left;&#34;&gt;
    What happens when you gather coders with privacy and security activists from around the world? &lt;a title=&#34;freebird&#34; href=&#34;https://guardianproject.info/freebird/&#34; target=&#34;_blank&#34;&gt;Freebird&lt;/a&gt;!
  &lt;/p&gt;
  

&lt;p&gt;&lt;p style=&#34;text-align: left;&#34;&gt;
    We held a simultaneous event in NYC and Rio, a one-day &lt;a title=&#34;barcamp&#34; href=&#34;http://barcamp.org/&#34; target=&#34;_blank&#34;&gt;barcamp&lt;/a&gt; aimed to empower users to be more informed and engaged around their use of mobile technology, while engaging with developers to promote interest in open-source tools, security and privacy. Freebird was a pre-event for &lt;a title=&#34;rightscon&#34; href=&#34;https://www.rightscon.org/&#34; target=&#34;_blank&#34;&gt;RightsCon:Rio&lt;/a&gt;, which allowed us to continue and extend conversations and ideas into the larger context of information technologies and human rights. &lt;strong&gt; &lt;/strong&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;text-align: left;&#34;&gt;
    The camp was roughly split into two tracks, USING and MAKING:
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
    &lt;li&gt;
      USING:  involved expanding mobile users’ understanding of how their phone works, or is working against them, and enabling them to replace the built-in software with more open or secure versions.
    &lt;/li&gt;
    &lt;li&gt;
      MAKING:  focused on creating new or porting existing security software to mobile platforms, discussion of mobile threat models, and use of mobile technology to assist rights defenders, journalists, and activists.
    &lt;/li&gt;
  &lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    &lt;div style=&#34;width: 514px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
      &lt;a href=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KlAxMDMwNzUzLkpQRyo0OTQxMjMwODdjMDlhMmY2NTkwOGNkNGRlMTVjZDFjZQ&#34;&gt;&lt;img class=&#34;&#34; src=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KlAxMDMwNzUzLkpQRyo0OTQxMjMwODdjMDlhMmY2NTkwOGNkNGRlMTVjZDFjZQ&#34; alt=&#34;&#34; width=&#34;504&#34; height=&#34;360&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  &amp;lt;p class=&amp;quot;wp-caption-text&amp;quot;&amp;gt;
    Lee of Guardian walks through the design of the Open Secure Telephony Network
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    It was a great event with some fantastic discussions and opportunities for new tech and collaborations. Want to re-live the magic? You can check out &lt;a title=&#34;rio&#34; href=&#34;https://guardianproject.info/events/freebird2012rio/&#34; target=&#34;_blank&#34;&gt;the pics from Rio &lt;/a&gt;and the &lt;a title=&#34;rio storify&#34; href=&#34;https://storify.com/mbelinsky/freebird-rio&#34; target=&#34;_blank&#34;&gt;Storify from the event&lt;/a&gt;, as well as the &lt;a title=&#34;nyc storify&#34; href=&#34;https://storify.com/mbelinsky/freebirdcamp&#34; target=&#34;_blank&#34;&gt;Storify from the NYC event&lt;/a&gt;. Also, be sure to check out Brendon O’Brien’s post on the event, &lt;a href=&#34;http://activized.wordpress.com/2012/06/20/making-privacy-issues-public/&#34;&gt;Making Privacy Issues Public&lt;/a&gt;. From the discussions, it seemed as if there’s still quite a bit of learning that the community has to do about how phones function and all the dangers and complications therein. At the same time, there was a lot of passion and creativity for how to combat invasive tools and better methods of disseminating this type of knowledge and conversation.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;div style=&#34;width: 299px&#34; class=&#34;wp-caption alignnone&#34;&gt;
    &lt;a href=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KlAxMDMwNzM3LkpQRypiOTQ4NzFlN2Q0ZTdjYTA0ODIwZmZmMjI4MTE2YTNiOQ&#34;&gt;&lt;img src=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KlAxMDMwNzM3LkpQRypiOTQ4NzFlN2Q0ZTdjYTA0ODIwZmZmMjI4MTE2YTNiOQ&#34; alt=&#34;&#34; width=&#34;289&#34; height=&#34;432&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p class=&amp;quot;wp-caption-text&amp;quot;&amp;gt;
  &amp;lt;a href=&amp;quot;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;amp;sfpg=KlAxMDMwNzMzLkpQRyphMDliZThiNDdlMjk0ZjA3ZDliNDI5MzY2MjdkMzQ2OA&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;&amp;quot; src=&amp;quot;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;amp;sfpg=KlAxMDMwNzMzLkpQRyphMDliZThiNDdlMjk0ZjA3ZDliNDI5MzY2MjdkMzQ2OA&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;432&amp;quot; height=&amp;quot;289&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; The collaborative “mosh pit” brainstorm helped guide the discussions for the day
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    None of this would have been possible without our partners: Freebird was funded by &lt;a href=&#34;http://openitp.org/&#34;&gt;OpenITP&lt;/a&gt;, and facilitated by &lt;a title=&#34;aspiration tech&#34; href=&#34;http://aspirationtech.org/&#34; target=&#34;_blank&#34;&gt;Aspiration Tech&lt;/a&gt;, noted open-source advocates and facilitators. Special guests  included developers from &lt;a title=&#34;http://zetetic.net/&#34; href=&#34;http://zetetic.net/&#34; target=&#34;_blank&#34;&gt;Zetetic&lt;/a&gt; (SQLCipher), &lt;a title=&#34;tor anonymity&#34; href=&#34;https://www.torproject.org/&#34; target=&#34;_blank&#34;&gt;the Tor Project&lt;/a&gt;, the &lt;a href=&#34;http://oti.newamerica.net/commotion_wireless_0/&#34; target=&#34;_blank&#34;&gt;Commotion&lt;/a&gt; project, and a number of prominent human rights and activists organizations. Thanks to all these great organizations and everyone else who attended.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;div style=&#34;width: 442px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
    &lt;a href=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KlAxMDMwNzY2LkpQRyo4ZGZkZjk5MDZkNTk0YzM1OWJjODMwMzYyOGMyMmZkMA&#34;&gt;&lt;img class=&#34;&#34; src=&#34;https://guardianproject.info/events/freebird2012rio/index.php?cmd=image&amp;sfpg=KlAxMDMwNzY2LkpQRyo4ZGZkZjk5MDZkNTk0YzM1OWJjODMwMzYyOGMyMmZkMA&#34; alt=&#34;&#34; width=&#34;432&#34; height=&#34;289&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p class=&amp;quot;wp-caption-text&amp;quot;&amp;gt;
  Harlo of Guardian walks through the InformaCam sensor capture code and metadata formats
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    Some of our favorite twitter coverage from the event:
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;
    &lt;p&gt;
      Encantada de conocer a desarrolladores de Thor, profesores universitarios, directivos del Free Bird project &lt;a href=&#34;https://twitter.com/search/%2523freebird2012&#34;&gt;#freebird2012&lt;/a&gt; — Elaine Díaz(@elainediaz2003) &lt;a href=&#34;https://twitter.com/elainediaz2003/status/207830610247548928&#34;&gt;May 30, 2012&lt;/a&gt; &lt;em&gt;&lt;/em&gt; &lt;em&gt;“Nice to meet Tor developers, academics, project managers ‪ Free Bird # freebird2012”&lt;/em&gt;
    &lt;/p&gt;
  &lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet tw-align-center&#34;&gt;
    &lt;p&gt;
      What’s the pyramid of mobile security?&lt;a href=&#34;https://twitter.com/search/%2523FreebirdCamp&#34;&gt;#FreebirdCamp&lt;/a&gt;@ ITP &lt;a title=&#34;http://instagr.am/p/LQyJuisGyl/&#34; href=&#34;http://t.co/iYWX49z0&#34;&gt;instagr.am/p/LQyJuisGyl/&lt;/a&gt; — noel hidalgo, frsa (@noneck) &lt;a href=&#34;https://twitter.com/noneck/status/207914569245523970&#34;&gt;May 30, 2012&lt;/a&gt;
    &lt;/p&gt;
  &lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet tw-align-center&#34;&gt;
    &lt;p&gt;
      The Guardian Project’s Freebird event was absolutely awesome! &lt;a title=&#34;https://guardianproject.info/freebird/&#34; href=&#34;https://t.co/qq5SbVsy&#34;&gt;guardianproject.info/freebird/&lt;/a&gt; — Jacob Appelbaum (@ioerror) &lt;a href=&#34;https://twitter.com/ioerror/status/207926015241093120&#34;&gt;May 30, 2012&lt;/a&gt;
    &lt;/p&gt;
  &lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    Together, our growing community will help develop the tools and ideas for a tomorrow that is free as a bird.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;text-align: center;&#34;&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34; alt=&#34;&#34; width=&#34;475&#34; height=&#34;734&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot Data Tax (Updated!)</title>
      <link>https://guardianproject.info/2012/06/20/orbot-data-tax-updated/</link>
      <pubDate>Wed, 20 Jun 2012 13:05:53 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/06/20/orbot-data-tax-updated/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update (6/26/12): I Found Orbot to have lower idle usage then previously recorded. The post now reflects the new statistics. The previous stats were based on idle usage at 92 bytes/s&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There have been many inquiries about the cost of Orbot’s data usage. I ran five different tests to record the types of data tax a user might encounter. Heavy usage of Orbot combined with a low monthly data allotment could be an issue.&lt;/p&gt;

&lt;p&gt;Below is the compiled data for 4 different use cases:&lt;/p&gt;

&lt;table align=&#34;center&#34;&gt;
  &lt;tr&gt;
    &lt;th colspan=&#34;2&#34; align=&#34;center&#34; valign=&#34;middle&#34;&gt;
      Test Scenario
    &lt;/th&gt;
    
    &lt;th&gt;
      Data Usage
    &lt;/th&gt;
    
    &lt;th&gt;
      Overhead
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th rowspan=&#34;4&#34; valign=&#34;middle&#34;&gt;
      Web Traffic
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      Without Orbot
    &lt;/th&gt;
    
    &lt;td&gt;
      2.35 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      —
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      With Orbot
    &lt;/th&gt;
    
    &lt;td&gt;
      3.44 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      46%
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      Orweb
    &lt;/th&gt;
    
    &lt;td&gt;
      3.26 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      38%
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th rowspan=&#34;3&#34; valign=&#34;middle&#34;&gt;
      Bulk Download
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      With Orbot
    &lt;/th&gt;
    
    &lt;td&gt;
      17.82 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      15%
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      Without Orbot
    &lt;/th&gt;
    
    &lt;td&gt;
      15.49 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      —
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th rowspan=&#34;3&#34; colspan=&#34;2&#34; valign=&#34;middle&#34;&gt;
      Idle
    &lt;/th&gt;
    
    &lt;td&gt;
      65 Bytes/s
    &lt;/td&gt;
    
    &lt;td rowspan=&#34;3&#34;&gt;
      —
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      228 KiB/hour
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      160 MiB/month
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th colspan=&#34;2&#34; valign=&#34;middle&#34;&gt;
      Client Start/Stop
    &lt;/th&gt;
    
    &lt;td&gt;
      37.8 KiB
    &lt;/td&gt;
    
    &lt;td&gt;
      —
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;Test Scenarios&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The test cases were fairly straight forward. I used Droidwall to limit traffic on my phone to Orbot or the desired application and then recorded data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Web Browsing:&lt;/strong&gt; Browsed five common websites (guardianproject.info, boingboing.net, facebook.com, slashdot.org, twitter.com) with Orbot/Orweb and javascript OFF, the default browser with Orbot running as a transparent proxy, and just the default browser by itself&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Idle:&lt;/strong&gt; Started Orbot and began recording on Idle for ~10 minutes. The traffic graph clearly shows a small data spike approximately every minute.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bulk Download:&lt;/strong&gt; Downloaded a 5 MB file with the download manager 3 times both with Orbot’s transparent proxy and without&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client Stop/Start:&lt;/strong&gt; Recorded traffic incurred by starting and stopping Orbot&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Contextualizing the Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This data suggests that Orbot could incur between  15 and 46 percent of additional data usage plus about 227 MiB of data a month for those that run Orbot &lt;sup&gt;24&lt;/sup&gt;&amp;frasl;&lt;sub&gt;7&lt;/sub&gt;. This tradeoff may significant to some, but it really depends on your data usage.&lt;/p&gt;

&lt;p&gt;I have calculated how much data you could use for 3 different plans if you used Orbot for ALL your traffic. This means running it &lt;sup&gt;24&lt;/sup&gt;&amp;frasl;&lt;sub&gt;7&lt;/sub&gt; over your data network AND using the transparent proxy to enforce all your applications to go through Orbot. This table represents the most extreme use case.&lt;/p&gt;

&lt;table align=&#34;center&#34;&gt;
  &lt;tr&gt;
    &lt;th rowspan=&#34;3&#34; align=&#34;center&#34;&gt;
      Monthly Plan
    &lt;/th&gt;
    
    &lt;th colspan=&#34;2&#34; align=&#34;center&#34;&gt;
      Usable Data
    &lt;/th&gt;
    
    &lt;th colspan=&#34;2&#34; align=&#34;center&#34;&gt;
      Orbot Data Tax
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      At 15%
    &lt;/th&gt;
    
    &lt;th&gt;
      At 46%
    &lt;/th&gt;
    
    &lt;th&gt;
      At 15%
    &lt;/th&gt;
    
    &lt;th&gt;
      At 46%
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      5 GiB
    &lt;/th&gt;
    
    &lt;td&gt;
      4.21 GiB
    &lt;/td&gt;
    
    &lt;td&gt;
      3.31 GiB
    &lt;/td&gt;
    
    &lt;td&gt;
      16%
    &lt;/td&gt;
    
    &lt;td&gt;
      34%
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      1 GiB
    &lt;/th&gt;
    
    &lt;td&gt;
      751 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      588 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      27%
    &lt;/td&gt;
    
    &lt;td&gt;
      43%
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      500 MiB
    &lt;/th&gt;
    
    &lt;td&gt;
      295 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      233 MiB
    &lt;/td&gt;
    
    &lt;td&gt;
      41%
    &lt;/td&gt;
    
    &lt;td&gt;
      53%
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;Reducing Data Cost&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These numbers may be high for some, but they represent very heavy usage of Orbot. If a user only wishes to use Orbot for a specific set of apps that have proxy support, there is no reason to leave Orbot running &lt;sup&gt;24&lt;/sup&gt;&amp;frasl;&lt;sub&gt;7&lt;/sub&gt;. Twitter is a great example of this because it caches its data asynchronously and would only need Orbot turned on to gather new tweets or search. If the application’s proxy is on but Orbot is off it will simply not be able to update rather then updating outside the Tor network.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Warning: &lt;/strong&gt;Turning off Orbot to save data will also remove the transparent proxy rules. This means applications relying on the transparent proxy rules as opposed to proxy support (Twitter) will be free to broadcast data outside Orbot if you have not taken other precautions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt; (Updated 6/26/12) I previously mentioned that Droidwall may have some issues in blocking certain outbound data. I filed a bug with the author and it turned out to be my mistake in recording the traffic. So, ignore my previous statement, Droidwall would be great application to enforce outbound traffic rules during periods in which Orbot is turned off.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Auditing Twitter With Orbot</title>
      <link>https://guardianproject.info/2012/06/13/auditing-twitter-with-orbot/</link>
      <pubDate>Wed, 13 Jun 2012 20:31:57 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/06/13/auditing-twitter-with-orbot/</guid>
      <description>&lt;p&gt;Twitter’s new Android application provides a proxy option that supports Orbot. It is a great way to access Twitter, particularly if Twitter is blocked. Check out the &lt;a href=&#34;https://guardianproject.info/2012/05/02/orbot-your-twitter/&#34;&gt;Orbot Your Twitter&lt;/a&gt; blog post! That post explains how to set up Orbot with Twitter, however, it came with an important disclaimer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;WARNING AND DISCLAIMER: Twitter for Android is proprietary, closed-source software. Details of the implementation of proxy support have not been publicly disclosed or audited by a third-party at this time. In particular, resolution of hostnames via DNS may not be properly routed through Tor (this is a common issue with proxied software). In addition, through other permissions that Twitter for Android may have you on your device, there may be a strong ability to correlate identity between your registered Google Account and your activities on Twitter.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;****I decided to take on the challenge of auditing Twitter+Orbot to gain more insight (and hopefully trust) into their new support for proxying. I logged some traffic on my Nexus One using the proxied Twitter application to see what was going on. To eliminate excess traffic I used Droidwall to permit only traffic from Orbot and Twitter. This still allows the Twitter application the option to leak data while blocking other traffic we don’t wish to see.  I began logging with Orbot off and attempted to update my Twitter application. So far so good, it was not able to retrieve any tweets. Once Orbot was running the application worked great, I ran some searches and made a test tweet. Looking at the traffic, my phone contacted 3 IP addresses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;83.241.211.6&lt;/li&gt;
&lt;li&gt;199.58.86.196&lt;/li&gt;
&lt;li&gt;149.9.0.60&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://metrics.torproject.org/&#34;&gt;Tor Metrics&lt;/a&gt; has a handy tool called &lt;a href=&#34;https://metrics.torproject.org/exonerator.html&#34;&gt;ExoneraTor&lt;/a&gt; that confirmed that these addressed were indeed relays in the Tor network at the time of 2012-06-13 12:00.  One slightly concerning thing is that Twitter notifications will still show up when Twitter is proxied but Orbot is off! I logged more traffic this time not using Droidwall and making sure to trigger Twitter notifications with Orbot on and off.&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/twitterSYNC3.png&#34;&gt;&lt;img class=&#34;size-full wp-image-2345 aligncenter&#34; style=&#34;margin-right: 5px; margin-left: 5px; border-style: initial; border-color: initial; border-image: initial; border-width: 0px;&#34; title=&#34;twitterSYNC&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/twitterSYNC3.png&#34; alt=&#34;&#34; width=&#34;583&#34; height=&#34;146&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/06/twitterSYNC3.png 583w, https://guardianproject.info/wp-content/uploads/2012/06/twitterSYNC3-300x75.png 300w&#34; sizes=&#34;(max-width: 583px) 100vw, 583px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The traffic in green is making some HTTP requests to a Google server, but its not a result of the Twitter App or triggered notifications. The traffic going to and from 173.194.76.188 represents the notifications. A WHOIS reveals this to be encrypted traffic to a Google IP and doesn’t indicate a user is using Twitter. This is a result of Google’s Push Notifications and can be easily disabled on an Android phone under ‘Accounts &amp;amp; sync’.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;If you have  Google account set up with your phone, Google knows your IP address and your Twitter account through the Push Notifications. This should be turned OFF in either the Twitter application settings or ‘Accounts &amp;amp; sync’ menu.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;****&lt;strong&gt;What does it mean for Twitter+Orbot users?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stops Local Traffic Surveillance:&lt;/strong&gt; It means that someone looking at your phone traffic will not be able to tell if you are using or accessing Twitter. They will see you accessing the Tor network, receiving push notifications from Google (if enabled), and they will see all your other normal traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stops Service Logging Surveillance:&lt;/strong&gt; Twitter will only see a Tor Exit Node IP address and not be able to log your real IP address. The Tor Exit Node will only see an HTTPS connection to Twitter, and not know where you are connecting from, nor what your Twitter account is.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Defeats Network Filtering: &lt;/strong&gt;The Twitter app will be able to connect to the Twitter service through the Tor network, even if it is blocked by the network or country you are connecting from.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unfortunately, this does &lt;strong&gt;not&lt;/strong&gt; mean that what you publish to Twitter is automatically anonymous. For strong anonymity in tweeting, precautions beyond proxying should be taken, such setting up a new email address, using a new Android phone, etc, that go beyond what we can cover here. You can view &lt;a href=&#34;http://advocacy.globalvoicesonline.org/projects/guide/&#34;&gt;Global Voices Guide to Anonymous Blogging&lt;/a&gt; and the EFF’s &lt;a href=&#34;https://www.eff.org/wp/blog-safely&#34;&gt;How to Blog Safely&lt;/a&gt; for a more in depth discussion of this. In short, Twitter+Orbot defeats traffic surveillance and network filtering, but does not automatically provide strong anonymity. No DNS leaks were detected, but if one is trying to maintain a anonymous Twitter account  (i.e. an account not linked to your real identitity or other pseudonym) more precautions need to be taken. The traffic logs of both tests can be downloaded &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/twittertraffic.zip&#34;&gt;here&lt;/a&gt;. 10.0.2.64 is the IP of the Nexus One running Twitter and Orbot.&lt;/p&gt;

&lt;div id=&#34;attachment_2054&#34; style=&#34;width: 298px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170011.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2054&#34; class=&#34; wp-image-2054  &#34; style=&#34;border-image: initial; border-width: 1px; border-color: black; border-style: solid; margin: 1px;&#34; title=&#34;Tweet Freely!&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170011.png&#34; alt=&#34;&#34; width=&#34;288&#34; height=&#34;480&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170011.png 480w, https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170011-180x300.png 180w&#34; sizes=&#34;(max-width: 288px) 100vw, 288px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2054&#34; class=&#34;wp-caption-text&#34;&gt;
    You can use the app just the same as before, but now through Tor!
  &lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;A Partnership for Open Secure Mobile Messaging between iOS and Android&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/2012/06/08/en-a-partnership-for-open-secure-mobile-messaging-between-ios-and-android/</link>
      <pubDate>Fri, 08 Jun 2012 12:05:34 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/06/08/en-a-partnership-for-open-secure-mobile-messaging-between-ios-and-android/</guid>
      <description>&lt;!--:en--&gt;

&lt;p&gt;&lt;strong&gt;We believe in protocols, not products. We believe in partnerships, not proprietary fiefdoms. We believe in building a community of collaborators, not a cacophony of criticism and unnecessary competition. We believe in practical solutions to perilous problems. &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With all of this in mind, we are very happy to announce our partnership and support of the &lt;a href=&#34;https://chatsecure.org&#34;&gt;ChatSecure for iOS&lt;/a&gt; open-source free software project. Through our our two year history, we have been lucky to receive support from a variety of donors and funders, and we are now using what influence and opportunities we have to endorse other projects that we feel are compatible with our outlook and goals.&lt;/p&gt;

&lt;p&gt;Using ChatSecure on an iPhone or iPad, you can have an end-to-end encryption chat session with someone using the Guardian Project’s &lt;a href=&#34;https://guardianproject.info/apps/gibber/&#34;&gt;Gibberbot on Android&lt;/a&gt; (or Pidgin, Jisti, or Adium on the desktop as well) through any  Jabber/XMPP compliant chat service such as GTalk, Jabber.org, or even Facebook (gasp!). You can also run your own server using something like &lt;a href=&#34;http://www.igniterealtime.org/projects/openfire/&#34;&gt;OpenFire&lt;/a&gt; or &lt;a href=&#34;http://prosody.im/&#34;&gt;Prosody&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/mza_7177507910624414963.320x480-75.jpg&#34;&gt;&lt;img title=&#34;mza_7177507910624414963.320x480-75&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/mza_7177507910624414963.320x480-75-200x300.jpg&#34; alt=&#34;&#34; width=&#34;200&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/mza_2639493050739819523.320x480-75.jpg&#34;&gt;&lt;img title=&#34;mza_2639493050739819523.320x480-75&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/mza_2639493050739819523.320x480-75-200x300.jpg&#34; alt=&#34;&#34; width=&#34;200&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While we fundamentally believe that the more open platform and ecosystem of Android is a better choice for people at risk around the world, we know that the iPhone and iPad devices are very compelling and quite popular. This is especially true among some of our most closest, at-risk users – journalists and activists – people who praise the time saving usability of Apple products, while being frustrated they have no way to communicate as securely as they would like. Messaging apps like WhatsApp and Facebook Messenger are terribly insecure, and there is still no open-source cross-platform encrypted SMS solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now using ChatSecure and Gibberbot, members of the same organization, friends, or colleagues can now easily communicate in a completely secure manner between Android and iOS devices.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A message below from the ChatSecure team…&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/06/chatsecure-banner.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-2323&#34; title=&#34;chatsecure-banner&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/06/chatsecure-banner-300x147.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;147&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/06/chatsecure-banner-300x147.png 300w, https://guardianproject.info/wp-content/uploads/2012/06/chatsecure-banner.png 700w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would like to announce a partnership with &lt;a href=&#34;https://guardianproject.info/&#34;&gt;The Guardian Project&lt;/a&gt;, who develops the Android equivalent of ChatSecure called &lt;a href=&#34;https://guardianproject.info/apps/gibber/&#34;&gt;Gibberbot&lt;/a&gt;, along with a whole suite of mobile security applications. It’s an exciting time for open-source secure mobile communications!&lt;/p&gt;

&lt;p&gt;Version 1.2 has been approved! This new version includes support for limited &lt;strong&gt;background messaging&lt;/strong&gt;, the #1 most requested feature. Yay!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Read more and learn about this great open-source effort on the ChatSecure blog: &lt;a href=&#34;https://chatsecure.org/blog#2&#34;&gt;https://chatsecure.org/blog#2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are reading this on an iOS device, &lt;a href=&#34;https://itunes.apple.com/us/app/chatsecure/id464200063?mt=8&#34;&gt;go to the App Store and install ChatSecure now!&lt;/a&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;OSTN secure VoIP wizard now built into CSipSimple for Android&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/2012/05/26/en-ostn-secure-voip-wizard-now-built-into-csipsimple-for-android/</link>
      <pubDate>Sat, 26 May 2012 21:14:52 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/26/en-ostn-secure-voip-wizard-now-built-into-csipsimple-for-android/</guid>
      <description>&lt;p&gt;&lt;!--:en--&gt;If you saw our last post about how to&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/2012/05/17/build-your-own-open-secure-telephony-network-some-assembly-required/&#34;&gt;setup your own secure voice-over-IP server instance&lt;/a&gt;, then this news is for you.&lt;/p&gt;

&lt;p&gt;If you are an Android user looking for the &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;best open-source VoIP app&lt;/a&gt;, and really need one that can support &lt;a href=&#34;https://OSTel.co&#34;&gt;secure communications&lt;/a&gt;, then this post is ALSO for you.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;CSipSimple&lt;/a&gt;, the previously mentioned “best VoIP app”, now includes a wizard for setting up an account configuration for any server which complies with our &lt;a href=&#34;https://guardianproject.info/wiki/OSTN_Compliance_Specification&#34;&gt;Open Secure Telephony Network specification&lt;/a&gt;. In short, this means it uses TLS or SSL to secure the SIP signaling traffic, and supports proxying of the RTP media streams for the actual voice or video calls, without in any way interfering with the ZRTP encryption passing through it.&lt;/p&gt;

&lt;p&gt;There are currently two OSTN compliant public services, &lt;a href=&#34;https://OSTel.co&#34;&gt;OSTel&lt;/a&gt; and &lt;a href=&#34;https://intimi.ca:4242/&#34;&gt;PillowTalk&lt;/a&gt;, but we hope and expect there to be many more, both public and private, and are very happy that this secure by default wizard configuration is now included in the core CSipSimple project. In addition, by having this support in a multiple purpose client (as opposed to a single OStel-only app), you can simultaneously use multiple VoIP accounts. For example, you might setup a second account with Callcentric, that is less secure, but that would allow you to make calls over the standard telephone system.&lt;/p&gt;

&lt;p&gt;Below are screenshots of CSipSimple account setup running on an Android 4 ICS 7″ Tablet.&lt;/p&gt;

&lt;p&gt;First, select “Add account”, scroll down to Generic wizards, and select OSTN.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-46-05.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-2282&#34; title=&#34;Screenshot_2012-05-26-20-46-05&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-46-05.png&#34; alt=&#34;&#34; width=&#34;614&#34; height=&#34;360&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-46-05.png 1024w, https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-46-05-300x175.png 300w&#34; sizes=&#34;(max-width: 614px) 100vw, 614px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then enter your username, password, and the OSTN compliant server you wish to connect to.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-53-56.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-2283&#34; title=&#34;Screenshot_2012-05-26-20-53-56&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-53-56.png&#34; alt=&#34;&#34; width=&#34;614&#34; height=&#34;360&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-53-56.png 1024w, https://guardianproject.info/wp-content/uploads/2012/05/Screenshot_2012-05-26-20-53-56-300x175.png 300w&#34; sizes=&#34;(max-width: 614px) 100vw, 614px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you hit “Save”, the account should be configured, attempt to register, and be ready to make calls.&lt;/p&gt;

&lt;p&gt;Learn more about the CSipSimple project: &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;https://code.google.com/p/csipsimple/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download the latest &lt;a href=&#34;http://nightlies.csipsimple.com/trunk/&#34;&gt;CSipSimple nightly trunk here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many thanks to the brilliant Ooze and R3gis for their continued support.&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Build your own Open Secure Telephony Network, some assembly required&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/2012/05/17/en-build-your-own-open-secure-telephony-network-some-assembly-required/</link>
      <pubDate>Thu, 17 May 2012 17:13:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/17/en-build-your-own-open-secure-telephony-network-some-assembly-required/</guid>
      <description>&lt;p&gt;&lt;!--:en--&gt;The Open Secure Telephony Network is a standard that defines how to configure a VoIP softswitch with the capability to have secure two-way VoIP conversations if both parties are using the same server. The system requires both backend and frontend components, which makes OSTN is a little different than some of the other Guardian apps. Unlike Gibberbot, there are few public SIP services that support secure signalling for a mobile app to connect with. Notably&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://tanstagi.net&#34;&gt;Tanstagi.net&lt;/a&gt; offers free accounts. But it’s more fun to run your own.&lt;/p&gt;

&lt;p&gt;Ready? Here’s the 12 step program.&lt;/p&gt;

&lt;p&gt;The core server system is what provides user registration and media proxying. The reference application I used is called Freeswitch. It has a plethora of configuration options, so I chose to use a configuration management system called Chef to get everything set correctly.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bootstrap a Debian server. Right now the only supported platform for an automated installation is Debian 6 “Squeeze”. The adventerous may try to run the cookbook on another platform and do some bug fixing&lt;/li&gt;
&lt;li&gt;Install sudo, curl and git if you don’t already have them. &lt;code&gt;apt-get install sudo curl git-core&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Get a static IP address. This is crucial! Your users will need a place to register from anywhere in the world&lt;/li&gt;
&lt;li&gt;Get a domain name. This is also crucial! Your users will prefer to register to a name rather than an IP address&lt;/li&gt;
&lt;li&gt;Configure a local hostname. This is a dependency for the cookbook to properly configure Freeswitch to serve your custom domain. Unfortunately, this process varies based on OS and has bizarre conventions that make no sense. Just &lt;a href=&#34;http://serverfault.com/questions/331936/setting-the-hostname-fqdn-or-short-name&#34;&gt;follow the instructions&lt;/a&gt; and don’t ask questions. Remember to reboot after changing the hostname&lt;/li&gt;
&lt;li&gt;Install Chef from the &lt;a href=&#34;http://www.opscode.com/chef/install/&#34;&gt;opscode full stack&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Download the &lt;a href=&#34;https://github.com/lazzarello/chef-twelvetone&#34;&gt;freeswitch cookbook&lt;/a&gt; and &lt;a href=&#34;https://github.com/lazzarello/chef-twelvetone/tree/master/cookbooks/freeswitch&#34;&gt;execute it&lt;/a&gt; with chef-solo&lt;/li&gt;
&lt;li&gt;Walk away and have some coffee or a beer, depending on where the sun is relative to you&lt;/li&gt;
&lt;li&gt;When the Chef run is finished, Freeswitch will be up and running. Check with &lt;code&gt;netstat -lntp&lt;/code&gt; you should see freeswitch listening on TCP port 5061&lt;/li&gt;
&lt;li&gt;Create users by running &lt;code&gt;/opt/chef/embedded/bin/ruby /usr/local/freeswitch/scripts/gen_users&lt;/code&gt;. Without arguments, it will print the required parameters. Run it with an offset of 1000 and as many users as you like. Copy the XML files output by the script to &lt;code&gt;/usr/local/freeswitch/conf/directory/default/&lt;/code&gt; The script will also output a file with plaintext passwords so you can provision user handsets. Put this file somewhere safe and encrypted&lt;/li&gt;
&lt;li&gt;Reload the XML into Freeswitch’s memory. &lt;code&gt;/usr/local/freeswitch/bin/fs_cli -x &amp;quot;reloadxml&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;http://nightlies.csipsimple.com/trunk/&#34;&gt;CSipSimple&lt;/a&gt; and configure it to connect to your domain name with the username/password pair&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you make it through these steps, congratulations! You are now a Freeswitch operator. If you’re curious what is behind all of this and why it works, you should read about &lt;a href=&#34;https://en.wikipedia.org/wiki/Session_Initiation_Protocol&#34;&gt;SIP&lt;/a&gt;, &lt;a href=&#34;https://en.wikipedia.org/wiki/ZRTP&#34;&gt;ZRTP&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/Session_Description_Protocol&#34;&gt;SDP&lt;/a&gt;. It’s also worth noting that the Chef cookbook configures the server to act as an SSL &lt;a href=&#34;https://en.wikipedia.org/wiki/Certificate_authority&#34;&gt;Certificate Authority&lt;/a&gt;. This is used for Secure SIP. The current landscape of using commercially signed certificates in Freeswitch is far more complicated than any HTTPS web server you may have worked with.&lt;/p&gt;

&lt;p&gt;If you’d like to get help from me or another Guardian Project hacker, you can create issues &lt;a href=&#34;https://dev.guardianproject.info/projects/ostn&#34;&gt;in our tracker&lt;/a&gt; and message SteeleNivenson on Freenode or OFTC in channel #guardianproject. Oh yeah, and there’s Twitter @leeazzarello.&lt;!--:--&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IOCipher lives! encrypted virtual file system for Android</title>
      <link>https://guardianproject.info/2012/05/17/iocipher-lives-encrypted-virtual-file-system-for-android/</link>
      <pubDate>Thu, 17 May 2012 16:44:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/17/iocipher-lives-encrypted-virtual-file-system-for-android/</guid>
      <description>&lt;p&gt;Nathan and I just got the first complete test of IOCipher working in the IOCipherServer/SpotSync app. We created a filesystem sqlite.db file, then mounted it and got all the files via HTTP. In the test suite, I have lots of operations all running fine and encrypting! The core idea here is a java.io API replacement that transparently writes to an encrypted store. So for the most part, just change your import statements from:&lt;/p&gt;

&lt;pre&gt;java.io.*   ---&gt;   info.guardianproject.iocipher.*&lt;/pre&gt;

&lt;p&gt;Then in your code, make a &lt;code&gt;VirtualFileSystem&lt;/code&gt; instance and mount it, and unmount it. That’s about it. Right now, you can have only a single filesystem per app, but you can unmount one and mount another. We hope to add support for multiple filesystems in the not-too-distant future.&lt;/p&gt;

&lt;p&gt;Its ready for people to try, some kind of early alpha. Here’s the framework itself:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34;&gt;https://github.com/guardianproject/IOCipher&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;THe easiest way to get started right now is probably the test suite:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/IOCipherTests&#34; title=&#34;IOCipherTests&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/IOCipherTests&#34;&gt;https://github.com/guardianproject/IOCipherTests&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our first app using it is here:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/IOCipherServer&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/IOCipherServer&#34;&gt;https://github.com/guardianproject/IOCipherServer&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comments, feedback, criticism, welcome and wanted!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Bye, bye, BBM! Facebook Allows Verifiable Encrypted Mobile Messaging for Android and iOS; Mobile Revenue Threatened?&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/2012/05/16/en-bye-bye-bbm-facebook-allows-verifiable-encrypted-mobile-messaging-for-android-and-ios-mobile-revenue-threatened/</link>
      <pubDate>Wed, 16 May 2012 17:28:03 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/16/en-bye-bye-bbm-facebook-allows-verifiable-encrypted-mobile-messaging-for-android-and-ios-mobile-revenue-threatened/</guid>
      <description>&lt;p&gt;&lt;!--:en--&gt;Yes, yes, we are trying to get in on all of the Facebook pre-IPO buzz. Fortunately, the headline is true – through&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://developers.facebook.com/docs/chat/&#34;&gt;Facebook’s support for open-standards messaging&lt;/a&gt;, our secure mobile messaging app, &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;Gibberbot for Android&lt;/a&gt;, can be used to communicate securely with any other friend on Facebook who is ALSO using a secure messaging app. Whether it is &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;Gibberbot&lt;/a&gt;, &lt;a href=&#34;http://chrisballinger.info/apps/chatsecure/&#34;&gt;ChatSecure for iOS&lt;/a&gt;, Adium (Mac), Pidgin (Windows/Linux), or one of the many secure messaging apps that support the &lt;a href=&#34;http://www.cypherpunks.ca/otr/&#34;&gt;Off-the-Record encryption capability&lt;/a&gt;, Facebook allows encrypted messaging between mobile and desktops alike.&lt;/p&gt;

&lt;p&gt;This means that as opposed to the default Facebook Messenger apps that transmit and store their messages in plaintext, no one but you and the person you are messaging can read the contents of the communication. This goes far beyond the really unsafe designs of group messaging products like &lt;a href=&#34;https://en.wikipedia.org/wiki/WhatsApp#Security_concerns&#34;&gt;WhatsApp&lt;/a&gt;, which have &lt;a href=&#34;https://en.wikipedia.org/wiki/WhatsApp#Security_concerns&#34;&gt;pretty much no security at all&lt;/a&gt;, and are easily hijacked and monitored.&lt;/p&gt;

&lt;p&gt;You can even use Gibberbot over the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network&lt;/a&gt;, to access Facebook messaging in places where it might be blocked or monitored, like your school, work, or your local authoritarian surveillance state.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/gibberface.jpg&#34;&gt;&lt;img class=&#34;wp-image-2170 alignnone&#34; title=&#34;gibberface&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/gibberface.jpg&#34; alt=&#34;&#34; width=&#34;600&#34; height=&#34;337&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/gibberface.jpg 1000w, https://guardianproject.info/wp-content/uploads/2012/05/gibberface-300x168.jpg 300w&#34; sizes=&#34;(max-width: 600px) 100vw, 600px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, it is very interesting to note, that while they allow it, they do *detect* that you are using encryption, and tag it as such in the web-based messaging interface (which does NOT support encryption). Only time will tell if this is simply a feature for tidying up the user interface (else you see a bunch of cypher text gobblyegook), or some sort of retro-future surveillance of who is using Facebook in non mainstream ways. After all, if Facebook cannot index my chats for keywords to advertise against, do they really want me using up their server computing time?&lt;/p&gt;

&lt;p&gt;Below is a screenshot of &lt;a href=&#34;http://chrisballinger.info/apps/chatsecure/&#34;&gt;ChatSecure&lt;/a&gt;, the first open-source secure messenger for iOS devices. We are excited to be partnering this project to ensure full interoperability with Gibberbot.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/screenshot.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-2179&#34; title=&#34;screenshot&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/screenshot.png&#34; alt=&#34;&#34; width=&#34;473&#34; height=&#34;540&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/screenshot.png 473w, https://guardianproject.info/wp-content/uploads/2012/05/screenshot-262x300.png 262w&#34; sizes=&#34;(max-width: 473px) 100vw, 473px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn more about the entire Guardian Project suite of &lt;a href=&#34;https://guardianproject.info/apps&#34;&gt;open-source secure mobile apps&lt;/a&gt;.&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>Cross-Domain calling, or “toll-free long distance VoIP”</title>
      <link>https://guardianproject.info/2012/05/04/cross-domain-calling-or-toll-free-long-distance-voip/</link>
      <pubDate>Fri, 04 May 2012 17:34:30 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/04/cross-domain-calling-or-toll-free-long-distance-voip/</guid>
      <description>&lt;p&gt;In a standard &lt;a href=&#34;https://guardianproject.info/wiki/OSTN_Compliance_Specification&#34;&gt;OSTN configuration&lt;/a&gt;, the Fully Qualified Domain Name (&lt;a href=&#34;https://en.wikipedia.org/wiki/FQDN&#34;&gt;FQDN&lt;/a&gt;) of the server running Freeswitch is a core dependency to operate the service. For example, the domain ostel.me was first configured as a DNS record, a server was bootstrapped with ostel.me as the local hostname and a &lt;a href=&#34;https://github.com/lazzarello/chef-twelvetone&#34;&gt;Freeswitch cookbook&lt;/a&gt; was run using the Chef automation system. Because the domain was configured both in DNS and locally, the cookbook has enough information to automatically build an operational OSTN node.&lt;/p&gt;

&lt;p&gt;Once the node is operational, accounts are provisioned on the node and users install the OSTel Android application on their mobile handsets. Users may place secure calls to other users within the domain ostel.me.&lt;/p&gt;

&lt;p&gt;This week I reached a milestone. I placed a call from a user at ostel.me to a user on a second private debugging domain. Both domains were configured as an OSTN node and two handsets were registered, one on each node. This kind of cross domain calling is something that is rare in the VoIP world when compared to other communications protocols on the Internet, for example email and XMPP. This is due in part to the complexity of the SIP protocol. I’m &lt;a href=&#34;https://guardianproject.info/wiki/The_challenges_with_secure_cross-domain_calling&#34;&gt;documenting the extended details&lt;/a&gt; on the wiki.&lt;/p&gt;

&lt;p&gt;I configured both servers to register to each other, establishing a two way link between them. This is called &lt;a href=&#34;https://en.wikipedia.org/wiki/Voice_peering&#34;&gt;VoIP peering&lt;/a&gt;. The more nodes in the network, the more peering relationships must exist. For example, this picture illustrates the relationships between a fully interconnected network with four nodes, named A, B, C and D.&lt;/p&gt;

&lt;div id=&#34;attachment_2082&#34; style=&#34;width: 287px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/full_mesh_network.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2082&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/full_mesh_network-277x300.png&#34; alt=&#34;Four Node Peering Network&#34; width=&#34;277&#34; height=&#34;300&#34; class=&#34;size-medium wp-image-2082&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/full_mesh_network-277x300.png 277w, https://guardianproject.info/wp-content/uploads/2012/05/full_mesh_network.png 400w&#34; sizes=&#34;(max-width: 277px) 100vw, 277px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2082&#34; class=&#34;wp-caption-text&#34;&gt;
    Four Node Peering Network
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The implementation of this kind of peering network differs for each application. Once the peering configuration is completed by the operator of each node, they must also enable cross domain calling in the Freeswitch dialplan. In Freeswitch, the peers create a “gateway” to route calls to a non-local domain. When a non-local call is placed, Freeswitch will attempt to find a gateway to that domain. If it exists, it will route the call to the other server, which will in turn ring the handset belonging to the registered username.&lt;/p&gt;

&lt;div id=&#34;attachment_2110&#34; style=&#34;width: 610px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/sip-peering-situation.png&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-2110&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/sip-peering-situation.png&#34; alt=&#34;Protocol flow between two domains&#34; width=&#34;600&#34; height=&#34;188&#34; class=&#34;size-full wp-image-2110&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/sip-peering-situation.png 600w, https://guardianproject.info/wp-content/uploads/2012/05/sip-peering-situation-300x94.png 300w&#34; sizes=&#34;(max-width: 600px) 100vw, 600px&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-2110&#34; class=&#34;wp-caption-text&#34;&gt;
    Cross Domain SIP Call
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The user interface to place this type of call in the OSTel app is experimental due to our security requirements. In my test, the non-local domain was debug.ostel.me. To place a call from &amp;#x62;o&amp;#x62;@o&amp;#x73;t&amp;#x65;l.&amp;#x6d;e to alice@debug&amp;#x2e;&amp;#x6f;&amp;#x73;&amp;#x74;&amp;#x65;&amp;#x6c;&amp;#x2e;&amp;#x6d;&amp;#x65; I had to type a fully qualified &lt;a href=&#34;https://en.wikipedia.org/wiki/Uniform_resource_identifier&#34;&gt;SIP URI&lt;/a&gt; into the OSTel dialer interface. It looks like &lt;code&gt;sip:&amp;amp;#x61;l&amp;amp;#x69;ce&amp;amp;#x40;de&amp;amp;#x62;u&amp;amp;#x67;&amp;amp;#x2e;o&amp;amp;#x73;te&amp;amp;#x6c;.&amp;amp;#x6d;&amp;amp;#x65;;transport=tls&lt;/code&gt;. The transport=tls attribute is due to the secure SIP requirement. Without that, the app will try and connect to debug.ostel.me over the insecure SIP port, which is not open on an OSTN node.&lt;/p&gt;

&lt;p&gt;This test proved that cross domain SIP calling is possible but as I’ve shown above, there are significant hurdles on both the user and operator side. Some of these hurdles may be overcome by using a &lt;a href=&#34;http://www.opensips.org/&#34;&gt;SIP application other than Freeswitch&lt;/a&gt;, some may be solved on the client side, &lt;a href=&#34;http://www.e164.org/&#34;&gt;others with DNS&lt;/a&gt;. It’s great to have a secure voice service with a network of trusted peers. I’m looking forward to future research and development to remove the hurdles to create these peering agreements. Eventually we’ll all have the ability to call our friends email addresses.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot Your Twitter!</title>
      <link>https://guardianproject.info/2012/05/02/orbot-your-twitter/</link>
      <pubDate>Wed, 02 May 2012 17:19:27 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/02/orbot-your-twitter/</guid>
      <description>&lt;p&gt;In some ways, Twitter is the perfect application to run over the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network&lt;/a&gt;. It works with small bits of data, it is asynchronous, works naturally in a “store and forward” queue model, and in general, has a decent amount of &lt;a href=&#34;https://twitter.com/about/security&#34;&gt;default security built-in&lt;/a&gt; through HTTP/S support and OAuth. Compared to the problem-child of the open web, which often involves large websites, streaming video, flash embeds, and malicious javascript, Twitter is a nearly perfect candidate for use over a secure, anonymous (but sometimes high latency) network. Add to the fact that Twitter is often &lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_websites_blocked_in_the_People&#39;s_Republic_of_China&#34;&gt;blocked or monitored in many countries&lt;/a&gt;who do not care for free speech and human rights, and it becomes almost a necessity that you use it with a service like Tor.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;WARNING AND DISCLAIMER: Twitter for Android is proprietary, closed-source software. Details of the implementation of proxy support have not been publicly disclosed or audited by a third-party at this time. In particular, resolution of hostnames via DNS may not be properly routed through Tor (this is a common issue with proxied software). In addition, through other permissions that Twitter for Android may have you on your device, there may be a strong ability to correlate identity between your registered Google Account and your activities on Twitter.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Until recently, in order to run &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.twitter.android&amp;amp;hl=en&#34;&gt;Twitter for Android&lt;/a&gt; through Tor for Android, aka &lt;a href=&#34;https://guardianproject.info/apps/orbot/&#34;&gt;Orbot&lt;/a&gt;, you would need to &lt;a href=&#34;http://shortfuse.org/?page_id=2&#34;&gt;root your device&lt;/a&gt;, or deal with complex proxy settings. However, as of last week, Twitter became &lt;em&gt;one of the first and only major apps (aka 100M+ installs!)&lt;/em&gt; to &lt;a href=&#34;https://twitter.com/#!/moxie/status/195622774348324864&#34;&gt;add direct proxy support into their app&lt;/a&gt;, in a very easy to find and activate way.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;UPDATE June 13, 2012: After a recent audit, we now recommend turning off the “Sync Data” option through Twitter’s Settings menu, under your registered Twitter account. This will stop push notifications from being sent, which are currently not handled by Orbot/Tor.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install and activate Orbot, open Twitter, tap the gear icon on the home screen.&lt;/li&gt;
&lt;li&gt;Check the “proxy” box, enter ‘localhost’ and ‘8118’.&lt;/li&gt;
&lt;li&gt;Open your account settings, and disable the “Sync Data” option to stop push notifications which cannot be proxied through Orbot/Tor.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;See the screenshots below for a full walkthrough, and please spread the word to those in need.&lt;/p&gt;

&lt;div id=&#39;gallery-7&#39; class=&#39;gallery galleryid-2041 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-165201.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-165201-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2047&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2047&#39;&gt;
      Orbot and Twitter now work together easily, thanks to new simple proxy settings feature in Twitter for Android
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164620.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164620-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2042&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2042&#39;&gt;
      When you setup Orbot, your device does not need root or “superuser” access in order to work with Twitter, or with other apps like Gibberbot (Chat) or ORWeb (safe web access)
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164656.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164656-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2043&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2043&#39;&gt;
      Orbot by default provides an HTTP proxy server on “localhost” and port 8118
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164743.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164743-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2044&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2044&#39;&gt;
      In the Twitter app account sign in screen, click the small gear icon to open proxy settings
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164753.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164753-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2045&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2045&#39;&gt;
      Enable the proxy, set Proxy Host to ‘localhost’ and Proxy Port to ‘8118’
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164807.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-164807-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2046&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2046&#39;&gt;
      You can also modify Proxy settings in the app via Menu-&gt;Settings
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170011.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170011-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2054&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2054&#39;&gt;
      You can use the app just the same as before, but now through Tor!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170043.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170043-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2055&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2055&#39;&gt;
      With searches, you may need to try a few times for them to go through
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170118.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/device-2012-05-02-170118-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-7-2056&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-7-2056&#39;&gt;
      #OrbotYourTwitter!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Learn more and install apps&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Twitter for Android: &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.twitter.android&amp;amp;hl=en&#34;&gt;Google Play&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Orbot: Tor for Android: &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&amp;amp;&#34;&gt;Google Play&lt;/a&gt; or &lt;a href=&#34;https://www.torproject.org/docs/android.html.en&#34;&gt;direct download via TorProject.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href=&#34;https://www.torproject.org/about/overview.html.en&#34;&gt;how Tor works&lt;/a&gt; or just watch the video below!&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Mobile mesh in a real world test</title>
      <link>https://guardianproject.info/2012/05/02/mobile-mesh-in-a-real-world-test/</link>
      <pubDate>Wed, 02 May 2012 15:37:37 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/05/02/mobile-mesh-in-a-real-world-test/</guid>
      <description>&lt;p&gt;Nathan, Mark, Lee, and I tried some OLSR mesh testing during the May Day protests and marches. We were able to get 4 devices to associate and mesh together, but not without some trials and travails. Two pairs of devices setup two separate BSSIDs, so were on separate networks. We turned them all off, then associated them one at a time, and then they all got onto the same BSSID and olsrd started doing its thing. This made us think that we should just use a hard-coded BSSID in the setup, with a preference to allow standard ad-hoc association to find a BSSID. &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/05/526191_338865336181237_184749301592842_866151_1316470506_n.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/05/526191_338865336181237_184749301592842_866151_1316470506_n-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; class=&#34;alignright size-medium wp-image-2037&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/05/526191_338865336181237_184749301592842_866151_1316470506_n-300x225.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/05/526191_338865336181237_184749301592842_866151_1316470506_n.jpg 600w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next we tried to use some services. We were going to try running a &lt;a href=&#34;https://crypto.cat/&#34; target=&#34;_blank&#34;&gt;cryptocat&lt;/a&gt; session, but the phone that was running cryptocat via a &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34; target=&#34;_blank&#34;&gt;Lil’ Debi&lt;/a&gt; Debian install was having trouble staying connected to the mesh. Next we tried a serverless direct SIP call using &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34; target=&#34;_blank&#34;&gt;CSIPSimple&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;CSIPSimple uses the Android Java API to determine if the device is online. The current approach to configuring the ad-hoc mode used by Android-Wifi-Tether-based apps including Serval and Barnacle-based apps including OLSR-Mesh-Tether disables the wifi via the Android Java API, then configures ad-hoc mode using command line tools. This means that Android believe that the wifi is off, and when apps query the network status via the normal Android API, Android will tell it what it believes: there is no network connection.&lt;/p&gt;

&lt;p&gt;This works in &lt;a href=&#34;http://www.servalproject.org/&#34; target=&#34;_blank&#34;&gt;Serval&lt;/a&gt; because Serval is a self-contained system with its own SIP client and server, etc. This does not work for situations where we want to provide generic IP service using OLSR mesh on Android phones. I’m going to try to see if I can get the ad-hoc setup to work while making Android believe that the wifi is an and associated with infrastructure-mode network.&lt;/p&gt;

&lt;p&gt;Also, in the process of setting up the mesh while mixing in a crowd and walking with a crowd down the street we realized two key things: 1) the setup process should be tolerant of frequent interruptions, and 2) it should be as easy as possible for people to give the mesh app itself from one phone to another. We’ll be working on #1 as part of our &lt;a href=&#34;https://code.commotionwireless.net/projects&#34; target=&#34;_blank&#34;&gt;Commotion&lt;/a&gt; work and we will focus on making a UI that clearly shows its status and lets the user continue where they left off. We will be working directly on #2 as part of a separate project, so we’ll try to keep everyone informed on our progress with that.&lt;/p&gt;

&lt;p&gt;Another idea we discussed was how to have a “strength meter” for mesh, like the GSM or wifi bars. We talked about taking a tally of how many first hop connections there are, the total connections, and the total willingness of all of the first hop connections.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Help Us Promote&lt;!--:--&gt;&lt;!--:pt--&gt;Nos ajudar a Promover &lt;!--:--&gt;&lt;!--:es--&gt;Ayúdanos a Promocionar&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/help-us-promote/</link>
      <pubDate>Fri, 27 Apr 2012 15:01:57 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/help-us-promote/</guid>
      <description>&lt;p&gt;&lt;!--:en--&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Please download, copy, share, rewteet, remix, mashup and otherwise use the graphics below, with a link to &amp;ldquo;freebirdcamp.org&amp;rdquo; to help us spread the word about our event.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hashtag: #FreebirdRioNYC&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1940&#34; title=&#34;freebirdbadge&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34; alt=&#34;&#34; width=&#34;468&#34; height=&#34;463&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png 468w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1-300x296.png 300w&#34; sizes=&#34;(max-width: 468px) 100vw, 468px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-1980&#34; title=&#34;freebirdposter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;989&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg 662w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-194x300.jpg 194w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1940&#34; title=&#34;freebirdbadge&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34; alt=&#34;&#34; width=&#34;468&#34; height=&#34;463&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png 468w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1-300x296.png 300w&#34; sizes=&#34;(max-width: 468px) 100vw, 468px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-1980&#34; title=&#34;freebirdposter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;989&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg 662w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-194x300.jpg 194w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1940&#34; title=&#34;freebirdbadge&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34; alt=&#34;&#34; width=&#34;468&#34; height=&#34;463&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png 468w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1-300x296.png 300w&#34; sizes=&#34;(max-width: 468px) 100vw, 468px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-1980&#34; title=&#34;freebirdposter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;989&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg 662w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-194x300.jpg 194w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Help Us Promote&lt;!--:--&gt;&lt;!--:pt--&gt;Nos ajudar a Promover &lt;!--:--&gt;&lt;!--:es--&gt;Ayúdanos a Promocionar&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/help-us-promote/</link>
      <pubDate>Fri, 27 Apr 2012 15:01:57 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/help-us-promote/</guid>
      <description>&lt;p&gt;&lt;!--:en--&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Please download, copy, share, rewteet, remix, mashup and otherwise use the graphics below, with a link to &amp;ldquo;freebirdcamp.org&amp;rdquo; to help us spread the word about our event.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hashtag: #FreebirdRioNYC&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1940&#34; title=&#34;freebirdbadge&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34; alt=&#34;&#34; width=&#34;468&#34; height=&#34;463&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png 468w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1-300x296.png 300w&#34; sizes=&#34;(max-width: 468px) 100vw, 468px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-1980&#34; title=&#34;freebirdposter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;989&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg 662w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-194x300.jpg 194w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1940&#34; title=&#34;freebirdbadge&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34; alt=&#34;&#34; width=&#34;468&#34; height=&#34;463&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png 468w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1-300x296.png 300w&#34; sizes=&#34;(max-width: 468px) 100vw, 468px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-1980&#34; title=&#34;freebirdposter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;989&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg 662w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-194x300.jpg 194w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1940&#34; title=&#34;freebirdbadge&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png&#34; alt=&#34;&#34; width=&#34;468&#34; height=&#34;463&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1.png 468w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdbadge1-300x296.png 300w&#34; sizes=&#34;(max-width: 468px) 100vw, 468px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1.jpg&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-1980&#34; title=&#34;freebirdposter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;989&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-662x1024.jpg 662w, https://guardianproject.info/wp-content/uploads/2012/04/freebirdposter1-194x300.jpg 194w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Event Locations&lt;!--:--&gt;&lt;!--:pt--&gt;Local do evento&lt;!--:--&gt;&lt;!--:es--&gt;Lugar del evento&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/venues/</link>
      <pubDate>Fri, 27 Apr 2012 13:20:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/venues/</guid>
      <description>

&lt;!--:en--&gt;

&lt;h3 id=&#34;toc_0&#34;&gt;[&lt;/h3&gt;

&lt;p&gt;Fundação Getulio Vargas’ Center for Technology &amp;amp; Society](&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Praia de Botafogo, 190, Rio de Janeiro, RJ Room 1333&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The CTS is the Center for Technology and Society Law School of the Getulio Vargas Foundation in Rio de Janeiro. Its mission is to study the legal implications, stemming from the social and cultural advancement of information technology, developing projects related to those areas.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;-22.94131&amp;rdquo; long=&amp;ldquo;-43.1803&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;-22.94131,-43.1803&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;new-york-university-itp-tisch-school-of-the-arts-http-itp-nyu-edu&#34;&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;New York University - ITP - Tisch School of the Arts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;721 Broadway, 4th Floor, New York, NY 10003&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;http://itp.nyu.edu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ITP is a two-year graduate program located in the Tisch School of the Arts whose mission is to explore the imaginative use of communications technologies — how they might augment, improve, and bring delight and art into people&amp;rsquo;s lives. Perhaps the best way to describe us is as a Center for the Recently Possible.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;40.729&amp;rdquo; long=&amp;ldquo;-73.994&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;40.729,-73.994&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;!--:--&gt;

&lt;p&gt;&lt;!--:pt--&gt;Fundação Getulio Vargas’ Center for Technology &amp;amp; Society&lt;/p&gt;

&lt;p&gt;Praia de Botafogo, 190, Rio de Janeiro, RJ Room 1333&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O CTS é o Centro de Tecnologia e Sociedade da Escola de Direito da Fundação Getulio Vargas no Rio de Janeiro. Sua missão é estudar as implicações legais decorrentes do avanço social e cultural da tecnologia da informação, desenvolvendo projetos relacionados com tais áreas.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;-22.94131&amp;rdquo; long=&amp;ldquo;-43.1803&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;-22.94131,-43.1803&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;new-york-university-itp-tisch-school-of-the-arts-http-itp-nyu-edu-1&#34;&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;New York University - ITP - Tisch School of the Arts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;721 Broadway, 4th Floor, New York, NY 10003&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;http://itp.nyu.edu&lt;/a&gt;&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  ITP é um programa de pós-graduação de dois anos localizado na Escola de Artes Tisch cuja missão é explorar o uso imaginativo de tecnologias de comunicação — como elas poderiam aumentar, melhorar e trazer alegria e arte na vida das pessoas. Talvez a melhor maneira de nos descrever seja como um Centro para o Recentemente Possível.
&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;40.729&amp;rdquo; long=&amp;ldquo;-73.994&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;40.729,-73.994&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;h3 id=&#34;toc_3&#34;&gt;[&lt;/h3&gt;

&lt;p&gt;Fundação Getulio Vargas’ Center for Technology &amp;amp; Society](&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Praia de Botafogo, 190, Rio de Janeiro, RJ Room 1333&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El CTS es el Centro de Tecnología y Sociedad de la Facultad de Derecho de la Fundación Getulio Vargas en Río de Janeiro. Su misión es la de estudiar las repercusiones legales que derivan del avance social y cultural del desarrollo de proyectos de tecnología informática relacionados a esas áreas.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;-22.94131&amp;rdquo; long=&amp;ldquo;-43.1803&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;-22.94131,-43.1803&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;new-york-university-itp-tisch-school-of-the-arts-http-itp-nyu-edu-2&#34;&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;New York University - ITP - Tisch School of the Arts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;721 Broadway, 4th Floor, New York, NY 10003&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;http://itp.nyu.edu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El Programa de Telecomunicaciones Interactivas [ITP, por sus siglas en inglés] de la Tisch School of the Arts es un posgrado de dos años cuyo propósito es explorar el uso imaginario de las tecnologías de la comunicación: cómo se podría aumentar, mejorar y llevar placer y arte a la vida de la gente. Tal vez, la mejor manera de describir quiénes somos es considerarnos un &amp;ldquo;Centro para posibilidades recientes&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;40.729&amp;rdquo; long=&amp;ldquo;-73.994&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;40.729,-73.994&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Event Locations&lt;!--:--&gt;&lt;!--:pt--&gt;Local do evento&lt;!--:--&gt;&lt;!--:es--&gt;Lugar del evento&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/venues/</link>
      <pubDate>Fri, 27 Apr 2012 13:20:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/venues/</guid>
      <description>

&lt;!--:en--&gt;

&lt;h3 id=&#34;toc_0&#34;&gt;[&lt;/h3&gt;

&lt;p&gt;Fundação Getulio Vargas’ Center for Technology &amp;amp; Society](&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Praia de Botafogo, 190, Rio de Janeiro, RJ Room 1333&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The CTS is the Center for Technology and Society Law School of the Getulio Vargas Foundation in Rio de Janeiro. Its mission is to study the legal implications, stemming from the social and cultural advancement of information technology, developing projects related to those areas.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;-22.94131&amp;rdquo; long=&amp;ldquo;-43.1803&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;-22.94131,-43.1803&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;new-york-university-itp-tisch-school-of-the-arts-http-itp-nyu-edu&#34;&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;New York University - ITP - Tisch School of the Arts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;721 Broadway, 4th Floor, New York, NY 10003&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;http://itp.nyu.edu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ITP is a two-year graduate program located in the Tisch School of the Arts whose mission is to explore the imaginative use of communications technologies — how they might augment, improve, and bring delight and art into people&amp;rsquo;s lives. Perhaps the best way to describe us is as a Center for the Recently Possible.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;40.729&amp;rdquo; long=&amp;ldquo;-73.994&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;40.729,-73.994&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;!--:--&gt;

&lt;p&gt;&lt;!--:pt--&gt;Fundação Getulio Vargas’ Center for Technology &amp;amp; Society&lt;/p&gt;

&lt;p&gt;Praia de Botafogo, 190, Rio de Janeiro, RJ Room 1333&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O CTS é o Centro de Tecnologia e Sociedade da Escola de Direito da Fundação Getulio Vargas no Rio de Janeiro. Sua missão é estudar as implicações legais decorrentes do avanço social e cultural da tecnologia da informação, desenvolvendo projetos relacionados com tais áreas.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;-22.94131&amp;rdquo; long=&amp;ldquo;-43.1803&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;-22.94131,-43.1803&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;new-york-university-itp-tisch-school-of-the-arts-http-itp-nyu-edu-1&#34;&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;New York University - ITP - Tisch School of the Arts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;721 Broadway, 4th Floor, New York, NY 10003&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;http://itp.nyu.edu&lt;/a&gt;&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  ITP é um programa de pós-graduação de dois anos localizado na Escola de Artes Tisch cuja missão é explorar o uso imaginativo de tecnologias de comunicação — como elas poderiam aumentar, melhorar e trazer alegria e arte na vida das pessoas. Talvez a melhor maneira de nos descrever seja como um Centro para o Recentemente Possível.
&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;40.729&amp;rdquo; long=&amp;ldquo;-73.994&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;40.729,-73.994&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;h3 id=&#34;toc_3&#34;&gt;[&lt;/h3&gt;

&lt;p&gt;Fundação Getulio Vargas’ Center for Technology &amp;amp; Society](&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Praia de Botafogo, 190, Rio de Janeiro, RJ Room 1333&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://direitorio.fgv.br/cts/&#34;&gt;http://direitorio.fgv.br/cts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El CTS es el Centro de Tecnología y Sociedad de la Facultad de Derecho de la Fundación Getulio Vargas en Río de Janeiro. Su misión es la de estudiar las repercusiones legales que derivan del avance social y cultural del desarrollo de proyectos de tecnología informática relacionados a esas áreas.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;-22.94131&amp;rdquo; long=&amp;ldquo;-43.1803&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;-22.94131,-43.1803&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&#34;new-york-university-itp-tisch-school-of-the-arts-http-itp-nyu-edu-2&#34;&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;New York University - ITP - Tisch School of the Arts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;721 Broadway, 4th Floor, New York, NY 10003&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://itp.nyu.edu&#34;&gt;http://itp.nyu.edu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El Programa de Telecomunicaciones Interactivas [ITP, por sus siglas en inglés] de la Tisch School of the Arts es un posgrado de dos años cuyo propósito es explorar el uso imaginario de las tecnologías de la comunicación: cómo se podría aumentar, mejorar y llevar placer y arte a la vida de la gente. Tal vez, la mejor manera de describir quiénes somos es considerarnos un &amp;ldquo;Centro para posibilidades recientes&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;[osm_map lat=&amp;ldquo;40.729&amp;rdquo; long=&amp;ldquo;-73.994&amp;rdquo; zoom=&amp;ldquo;15&amp;rdquo; width=&amp;ldquo;600&amp;rdquo; height=&amp;ldquo;450&amp;rdquo; marker=&amp;ldquo;40.729,-73.994&amp;rdquo; marker_name=&amp;ldquo;camping.png&amp;rdquo; type=&amp;ldquo;Mapnik&amp;rdquo;]&lt;/p&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;The Plan for the Day&lt;!--:--&gt;&lt;!--:pt--&gt;O Plano do Dia&lt;!--:--&gt;&lt;!--:es--&gt;Actividades del Dia&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/plan/</link>
      <pubDate>Fri, 27 Apr 2012 13:17:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/plan/</guid>
      <description>

&lt;!--:en--&gt;

&lt;h2 id=&#34;agenda-9am-to-5pm-may-30-2012&#34;&gt;Agenda 9am to 5pm - May 30, 2012&lt;/h2&gt;

&lt;p&gt;The workshop will have time for all participants to join together, as well as breakout tracks for users and developers. This is a &lt;a href=&#34;https://en.wikipedia.org/wiki/BarCamp&#34;&gt;BARCAMP&lt;/a&gt; type event, so come prepared to interact, share and participate.&lt;/p&gt;

&lt;p&gt;The USING track will involve expanding mobile users understanding of how their phone works, or is working against them, and enabling them to replace the built-in software with more open or secure versions.&lt;/p&gt;

&lt;p&gt;The BUILDING track will focus on creating new or porting existing security software to mobile platforms, discussion of mobile threat models, and use of mobile technology to assist rights defenders, journalists, and activists.&lt;/p&gt;

&lt;p&gt;As a participant, you will have the chance to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn how to install and use privacy-enhancing mobile software&lt;/li&gt;
&lt;li&gt;Present, share and brainstorm your project&lt;/li&gt;
&lt;li&gt;Join in a USER-meets-DEVELOPER rapid prototyping activity&lt;/li&gt;
&lt;li&gt;Have a great time, meeting smart people who care about open mobility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Guardian Project team, along with their partner Zetetic, Inc. (creators of SQLCipher) will be showing their projects including:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ObscuraCam and InformaCam&lt;/strong&gt; secure smart camera projects, with video and photo encryption and enhanced metadata capture: &lt;a href=&#34;https://guardianproject.info/apps/obscuracam/&#34;&gt;https://guardianproject.info/apps/obscuracam/&lt;/a&gt;&lt;br /&gt;
**&lt;br /&gt;
Open Source Telephony Network** - building an open-source, secure, standards based telephony system: &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;https://guardianproject.info/wiki/OSTN&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;SQLCipher&lt;/strong&gt; - an extension to the SQLite mobile database that provides transparent 256-bit AES encryption of database files created by apps on mobile phones - &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still not sure if Freebird is for you? &lt;a href=&#34;https://guardianproject.info/freebird/who&#34;&gt;See &amp;ldquo;Who&amp;rdquo; we think should attend&amp;hellip;&lt;/a&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;h2 lang=&#34;es-AR&#34;&gt;
  Agenda 9 h às 17 h – 30 de Maio de 2012
&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-family: Times, serif;&#34;&gt;O workshop terá tempo para todos os participantes se juntarem, bem como faixas de novidades para usuários e desenvolvedores. Esse é um evento do tipo &lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/BarCamp&#34;&gt;BARCAMP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;, então venha preparado para interagir, compartilhar e participar.&lt;/span&gt;&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;span style=&#34;font-family: Times, serif;&#34;&gt;A faixa USING envolverá expandir a compreensão dos usuários de celulares sobre o funcionamento de seu telefone, ou se está trabalhando contra eles e que possam substituir o software integrado com versões mais abertas ou seguras.&lt;/span&gt;
&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;span style=&#34;font-family: Times, serif;&#34;&gt;A faixa BUILDING incidirá sobre a criação de novo ou mover software de segurança existente para plataformas móveis, discussão de modelos de ameaças móveis e uso de tecnologia móvel para ajudar ativistas, jornalistas e defensores de direitos.&lt;/span&gt;
&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;span style=&#34;font-family: Times, serif;&#34;&gt;Como participante, você terá a oportunidade de&lt;/span&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Aprender a instalar e usar software móvel que aumenta a privacidade
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Apresentar, compartilhar e debater seu projeto
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Participar na atividade de criação rápida de protótipos USUÁRIO-encontra-DESENVOLVEDOR
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Se divertir, conhecendo pessoas inteligentes que se preocupam com mobilidade aberta
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span style=&#34;font-family: Times, serif;&#34;&gt;O time The Guardian Project, com sua parceira Zetetic, Inc. (criadores do SQLCipher) estará mostrando seus projetos, incluindo:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-family: Times, serif;&#34;&gt;&lt;strong&gt;Projetos de câmera inteligente e segura&lt;/strong&gt;&lt;strong&gt; ObscuraCam e InformaCam&lt;/strong&gt;, com criptografia de vídeo e fotografia e captura de metadados reforçada: &lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;a href=&#34;https://guardianproject.info/apps/obscuracam/&#34;&gt;https://guardianproject.info/apps/obscuracam/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;&lt;/p&gt; 
  

&lt;p&gt;&lt;p&gt;
    &lt;/strong&gt;&lt;strong&gt;Open Source Telephony Network&lt;/strong&gt; – construindo um sistema de telefonia aberto, seguro, com base em normas: &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;https://guardianproject.info/wiki/OSTN&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;
  &amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;strong&amp;gt;SQLCipher&amp;lt;/strong&amp;gt; – uma extensão para o banco de dados móvel de SQLite que fornece criptografia transparente AES de 256 bits dos arquivos de banco de dados criado por apps em telefones celulares- &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;quot;&amp;gt;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;pt-BR&amp;quot;&amp;gt;
  &amp;lt;span style=&amp;quot;font-family: Times, serif;&amp;quot;&amp;gt;Ainda não tem certeza se o Freebird é para você? &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/freebird/who&amp;quot;&amp;gt;Veja &amp;quot;Quem” que nós pensamos que deve comparecer…&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;!--:--&amp;gt;

  &amp;lt;!--:es--&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;h2 lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  ACTIVIDADES DEL DÍA
&amp;lt;/h2&amp;gt;

&amp;lt;h2 lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  Programa: de 9 a. m. a 5 p. m. - 30 de mayo de 2012
&amp;lt;/h2&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  El taller permitirá que todos los participantes puedan reunirse y que se organicen grupos de debate entre usuarios y desarrolladores. Este evento es un &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://en.wikipedia.org/wiki/BarCamp&amp;quot;&amp;gt;BARCAMP&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;, entonces prepárese para relacionarse, compartir experiencias y participar.
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  La sección UTILIZACIÓN consistirá en capacitar a los usuarios de telefonía móvil sobre cómo funcionan sus dispositivos o si funcionan en su contra, y les permitirá remplazar el software de fábrica por versiones más seguras o libres.
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  La sección CREACIÓN se centrará en la creación de nuevos software de seguridad o la adaptación de los ya existentes a las plataformas móviles; se debatirá sobre los tipos de amenazas para la telefonía móvil y el uso de la tecnología móvil para asistir a los defensores de derechos, periodistas y activistas.
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  Como asistente del evento, tendrá la oportunidad de:
&amp;lt;/p&amp;gt;

&amp;lt;ul&amp;gt;
  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      aprender a instalar y utilizar los programas para mejorar la privacidad en la telefonía móvil
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;

  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      presentar, compartir, pensar y discutir sobre su proyecto
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;

  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      participar de una actividad de desarrollo rápido de prototipos en la que el USUARIO conoce al DESARROLLADOR
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;

  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      pasar un buen momento con gente inteligente interesada en la telefonía móvil abierta
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  El equipo de The Guardian Project junto a su socio Zetetic, Inc. (creadores de SQLCipher) expondrán sus proyectos, entre los que se incluyen:
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;strong&amp;gt;ObscuraCam e InformaCam&amp;lt;/strong&amp;gt; – proyectos de uso seguro de cámaras con encriptación de vídeo y fotografía y captura mejorada de metadatos : &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/apps/obscuracam/&amp;quot;&amp;gt;https://guardianproject.info/apps/obscuracam/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;strong&amp;gt;Open Source Telephony Network [Red de Telefonía de Código Abierto]&amp;lt;/strong&amp;gt; – creación de un sistema de telefonía libre, seguro y basado en estándares: &amp;lt;a href=&amp;quot;https://guardianproject.info/wiki/OSTN&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;https://guardianproject.info/wiki/OSTN&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;strong&amp;gt;SQLCipher&amp;lt;/strong&amp;gt; – una extensión de la base de datos móviles de SQLite que proporciona una encriptación AES de 256-bit de archivos de base de datos creados por las aplicaciones de teléfonos móviles - &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;quot;&amp;gt;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  ¿Aún no está seguro si Freebird es adecuado para usted? &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/freebird/who&amp;quot;&amp;gt;Consulte la sección &amp;quot;Quién debería asistir&amp;quot; para saber quienes creemos que deberían asistir&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;!--:--&amp;gt;
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;The Plan for the Day&lt;!--:--&gt;&lt;!--:pt--&gt;O Plano do Dia&lt;!--:--&gt;&lt;!--:es--&gt;Actividades del Dia&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/plan/</link>
      <pubDate>Fri, 27 Apr 2012 13:17:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/plan/</guid>
      <description>

&lt;!--:en--&gt;

&lt;h2 id=&#34;agenda-9am-to-5pm-may-30-2012&#34;&gt;Agenda 9am to 5pm - May 30, 2012&lt;/h2&gt;

&lt;p&gt;The workshop will have time for all participants to join together, as well as breakout tracks for users and developers. This is a &lt;a href=&#34;https://en.wikipedia.org/wiki/BarCamp&#34;&gt;BARCAMP&lt;/a&gt; type event, so come prepared to interact, share and participate.&lt;/p&gt;

&lt;p&gt;The USING track will involve expanding mobile users understanding of how their phone works, or is working against them, and enabling them to replace the built-in software with more open or secure versions.&lt;/p&gt;

&lt;p&gt;The BUILDING track will focus on creating new or porting existing security software to mobile platforms, discussion of mobile threat models, and use of mobile technology to assist rights defenders, journalists, and activists.&lt;/p&gt;

&lt;p&gt;As a participant, you will have the chance to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn how to install and use privacy-enhancing mobile software&lt;/li&gt;
&lt;li&gt;Present, share and brainstorm your project&lt;/li&gt;
&lt;li&gt;Join in a USER-meets-DEVELOPER rapid prototyping activity&lt;/li&gt;
&lt;li&gt;Have a great time, meeting smart people who care about open mobility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Guardian Project team, along with their partner Zetetic, Inc. (creators of SQLCipher) will be showing their projects including:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ObscuraCam and InformaCam&lt;/strong&gt; secure smart camera projects, with video and photo encryption and enhanced metadata capture: &lt;a href=&#34;https://guardianproject.info/apps/obscuracam/&#34;&gt;https://guardianproject.info/apps/obscuracam/&lt;/a&gt;&lt;br /&gt;
**&lt;br /&gt;
Open Source Telephony Network** - building an open-source, secure, standards based telephony system: &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;https://guardianproject.info/wiki/OSTN&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;SQLCipher&lt;/strong&gt; - an extension to the SQLite mobile database that provides transparent 256-bit AES encryption of database files created by apps on mobile phones - &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still not sure if Freebird is for you? &lt;a href=&#34;https://guardianproject.info/freebird/who&#34;&gt;See &amp;ldquo;Who&amp;rdquo; we think should attend&amp;hellip;&lt;/a&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;h2 lang=&#34;es-AR&#34;&gt;
  Agenda 9 h às 17 h – 30 de Maio de 2012
&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-family: Times, serif;&#34;&gt;O workshop terá tempo para todos os participantes se juntarem, bem como faixas de novidades para usuários e desenvolvedores. Esse é um evento do tipo &lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/BarCamp&#34;&gt;BARCAMP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;, então venha preparado para interagir, compartilhar e participar.&lt;/span&gt;&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;span style=&#34;font-family: Times, serif;&#34;&gt;A faixa USING envolverá expandir a compreensão dos usuários de celulares sobre o funcionamento de seu telefone, ou se está trabalhando contra eles e que possam substituir o software integrado com versões mais abertas ou seguras.&lt;/span&gt;
&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;span style=&#34;font-family: Times, serif;&#34;&gt;A faixa BUILDING incidirá sobre a criação de novo ou mover software de segurança existente para plataformas móveis, discussão de modelos de ameaças móveis e uso de tecnologia móvel para ajudar ativistas, jornalistas e defensores de direitos.&lt;/span&gt;
&lt;/p&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;span style=&#34;font-family: Times, serif;&#34;&gt;Como participante, você terá a oportunidade de&lt;/span&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Aprender a instalar e usar software móvel que aumenta a privacidade
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Apresentar, compartilhar e debater seu projeto
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Participar na atividade de criação rápida de protótipos USUÁRIO-encontra-DESENVOLVEDOR
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p lang=&#34;pt-BR&#34;&gt;
  Se divertir, conhecendo pessoas inteligentes que se preocupam com mobilidade aberta
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span style=&#34;font-family: Times, serif;&#34;&gt;O time The Guardian Project, com sua parceira Zetetic, Inc. (criadores do SQLCipher) estará mostrando seus projetos, incluindo:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-family: Times, serif;&#34;&gt;&lt;strong&gt;Projetos de câmera inteligente e segura&lt;/strong&gt;&lt;strong&gt; ObscuraCam e InformaCam&lt;/strong&gt;, com criptografia de vídeo e fotografia e captura de metadados reforçada: &lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;a href=&#34;https://guardianproject.info/apps/obscuracam/&#34;&gt;https://guardianproject.info/apps/obscuracam/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;&lt;/p&gt; 
  

&lt;p&gt;&lt;p&gt;
    &lt;/strong&gt;&lt;strong&gt;Open Source Telephony Network&lt;/strong&gt; – construindo um sistema de telefonia aberto, seguro, com base em normas: &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;https://guardianproject.info/wiki/OSTN&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span style=&#34;text-decoration: underline;&#34;&gt;&lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;
  &amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;strong&amp;gt;SQLCipher&amp;lt;/strong&amp;gt; – uma extensão para o banco de dados móvel de SQLite que fornece criptografia transparente AES de 256 bits dos arquivos de banco de dados criado por apps em telefones celulares- &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;quot;&amp;gt;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;pt-BR&amp;quot;&amp;gt;
  &amp;lt;span style=&amp;quot;font-family: Times, serif;&amp;quot;&amp;gt;Ainda não tem certeza se o Freebird é para você? &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/freebird/who&amp;quot;&amp;gt;Veja &amp;quot;Quem” que nós pensamos que deve comparecer…&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;!--:--&amp;gt;

  &amp;lt;!--:es--&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;h2 lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  ACTIVIDADES DEL DÍA
&amp;lt;/h2&amp;gt;

&amp;lt;h2 lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  Programa: de 9 a. m. a 5 p. m. - 30 de mayo de 2012
&amp;lt;/h2&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  El taller permitirá que todos los participantes puedan reunirse y que se organicen grupos de debate entre usuarios y desarrolladores. Este evento es un &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://en.wikipedia.org/wiki/BarCamp&amp;quot;&amp;gt;BARCAMP&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;, entonces prepárese para relacionarse, compartir experiencias y participar.
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  La sección UTILIZACIÓN consistirá en capacitar a los usuarios de telefonía móvil sobre cómo funcionan sus dispositivos o si funcionan en su contra, y les permitirá remplazar el software de fábrica por versiones más seguras o libres.
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  La sección CREACIÓN se centrará en la creación de nuevos software de seguridad o la adaptación de los ya existentes a las plataformas móviles; se debatirá sobre los tipos de amenazas para la telefonía móvil y el uso de la tecnología móvil para asistir a los defensores de derechos, periodistas y activistas.
&amp;lt;/p&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  Como asistente del evento, tendrá la oportunidad de:
&amp;lt;/p&amp;gt;

&amp;lt;ul&amp;gt;
  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      aprender a instalar y utilizar los programas para mejorar la privacidad en la telefonía móvil
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;

  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      presentar, compartir, pensar y discutir sobre su proyecto
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;

  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      participar de una actividad de desarrollo rápido de prototipos en la que el USUARIO conoce al DESARROLLADOR
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;

  &amp;lt;li&amp;gt;
    &amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
      pasar un buen momento con gente inteligente interesada en la telefonía móvil abierta
    &amp;lt;/p&amp;gt;
  &amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;p lang=&amp;quot;es-ES&amp;quot;&amp;gt;
  El equipo de The Guardian Project junto a su socio Zetetic, Inc. (creadores de SQLCipher) expondrán sus proyectos, entre los que se incluyen:
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;strong&amp;gt;ObscuraCam e InformaCam&amp;lt;/strong&amp;gt; – proyectos de uso seguro de cámaras con encriptación de vídeo y fotografía y captura mejorada de metadatos : &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/apps/obscuracam/&amp;quot;&amp;gt;https://guardianproject.info/apps/obscuracam/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;strong&amp;gt;Open Source Telephony Network [Red de Telefonía de Código Abierto]&amp;lt;/strong&amp;gt; – creación de un sistema de telefonía libre, seguro y basado en estándares: &amp;lt;a href=&amp;quot;https://guardianproject.info/wiki/OSTN&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;https://guardianproject.info/wiki/OSTN&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;strong&amp;gt;SQLCipher&amp;lt;/strong&amp;gt; – una extensión de la base de datos móviles de SQLite que proporciona una encriptación AES de 256-bit de archivos de base de datos creados por las aplicaciones de teléfonos móviles - &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;quot;&amp;gt;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  ¿Aún no está seguro si Freebird es adecuado para usted? &amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/freebird/who&amp;quot;&amp;gt;Consulte la sección &amp;quot;Quién debería asistir&amp;quot; para saber quienes creemos que deberían asistir&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;
  &amp;lt;!--:--&amp;gt;
&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Who Should Attend?&lt;!--:--&gt;&lt;!--:pt--&gt;Quem deve participar no Freebird?&lt;!--:--&gt;&lt;!--:es--&gt;¿Quién debería asistar a Freebird?&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/who/</link>
      <pubDate>Fri, 27 Apr 2012 13:11:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/who/</guid>
      <description>

&lt;!--:en--&gt;

&lt;h2 id=&#34;who-should-attend-freebird&#34;&gt;WHO SHOULD ATTEND FREEBIRD?&lt;/h2&gt;

&lt;h3 id=&#34;is-freebird-for-you-yes&#34;&gt;Is Freebird for you? YES!&lt;/h3&gt;

&lt;p&gt;Have you ever worried about if your phone could talk, all the things it would know about your life?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Then Freebird is for you&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have you rooted, jailbroken or otherwise hacked your phone, in order to make it better somehow?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Have you ever built an app for a mobile phone that somehow enhances the privacy of its user, instead of exploiting it?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Are you tired of phone companies and mobile operators telling you what you can or cannot do with the personal mobile computer you just paid a whole lot of money for?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Do you use mobile phones for protests, activism or human rights, but are worried you may be doing more harm than good?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;the-growing-list-of-participants-include&#34;&gt;THE GROWING LIST OF PARTICIPANTS INCLUDE&amp;hellip;&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;http://zetetic.net&#34;&gt;&lt;img title=&#34;project-zetetic-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;95&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;&lt;img title=&#34;torproject&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/torproject.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;118&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34;&gt;&lt;img title=&#34;witness-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&amp;hellip; and more coming soon!&lt;/em&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;h3 lang=&#34;en-GB&#34;&gt;
  O Freebird é para você? SIM!
&lt;/h3&gt;

&lt;p&gt;Alguma vez se preocupou se seu celular pudesse falar, todas as coisas que ele saberia sobre sua vida?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Já alguma vez fez o root, jailbreak ou hackeou seu celular de forma a torná-lo melhor?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Alguma vez você criou um app para um celular que de alguma forma aumenta a privacidade de seu utilizador, em vez de explorá-la?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Você está cansado de empresas de telefonia e operadoras de telefonia celular, lhe dizendo o que você pode ou não pode fazer com o computador portátil pessoal pelo qual você pagou muito dinheiro?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p lang=&#34;en-GB&#34;&gt;
  Você usa celulares para protestos, ativismo ou direitos humanos, mas está preocupado que pode estar fazendo mais mal do que bem?
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 lang=&#34;pt-BR&#34;&gt;
  A LISTA CRESCENTE DE PARTICIPANTES INCLUI…
&lt;/h2&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;h2&gt;
    &lt;a href=&#34;http://zetetic.net&#34;&gt;&lt;img title=&#34;project-zetetic-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;95&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;&lt;img title=&#34;torproject&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/torproject.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;118&#34; /&gt;&lt;/a&gt;
  &lt;/h2&gt;
  
  &lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34;&gt;&lt;img title=&#34;witness-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;
  

&lt;p&gt;&lt;p&gt;
    &lt;em&gt;&amp;hellip; and more coming soon!&lt;/em&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;!--:--&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;!--:es--&amp;gt;

&amp;lt;span style=&amp;quot;font-family: Times;&amp;quot;&amp;gt;¿Alguna vez se preguntó todo lo que su teléfono móvil podría saber sobre su vida&amp;lt;br /&amp;gt; si pudiera hablar?&amp;lt;br /&amp;gt; &amp;lt;em&amp;gt;&amp;lt;strong&amp;gt;Entonces Freebird es para usted.&amp;lt;/strong&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;/span&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Alguna vez &amp;ldquo;rooteó&amp;rdquo;, desbloqueó o &amp;ldquo;hackeó&amp;rdquo; su teléfono&lt;br /&gt; para mejorarlo de alguna manera?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Alguna vez creó una aplicación que mejora la privacidad del usuario del teléfono móvil&lt;br /&gt; , en lugar de explotarla?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Está cansado de que las compañías de telefonía móvil y los operadores le digan lo que puede y lo que no puede hacer&lt;br /&gt; con la computadora personal portátil por la que tanto pagó?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Usa teléfonos móviles para actividades de protesta o reclamo de los derechos humanos,&lt;br /&gt; pero le preocupa hacer más daño que bien?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;h2&gt;
    LA CRECIENTE LISTA DE PARTICIPANTES INCLUYE A
  &lt;/h2&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;http://zetetic.net&#34;&gt;&lt;img class=&#34;alignnone  wp-image-1993&#34; title=&#34;project-zetetic-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;95&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png 300w, https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo.png 600w&#34; sizes=&#34;(max-width: 210px) 100vw, 210px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;&lt;img class=&#34;alignnone  wp-image-1991&#34; title=&#34;torproject&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/torproject.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;118&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-722&#34; title=&#34;witness-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;em&gt;&amp;hellip; and more coming soon!&lt;/em&gt;&lt;!--:--&gt;
  &lt;/p&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Who Should Attend?&lt;!--:--&gt;&lt;!--:pt--&gt;Quem deve participar no Freebird?&lt;!--:--&gt;&lt;!--:es--&gt;¿Quién debería asistar a Freebird?&lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/who/</link>
      <pubDate>Fri, 27 Apr 2012 13:11:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/who/</guid>
      <description>

&lt;!--:en--&gt;

&lt;h2 id=&#34;who-should-attend-freebird&#34;&gt;WHO SHOULD ATTEND FREEBIRD?&lt;/h2&gt;

&lt;h3 id=&#34;is-freebird-for-you-yes&#34;&gt;Is Freebird for you? YES!&lt;/h3&gt;

&lt;p&gt;Have you ever worried about if your phone could talk, all the things it would know about your life?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Then Freebird is for you&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have you rooted, jailbroken or otherwise hacked your phone, in order to make it better somehow?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Have you ever built an app for a mobile phone that somehow enhances the privacy of its user, instead of exploiting it?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Are you tired of phone companies and mobile operators telling you what you can or cannot do with the personal mobile computer you just paid a whole lot of money for?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Do you use mobile phones for protests, activism or human rights, but are worried you may be doing more harm than good?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Then Freebird is for you&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;the-growing-list-of-participants-include&#34;&gt;THE GROWING LIST OF PARTICIPANTS INCLUDE&amp;hellip;&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;http://zetetic.net&#34;&gt;&lt;img title=&#34;project-zetetic-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;95&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;&lt;img title=&#34;torproject&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/torproject.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;118&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34;&gt;&lt;img title=&#34;witness-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&amp;hellip; and more coming soon!&lt;/em&gt;&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;h3 lang=&#34;en-GB&#34;&gt;
  O Freebird é para você? SIM!
&lt;/h3&gt;

&lt;p&gt;Alguma vez se preocupou se seu celular pudesse falar, todas as coisas que ele saberia sobre sua vida?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Já alguma vez fez o root, jailbreak ou hackeou seu celular de forma a torná-lo melhor?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Alguma vez você criou um app para um celular que de alguma forma aumenta a privacidade de seu utilizador, em vez de explorá-la?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Você está cansado de empresas de telefonia e operadoras de telefonia celular, lhe dizendo o que você pode ou não pode fazer com o computador portátil pessoal pelo qual você pagou muito dinheiro?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p lang=&#34;en-GB&#34;&gt;
  Você usa celulares para protestos, ativismo ou direitos humanos, mas está preocupado que pode estar fazendo mais mal do que bem?
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;O Freebird é para você!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 lang=&#34;pt-BR&#34;&gt;
  A LISTA CRESCENTE DE PARTICIPANTES INCLUI…
&lt;/h2&gt;

&lt;p lang=&#34;pt-BR&#34;&gt;
  &lt;h2&gt;
    &lt;a href=&#34;http://zetetic.net&#34;&gt;&lt;img title=&#34;project-zetetic-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;95&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;&lt;img title=&#34;torproject&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/torproject.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;118&#34; /&gt;&lt;/a&gt;
  &lt;/h2&gt;
  
  &lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34;&gt;&lt;img title=&#34;witness-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;
  

&lt;p&gt;&lt;p&gt;
    &lt;em&gt;&amp;hellip; and more coming soon!&lt;/em&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;!--:--&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;!--:es--&amp;gt;

&amp;lt;span style=&amp;quot;font-family: Times;&amp;quot;&amp;gt;¿Alguna vez se preguntó todo lo que su teléfono móvil podría saber sobre su vida&amp;lt;br /&amp;gt; si pudiera hablar?&amp;lt;br /&amp;gt; &amp;lt;em&amp;gt;&amp;lt;strong&amp;gt;Entonces Freebird es para usted.&amp;lt;/strong&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;/span&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Alguna vez &amp;ldquo;rooteó&amp;rdquo;, desbloqueó o &amp;ldquo;hackeó&amp;rdquo; su teléfono&lt;br /&gt; para mejorarlo de alguna manera?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Alguna vez creó una aplicación que mejora la privacidad del usuario del teléfono móvil&lt;br /&gt; , en lugar de explotarla?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Está cansado de que las compañías de telefonía móvil y los operadores le digan lo que puede y lo que no puede hacer&lt;br /&gt; con la computadora personal portátil por la que tanto pagó?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;font-family: Times;&#34;&gt;¿Usa teléfonos móviles para actividades de protesta o reclamo de los derechos humanos,&lt;br /&gt; pero le preocupa hacer más daño que bien?&lt;br /&gt; &lt;em&gt;&lt;strong&gt;Entonces Freebird es para usted.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;h2&gt;
    LA CRECIENTE LISTA DE PARTICIPANTES INCLUYE A
  &lt;/h2&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;http://zetetic.net&#34;&gt;&lt;img class=&#34;alignnone  wp-image-1993&#34; title=&#34;project-zetetic-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;95&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo-300x136.png 300w, https://guardianproject.info/wp-content/uploads/2012/04/project-zetetic-logo.png 600w&#34; sizes=&#34;(max-width: 210px) 100vw, 210px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://torproject.org&#34;&gt;&lt;img class=&#34;alignnone  wp-image-1991&#34; title=&#34;torproject&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/torproject.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;118&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-722&#34; title=&#34;witness-logo&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/witness-logo.gif&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;87&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;em&gt;&amp;hellip; and more coming soon!&lt;/em&gt;&lt;!--:--&gt;
  &lt;/p&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Contact Us&lt;!--:--&gt;&lt;!--:pt--&gt;Fale Conosco&lt;!--:--&gt;&lt;!--:es--&gt;Contacte con Nosotros &lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/signup/</link>
      <pubDate>Fri, 27 Apr 2012 12:24:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/signup/</guid>
      <description>&lt;!--:en--&gt;

&lt;p&gt;&lt;strong&gt;Freebird is full! Thank you for the interest. &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please visit the full &lt;a href=&#34;https://guardianproject.info&#34;&gt;Guardian Project website&lt;/a&gt; to learn about other ways you can participate in working towards a more open, secure mobile world.&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;p&gt;&lt;strong&gt;Preencha a informações abaixo e responderemos em breve com mais informações.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[contact-form-7 id=&amp;ldquo;1889&amp;rdquo; title=&amp;ldquo;Freebird: RioNYC&amp;rdquo;]&lt;/p&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;p&gt;&lt;strong&gt;Please fill out the information below, and we will respond shortly with more information.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[contact-form-7 id=&amp;ldquo;1889&amp;rdquo; title=&amp;ldquo;Freebird: Rio&amp;lt;-&amp;gt;NYC&amp;rdquo;]&lt;/p&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>&lt;!--:en--&gt;Contact Us&lt;!--:--&gt;&lt;!--:pt--&gt;Fale Conosco&lt;!--:--&gt;&lt;!--:es--&gt;Contacte con Nosotros &lt;!--:--&gt;</title>
      <link>https://guardianproject.info/freebird/signup/</link>
      <pubDate>Fri, 27 Apr 2012 12:24:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/freebird/signup/</guid>
      <description>&lt;!--:en--&gt;

&lt;p&gt;&lt;strong&gt;Freebird is full! Thank you for the interest. &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please visit the full &lt;a href=&#34;https://guardianproject.info&#34;&gt;Guardian Project website&lt;/a&gt; to learn about other ways you can participate in working towards a more open, secure mobile world.&lt;!--:--&gt;&lt;/p&gt;

&lt;!--:pt--&gt;

&lt;p&gt;&lt;strong&gt;Preencha a informações abaixo e responderemos em breve com mais informações.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[contact-form-7 id=&amp;ldquo;1889&amp;rdquo; title=&amp;ldquo;Freebird: RioNYC&amp;rdquo;]&lt;/p&gt;

&lt;!--:--&gt;

&lt;!--:es--&gt;

&lt;p&gt;&lt;strong&gt;Please fill out the information below, and we will respond shortly with more information.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[contact-form-7 id=&amp;ldquo;1889&amp;rdquo; title=&amp;ldquo;Freebird: Rio&amp;lt;-&amp;gt;NYC&amp;rdquo;]&lt;/p&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>Singing and Dancing for Encryption</title>
      <link>https://guardianproject.info/2012/04/19/singing-and-dancing-for-encryption/</link>
      <pubDate>Thu, 19 Apr 2012 09:30:48 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/04/19/singing-and-dancing-for-encryption/</guid>
      <description>&lt;p style=&#34;text-align: center&#34;&gt;
  &lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;a href=&#34;https://secure.flickr.com/photos/ksd-photography/4899157618/&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://farm5.staticflickr.com/4099/4899157618_b35f53be23_z.jpg&#34; alt=&#34;【KSD Photography】 Capturing Life&#34; width=&#34;640&#34; height=&#34;343&#34; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left&#34;&gt;
  &lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;If you see me dancing or signing with my phone in my hand, I may not just be having a great time, but also creating an encryption key. Part of the issue with security is that it can often be difficult to implement or an added step in what users want to be an easy and seamless process. What if we can make secure and private communications fun and easy?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;This past weekend, a bunch of members of the Guardian Project team found ourselves at the &lt;a title=&#34;wall-street-journal-data-transparency-weekend-day&#34; href=&#34;http://blogs.wsj.com/digits/2012/04/16/the-winners-of-wsjs-data-transparency-weekend/&#34; target=&#34;_blank&#34;&gt;Wall Street Journal Data Transparency Hackathon&lt;/a&gt;. The Journal put this together in order to “invite developers to help build free Web tools that promote data transparency and control.” The tracks were divided into:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;strong&gt;Scanning:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; Enhancing technology that scans the Web to reveal tracking&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;strong&gt;Education:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; Helping people see how much information they share&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;strong&gt;Control:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; Improving software that helps people control sensitive information&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Tracks were led by &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a title=&#34;ashkan soltani&#34; href=&#34;http://ashkansoltani.org/&#34; target=&#34;_blank&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Ashkan Soltani&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;, an independent researcher and technical adviser to the Journal; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a title=&#34;brian kennish&#34; href=&#34;http://byoogle.com/&#34; target=&#34;_blank&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Brian Kennish&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;, a Web developer and founder of Disconnect; and &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a title=&#34;Jacob Appelbaum&#34; href=&#34;https://twitter.com/#!/ioerror&#34; target=&#34;_blank&#34;&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Jacob Appelbaum&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;, a security researcher at the Tor Project. Our teams went down the path of control, with the goal of making tools that are secure by default.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;We danced our way into winning in the control category by helping the victorious &lt;a title=&#34;cryptocat&#34; href=&#34;https://crypto.cat/about/&#34; target=&#34;_blank&#34;&gt;Cryptocat&lt;/a&gt; team that has a tool for encrypted chat service right from the browser. This fantastic project blew through a number of innovations, porting into a Firefox web app, doing desktop notifications, and improved cryptographic primitives from within the browser. We helped by creating an Android app for the tool that converts dance moves into a random number generator for creating the encryption key. Just start the program, enter the name of the chat, enter your nickname, then DANCE. Starting a secure chat from a phone is now as easy as that. You can try it in your browser via their site &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;https://crypto.cat/&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;https://crypto.cat/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; or &lt;a title=&#34;cryptocat android app&#34; href=&#34;https://guardianproject.info/apps/cryptocat/&#34; target=&#34;_blank&#34;&gt;download our new Android app&lt;/a&gt; (either with or without Tor compatibility)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;. And congrats to &lt;a title=&#34;nadim kobeissi&#34; href=&#34;http://nadim.cc/&#34; target=&#34;_blank&#34;&gt;Nadim Kobeissi&lt;/a&gt; for this well deserved win and the team Tobias Pulls, Jacob Appelbaum, &lt;a title=&#34;david huerta&#34; href=&#34;http://davidhuerta.me/&#34; target=&#34;_blank&#34;&gt;David Huerta&lt;/a&gt;, &lt;a title=&#34;joseph bonneau&#34; href=&#34;http://www.jbonneau.com/&#34; target=&#34;_blank&#34;&gt;Joseph Bonneau&lt;/a&gt;  and &lt;a title=&#34;nathan freittas&#34; href=&#34;http://openideals.com/&#34; target=&#34;_blank&#34;&gt;Nathan Freitas&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style=&#34;width: 510px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://secure.flickr.com/photos/aspirationtech/7077092229/sizes/m/in/photostream/&#34;&gt;&lt;img src=&#34;https://farm6.staticflickr.com/5071/7077092229_5e3f9ed867.jpg&#34; alt=&#34;&#34; width=&#34;500&#34; height=&#34;333&#34; /&gt;&lt;/a&gt;
  
  &lt;p class=&#34;wp-caption-text&#34;&gt;
    The Guardian Team &amp; Friends Hacking Away
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;We sang our way into winning in a new category that the judges came up with, “soup cans and string” for &lt;a title=&#34;Open Secure Telephony Network (OSTN) ostel&#34; href=&#34;https://ostel.me&#34; target=&#34;_blank&#34;&gt;Ostel&lt;/a&gt;, our encrypted VOIP solution. Launching an alpha version of our tool in front of some of the worlds leading experts in the security field was a risky move, but thankfully we managed to work out a number of bugs and generally received great feedback and support from the community. Over the weekend, we made progress in our alpha demo, identified additional clients that can receive calls on Mac, PC, Linux, iPhone, &amp;amp; Blackberry and created a new user signup system that allows users to register and immediately be sent an email with a link to their credentials via SSL. To extend the project even further, we have started compiling information on VOIP laws in countries from every continent so that the tool can explicitly be supported on as many platforms, in as many countries and in as many languages as possible. In addition to singing praise, singing (and other voice signatures) might be used in the future for entropy as the random number generator for the encryption key exchange. &lt;a title=&#34;privategsm&#34; href=&#34;http://www.privatewave.com/products-services/private-gsm/product.html&#34; target=&#34;_blank&#34;&gt;PrivateGSM&lt;/a&gt; is already doing this and it would be great to incorporate this feature into Ostel &amp;amp; &lt;a title=&#34;CSipSimple&#34; href=&#34;https://code.google.com/p/csipsimple/&#34; target=&#34;_blank&#34;&gt;CSipSimple&lt;/a&gt; later on. Thanks to Lee Azzarello, Luke Stark, Sean McIntyre and Zach Schwartz for being great members of the Ostel team. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div style=&#34;width: 510px&#34; class=&#34;wp-caption aligncenter&#34;&gt;
  &lt;a href=&#34;https://secure.flickr.com/photos/aspirationtech/6935372190/sizes/m/in/photostream/&#34;&gt;&lt;img src=&#34;https://farm6.staticflickr.com/5327/6935372190_a576a30d16.jpg&#34; alt=&#34;&#34; width=&#34;500&#34; height=&#34;333&#34; /&gt;&lt;/a&gt;
  
  &lt;p class=&#34;wp-caption-text&#34;&gt;
    Lee accepts the &#34;Soupcan &amp; Strings Award&#34; for Ostel
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Dancing for encryption in Cryptocat, singing for encryption in Ostel. Let us know if you have other ideas for fun ways to generate keys. We’re always looking for inspiring ideas from the community.&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;We’re even well on our way to seeing the world through encryption tinted glasses. Progress was made on making innovations in &lt;a title=&#34;informacam&#34; href=&#34;https://guardianproject.info/2012/01/20/introducing-informacam/&#34; target=&#34;_blank&#34;&gt;our Informacam project&lt;/a&gt;. The goal is to be able to snap a picture, but protect the privacy of the people in the frame by blurring their faces and the metadata connected to the event. Whie this can be crucial in a sensitive scenario, it can also be important that a judge or trusted organization can “unblur” the image and so we’re working on a way to encrypt and send those pixels. Bugs were removed, code was written, and soon enough, hopefully we’ll be able to incorporate it into the &lt;a title=&#34;google augmented reality goggles&#34; href=&#34;https://arstechnica.com//gadgets/news/2012/04/google-unveils-project-glass-augmented-reality-glasses.ars&#34; target=&#34;_blank&#34;&gt;new Google Augmented reality goggles&lt;/a&gt;.  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table style=&#34;margin: 0px auto&#34;&gt;
  &lt;tr&gt;
    &lt;td width=&#34;201&#34;&gt;
      &lt;img class=&#34;alignnone size-full wp-image-1461&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.07-PM.png&#34; alt=&#34;InformaCam (2)&#34; width=&#34;201&#34; height=&#34;332&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.07-PM.png 201w, https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.07-PM-181x300.png 181w&#34; sizes=&#34;(max-width: 201px) 100vw, 201px&#34; /&gt;
    &lt;/td&gt;
    
    &lt;td width=&#34;197&#34;&gt;
      &lt;img class=&#34;alignnone size-full wp-image-1462&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.21-PM.png&#34; alt=&#34;InformaCam (3)&#34; width=&#34;197&#34; height=&#34;330&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.21-PM.png 197w, https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.21-PM-179x300.png 179w&#34; sizes=&#34;(max-width: 197px) 100vw, 197px&#34; /&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      &lt;em&gt;Using the InformaCam “Identify” filter.&lt;/em&gt;
    &lt;/td&gt;
    
    &lt;td&gt;
      &lt;em&gt;Select a Trusted Destination for your encrypted media.&lt;/em&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&lt;span&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Being head down, singing and dancing encryption with our security glasses on while coding, it was easy to miss the other amazing projects in the room. I highly recommend checking out the other winners as well. They’re doing fantastic and necessary work:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;“Scanning” Track Winner:  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;http://www.hackerleague.org/hackathons/wsj-data-transparency-code-a-thon/hacks/tosback2&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;TOSBack2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; – a living archive of all privacy policies&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;“Education” Track Winner:   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;http://www.hackerleague.org/hackathons/wsj-data-transparency-code-a-thon/hacks/privacybucket&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;PrivacyBucket&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; – a Chrome extension that measures the extent to which individual third-party trackers can discover demographic information about the use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Judges’ Choice Winner:   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;http://www.hackerleague.org/hackathons/wsj-data-transparency-code-a-thon/hacks/site-scoper&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;Site Scoper&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;“Ready for Primetime” Winner:   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;http://www.hackerleague.org/hackathons/wsj-data-transparency-code-a-thon/hacks/mobilescope&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;MobileScope&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;“Zuckerberg/Systrom Memorial Award for Opportunistic Optimism” Winner:   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;http://www.hackerleague.org/hackathons/wsj-data-transparency-code-a-thon/hacks/pestagram-its-pinterest-for-instagram&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;Pestagram&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;“Best Listener” Winner:   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&#34;http://www.hackerleague.org/hackathons/wsj-data-transparency-code-a-thon/hacks/the-price-of-free&#34;&gt;&lt;span style=&#34;color: #0025e5&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;&lt;span style=&#34;text-decoration: underline&#34;&gt;The Price of Free&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span style=&#34;color: #000000&#34;&gt;&lt;span style=&#34;font-family: ArialMT,sans-serif&#34;&gt;&lt;span style=&#34;font-size: small&#34;&gt;Thanks to &lt;a title=&#34;julia angwin&#34; href=&#34;http://www.juliaangwin.com/&#34; target=&#34;_blank&#34;&gt;Julia Angwin&lt;/a&gt; and the WSJ team for making this great event and the fantastic &lt;a title=&#34;what they know&#34; href=&#34;http://blogs.wsj.com/wtk/&#34; target=&#34;_blank&#34;&gt;What They Know blog&lt;/a&gt; possible, to &lt;a title=&#34;gunner aspiration&#34; href=&#34;http://aspirationtech.org/blog/gunner&#34; target=&#34;_blank&#34;&gt;Gunner&lt;/a&gt; for being such an inspiring facilitator, to judges Alessandro Acquisti, Sid Stamm, Dan Kaminsky, &lt;a title=&#34;andrew mclaughlin&#34; href=&#34;http://andrewmclaughlin.info/&#34; target=&#34;_blank&#34;&gt;Andrew McLaughlin&lt;/a&gt; and to everyone else who made this possible.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>User scenarios to guide our crypto development</title>
      <link>https://guardianproject.info/2012/04/14/user-scenarios-to-guide-our-crypto-development/</link>
      <pubDate>Sat, 14 Apr 2012 20:16:03 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/04/14/user-scenarios-to-guide-our-crypto-development/</guid>
      <description>&lt;p&gt;At Guardian Project, we find user-centered development to be essential to producing useful software that addresses real world needs. To drive this, we work with user stories and scenarios as part of the process of developing software. One particular development focus is the &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34; title=&#34;Portable Shared Security Token&#34; target=&#34;_blank&#34;&gt;Portable Shared Security Token (PSST)&lt;/a&gt; project, which aims to make it easy to use encryption across both mobile and desktop computers, as well as keep the stores of cryptographic identities (i.e. trusted keys, certificates, etc) in sync between devices.&lt;/p&gt;

&lt;p&gt;This post outlines some initial user scenarios that PSST aims to address. We believe them to be common enough so that our solutions will be readily applicable to real world people now. They are a small subset of all of the types of users that we feel can ultimately benefit from the PSST core research, so these user stories provide a starting place for honing the tools for the needs of actual working organizations. These stories also discuss how the software could be used in these situations. The software as described mostly exists, but not all details are currently implemented or even fully vetted as secure practices.&lt;/p&gt;

&lt;p&gt;We are very eager for feedback, comments, and criticism on any aspect of these scenarios, from whether they are plausible to whether the user interactions described are built upon realistic expectations of actual members of organizations like the ones described here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Small Cabal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/activists-meeting.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/activists-meeting.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;224&#34; class=&#34;alignright size-full wp-image-1799&#34; /&gt;&lt;/a&gt;There is a small group of people that needs to communicate as securely and anonymously as possible. They all meet up in person. They generate keys, and individually sign each person’s key and get that person’s signature on their own key. These are local-only unpublishable signatures. No one uploads their keys to any other server or device. They each generate a revocation certificate and hook it up to their panic button app. Once the panic button is hit, the phone broadcasts the revocation certificate to the pre-determined list of people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diffuse Activist Organization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An activist organization has members spread out all over their country, with concentrations in certain areas, and a handful abroad. They are working in a country that aggressively tracks communications, but encryption is not banned nor aggressively tracked. Since there are many members and they are widely spread, very few of the members have met the whole membership. Many members often meet up in person at various places around the country, and some people also travel to regional and national meet-ups. The central forum for the whole group is on the internet, and there are many big group discussions and announcements that happen on internet forums.&lt;/p&gt;

&lt;p&gt;Each member has a cryptographic key that represents their online identity, which they post to the public keyservers. They generate and store a revocation certificate to upload to the keyservers in case of a compromised key or computer. They do not post any signatures to the key servers so that the social graph information remains private. Whenever they meet another person that they trust, they sign each others’ keys and swap all signature data using direct peer-to-peer communication.&lt;/p&gt;

&lt;p&gt;When interacting with members who they only know on the internet, they check whether they have a cryptographic trust path to each others’ keys, and if not, they establish the first step of trust via OTR by doing key verification via question/answer, shared secret or manual fingerprint validation over a trusted channel, like the phone. When they hit there panic button the post the revocation certificate to the keyserver. Each member’s computer/phone automatically checks the public keyservers for revocations hourly, and marks any revoked key as invalid as soon as it receives a revocation certificate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multinational Organization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/orgmtg.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/orgmtg.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;158&#34; class=&#34;alignleft size-full wp-image-1800&#34; /&gt;&lt;/a&gt;An organization has many members in a number of different countries. Some of the governments are supportive of the organization’s goals, while some of the governments are strongly hostile and are actively seeking out local members. Many members work in countries where there is little chance of active tracking and monitoring of their use of encryption, while others work in high risk environments from time to time. Certain local contacts and members work in aggressively monitored countries where use of encryption is a flag for the secret police.&lt;/p&gt;

&lt;p&gt;The public figures of the organization in safe countries have a public trust profile that is freely downloadable. They use the public OpenPGP infrastructure and publicly share all public signatures. These members also have private, unpublishable signatures related to the members in high risk situations. Operatives in high risk situations use only unpublishable local signatures and the whole collection of signatures is stored in an encrypted form. There devices only contact keyservers via anonymized connections like Tor or VPNs.&lt;/p&gt;

&lt;p&gt;When members are signing each other’s keys, the signatures are always sent to the key owner via encrypted email. The signer can then mark the signature as private or public, or their software can be set to always mark all keys as private and unpublishable. When the key owner receives the emailed signature, she can then decide how to manage the signatures: either privately import the signature to their keyring, where it will be stored in an unpublishable format; or publicly import the signature into their keyring and sync it via the public PGP servers. If the signer emailed a private signature to the key owner, then the key management software will automatically make it a private signature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Improvised movement organized via social software&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/File:Tahrir_Square_during_8_February_2011.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/Tahrir_Square_during_8_February_2011-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; class=&#34;alignright size-medium wp-image-1791&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/Tahrir_Square_during_8_February_2011-300x225.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/04/Tahrir_Square_during_8_February_2011-1024x768.jpg 1024w, https://guardianproject.info/wp-content/uploads/2012/04/Tahrir_Square_during_8_February_2011.jpg 1600w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;People from all over a region join a popular movement to help organize protests, distribute media, spread information, etc. Many join in groups of friends or family, but overall the group is not socially well connected together. The common cause is the central binding of the group. In their communications, they want to avoid keyword filtering and communications tracking, as well as try to hinder infiltration and the injection of misinformation. They need to communicate and exchange media with some level of trust. Since the group wants as many members as possible, the infrastructure must be relatively open and public.&lt;/p&gt;

&lt;p&gt;Users who do not have any shared history will trust each other’s keys on first contact, and rely on the continued validation against the initial mark of trust (known as TOFU/POP or Trust On First Use/Persistence of Pseudonym). Once users build up some context with each other, they can deepen the cryptographic trust by using OTR question/answer or shared secret authentication. Users publicly share their TOFU/POP and OTR marks of trust on public exchanges so that people can build up public trust in their cryptographic identity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Foreign Journalist, Diplomat, Business Person, etc.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This user is working in a place with active monitoring, tracking and filtering. She has strong links to institutions outside of the country that can help in case of trouble. She has clear outsider status so is able to use encryption and anonymizing software without a large risk of persecution. She wants to keep her communications private in the face of active monitoring.&lt;/p&gt;

&lt;p&gt;Standard public cryptography tools cover most of this situation, but they must be made easier to use, and work on mobile devices. If this user needs encrypted exchanges with locals at high risk of monitoring, local unpublishable signatures can be used in those situations.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How We Help</title>
      <link>https://guardianproject.info/2012/04/10/how-we-help/</link>
      <pubDate>Tue, 10 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/2012/04/10/how-we-help/</guid>
      <description>

&lt;p&gt;While we think that a secure, privacy-enhanced mobile phone is a good thing for just about anybody going about their daily lives, we like to also consider the extreme cases, where this technology might change the course of someones life.&lt;/p&gt;

&lt;p&gt;The Economist covered our work with WITNESS on &lt;a href=&#34;https://www.witness.org/cameras-everywhere/witness-labs&#34;&gt;Secure Smart Cameras&lt;/a&gt;, and the &lt;a href=&#34;https://www.youtube.com/watch?v=lk2dTeDSHB8&amp;amp;feature=player_embedded&#34;&gt;&amp;ldquo;Future of Protest Video&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Below are a few ideas of how Guardian phones might be used in the real world.&lt;/p&gt;

&lt;h3 id=&#34;the-new-mobile-journalist&#34;&gt;The New Mobile Journalist&lt;/h3&gt;

&lt;blockquote&gt;
&lt;div id=&#34;_mcePaste&#34;&gt;
  By convincing them of its ability to safeguard information on contacts, story notes and digital media, Guardian will become the new &#34;reporter&#39;s notepad&#34; for major news organizations like the New York Times, BBC, CNN and Al Jazeera. In addition the (soon to have) 12MP still camera and HD video / audio recording capabilities of new Android hardware meet the quality standards for broadcast, print and online production. In addition, emerging online citizen journalists organizations can afford to promote the use of and distribute Guardian phones to their contributors.
&lt;/div&gt;
&lt;/blockquote&gt;

&lt;h3 id=&#34;routing-around-censorship&#34;&gt;Routing around Censorship&lt;/h3&gt;

&lt;blockquote&gt;
&lt;div id=&#34;_mcePaste&#34;&gt;
  Mobile phones in many countries face the same online censorship and monitoring that desktop web users do. Guardian, in collaboration with the Tor Project, provides tools for circumventing the blocking of sites, such as Google, YouTube, Facebook, CNN, Wikipedia and more, while also protecting the information the user is searching for, sharing or publishing, whether it be a chat with their friends, or their latest blog post.
&lt;/div&gt;
&lt;/blockquote&gt;

&lt;h3 id=&#34;advocating-for-human-rights&#34;&gt;Advocating for Human Rights&lt;/h3&gt;

&lt;blockquote&gt;
&lt;div id=&#34;_mcePaste&#34;&gt;
  An undercover human rights researcher traveling through a remote region without mobile data service is able to use their Guardian phone to document local conditions (via camera phone or audio recording) while seeming to just be making phone calls or checking a text message. Data captures is stored encrypted on the device or a removable SD card. If the researcher is detained by a local militia force, they can easily wipe the device, or if unable to, be assured that all data is securely encrypted, and near impossible to crack without significant computing resources. In addition, the names and phone numbers of people they have been in contact with are not revealed to the local forces, safeguarding those who they intended to help in the first place.
&lt;/div&gt;
&lt;/blockquote&gt;

&lt;h3 id=&#34;verifying-the-media&#34;&gt;Verifying the Media&lt;/h3&gt;

&lt;blockquote&gt;
&lt;div&gt;
  Tech savvy citizen journalists and activists in the streets of a protest use Guardian phones to send updates, photos and videos to the Internet without interception by the local authorities, while also maintaining their anonymity. In addition, because Guardian utilizes cryptographic data signing, the media posted is trusted and reputable, and even includes GPS coordinates in its metadata.
&lt;/div&gt;
&lt;/blockquote&gt;

&lt;h3 id=&#34;mapping-a-crisis&#34;&gt;Mapping a Crisis&lt;/h3&gt;

&lt;blockquote&gt;
&lt;div id=&#34;_mcePaste&#34;&gt;
  UN Election monitoring teams distribute low cost Guardian phones (tied into a crisis mapping platform such as Ushahidi) to community organizations to report on issues. Guardian assures reports are sent without being tampered with and provides the UN and the local groups an ability to securely communicate without local interception
&lt;/div&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Transparent encrypted virtual disks for Android (we call it IOCipher)</title>
      <link>https://guardianproject.info/2012/04/03/transparent-encrypted-virtual-disks-for-android-we-call-it-iocipher/</link>
      <pubDate>Tue, 03 Apr 2012 13:16:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/04/03/transparent-encrypted-virtual-disks-for-android-we-call-it-iocipher/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/blog_sed.png&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/blog_sed.png&#34; alt=&#34;&#34; width=&#34;200&#34; height=&#34;200&#34; class=&#34;alignleft size-full wp-image-1764&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/blog_sed.png 200w, https://guardianproject.info/wp-content/uploads/2012/04/blog_sed-150x150.png 150w&#34; sizes=&#34;(max-width: 200px) 100vw, 200px&#34; /&gt;&lt;/a&gt;When using phones, laptops, computers, etc. it feels like a private experience, as if our screen was the same as a piece of paper, and when that paper is gone, then no one can see it anymore. Digital media works very differently. While the user interface portrays the deletion of files as very final, for someone with the right tools, it is actually not hard to recover deleted files. Also, digital information takes up so little space, we now regularly carry vast amounts of information in our pockets. Our phones have become amazingly powerful computers, storing as many photos, videos, documents, etc. in our pockets as would have required a room not so long ago. So when you lose this phone, or it gets stolen, or accessed against your wishes, the lies of the interface are laid bare, and vast troves of your information is now in someone else’s hands. So how can we capitalize on all this power without giving up control of our information?&lt;/p&gt;

&lt;p&gt;Encryption provides the building blocks for making the experience no longer a lie. With properly encrypted data, it is possible to throw away the key and delete it, and then no one can get the data ever again. The problem now is how best to use encryption to make our private information actually private with as few complicated decisions or onerous interfaces as possible. Full disk encryption is one popular choice. It does a good job of providing a transparent experience, merely type in a password when you boot up your computer, and the rest is totally normal. But it also offers limited protection. When your full disk encryption is unlocked and your computer is running, that disk behaves no differently than an unencrypted disk. Someone with access to the computer has full access to the files, malware does too, undelete tools will still work, etc. You have to power off the computer to get the protection that full disk encryption provides.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/04/fde.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/04/fde.jpg&#34; alt=&#34;&#34; width=&#34;350&#34; height=&#34;250&#34; class=&#34;alignright size-full wp-image-1763&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/04/fde.jpg 350w, https://guardianproject.info/wp-content/uploads/2012/04/fde-300x214.jpg 300w&#34; sizes=&#34;(max-width: 350px) 100vw, 350px&#34; /&gt;&lt;/a&gt;Another option is providing virtual encrypted disks like &lt;a href=&#34;http://www.truecrypt.org/&#34; target=&#34;_blank&#34;&gt;TrueCrypt&lt;/a&gt; or &lt;a href=&#34;http://support.apple.com/kb/HT1578&#34; target=&#34;_blank&#34;&gt;Apple’s encrypted disk images&lt;/a&gt;. Then you can decide on what needs to be in which compartment and what is always unlocked versus what is locked away behind a long, cryptic password with a short timeout. This provides good security and privacy when managed properly, but requires a fair amount of skill and time to setup and manage everything. These techniques also require root access since they mount these virtual disks as file systems. We focus a lot on Android, where most people do not have root access.&lt;/p&gt;

&lt;p&gt;A related approach is to have a software layer automatically encrypt each file. This is how the &lt;a href=&#34;http://support.apple.com/kb/HT1578&#34; target=&#34;_blank&#34;&gt;EncFS FUSE module&lt;/a&gt; and the &lt;a href=&#34;https://mapl.certgate.com/&#34; target=&#34;_blank&#34;&gt;Certgate MAPL&lt;/a&gt; file access work. This provides transparent encryption, but since each file is individually encrypted, a lot of information is still available without decrypting anything: the file size, modification and access times, etc.&lt;/p&gt;

&lt;p&gt;We’re working on another approach similar to the approach we took with &lt;a href=&#34;https://guardianproject.info/code/sqlcipher/&#34; target=&#34;_blank&#34;&gt;SQLCipher for Android&lt;/a&gt;. We’re calling it &lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34; target=&#34;_blank&#34;&gt;IOCipher&lt;/a&gt;. In SQLCipher for Android, we took the code from Android’s core android.database.* classes used for working with the built-in SQLite and replaced the guts with the SQLCipher encrypted database. This allows Android app developers to use the familiar and well documented android.database.* API to build in encrypted storage into their apps. With IOCipher, we are again using SQLCipher as the core, but this time we are wrapping it with &lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;libsqlfs&lt;/a&gt; to make it behave like a filesystem, then grabbing the code to Android’s java.io.* API and replacing the guts with calls to libsqlfs on top of SQLCipher. libsqlfs is also a &lt;a href=&#34;http://fuse.sourceforge.net/&#34; target=&#34;_blank&#34;&gt;FUSE&lt;/a&gt;&lt;em&gt;(Filesystem in Userspace)&lt;/em&gt; module, so it provides an API very similar to the POSIX API for working with files and directories. So that makes it easy to take &lt;code&gt;java.io.File&lt;/code&gt;, for example, and replace all the calls to &lt;code&gt;read()&lt;/code&gt;, &lt;code&gt;open()&lt;/code&gt;, &lt;code&gt;write()&lt;/code&gt;, &lt;code&gt;stat()&lt;/code&gt;, etc. with calls to &lt;code&gt;sqlfs_proc_read()&lt;/code&gt;, &lt;code&gt;sqlfs_proc_open()&lt;/code&gt;, &lt;code&gt;sqlfs_proc_write()&lt;/code&gt;, &lt;code&gt;sqlfs_proc_stat()&lt;/code&gt;, etc. Then all the Android developer needs to do is to java their &lt;code&gt;import java.io.*&lt;/code&gt; to &lt;code&gt;import info.guardianproject.iocipher.*&lt;/code&gt;, specify the database file to use, and the key to lock/unlock it, and the rest is normal Java programming.&lt;/p&gt;

&lt;p&gt;The beauty of using libsqlfs+SQLCipher is that its built of top of SQLite, which gives us a single, very portable file that is the whole filesystem, like a Mac OS X .dmg file or TrueCrypt .tc file. SQLite also allows multiple processes to access the same database file, so that means multiple apps can mount an IOCipher virtual disk, and can use Android permissions and native filesystem permissions to control access to the virtual filesystem. Lastly, libsqlfs is already a FUSE module. FUSE is already nicely integrated into most GNU/Linux distributions, and also available for Mac OS X and BSD. That means that the single file that represents a IOCipher file system could also be easily mounted on GNU/Linux, Mac OS X and BSD (we are already doing this on Debian and Ubuntu, Mac OS X will require some more work).&lt;/p&gt;

&lt;p&gt;All in all we think this approach will make filesystem encryption easier to include in Android apps, and also make it possible to have the encryption be trivial to setup and very transparent to the user. Its close to being usable, once it is, we’ll post instructions on how you can use it in your apps. For now, you can follow our progress here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34;&gt;https://github.com/guardianproject/libsqlfs&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/IOCipher&#34;&gt;https://github.com/guardianproject/IOCipher&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/wiki/Products_of_PSST_Work&#34;&gt;https://guardianproject.info/wiki/Products_of_PSST_Work&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Knight News funding of SecureSmartCam = a #WIN for open-source mobile security</title>
      <link>https://guardianproject.info/2012/03/29/knight-news-funding-of-securesmartcam-a-#win-for-open-source-mobile-security/</link>
      <pubDate>Thu, 29 Mar 2012 12:07:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/29/knight-news-funding-of-securesmartcam-a-#win-for-open-source-mobile-security/</guid>
      <description>&lt;p&gt;Along with our partner &lt;a href=&#34;https://www.witness.org&#34;&gt;WITNESS&lt;/a&gt;, we’ve entered our &lt;a href=&#34;http://newschallenge.tumblr.com/post/19436756887/securesmartcam-protecting-the-privacy-and-data-of&#34;&gt;SecureSmartCam project&lt;/a&gt; into the &lt;a href=&#34;http://newschallenge.tumblr.com/&#34;&gt;Knight News Challenge&lt;/a&gt;, and we need your support to get to the next round.&lt;/p&gt;

&lt;p&gt;Here’s a bit more about the challenge:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Knight News Challenge, an international media innovation contest, is evolving – and will be offered three times, with three different topics. The first challenge will be centered on networks, and will accept applications Feb. 27 – March 17. The Networks challenge round seeks projects that use the best of existing software and platforms – those already integrated into people’s lives – to find new ways to convey news and information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Aside from the merits of SecureSmartCam itself, specifically the &lt;a href=&#34;https://guardianproject.info/apps/ObscuraCam&#34;&gt;ObscuraCam&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/apps/InformaCam&#34;&gt;InformaCam&lt;/a&gt; sub-projects, our research and development over the last two years on this project have extended to support an entire range of completely open-source mobile technology for Android developments, the benefits of which extend far beyond our own project itself. There are already many other organizations, projects, and apps (both commercial and non) that have incorporated our technology into their own solutions, not to mention the hundreds of thousands of users out there who depend on our core apps like &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot (Tor for Android)&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;Gibberbot (Secure Chat)&lt;/a&gt; to safeguard their day to day communication.&lt;/p&gt;

&lt;p&gt;The work so far was largely funded by a generous private non-governmental donor, and if you look at the list of projects below, we have put that funding to great use. If we receive this funding from Knight (a similarly generous private donor), we will continue our work in this modular, open manner, ensuring that the money will benefit projects and causes far beyond our own personal vision and endeavors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SecureSmartCam-supported Open-Source Projects&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34;&gt;GnuPG for Android&lt;/a&gt;: OpenPGP Public/Private Key Infrastructure for Encryption and Verification of Communications and Data&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher&#34;&gt;SQLCipher for Android&lt;/a&gt;: AES-256 Symmetric Encryption Layer for SQLite Mobile Database. &lt;a href=&#34;https://www.zetetic.net/sqlcipher&#34;&gt;SQLCipher&lt;/a&gt; is also available for many other platforms.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/iocipher&#34;&gt;IOCipher for Android&lt;/a&gt; (or any mobile platform): Encrypted filesystem built upon SQLCipher that works for any application without requiring root or custom device modification. This is an extension of our port of &lt;a href=&#34;https://github.com/guardianproject/LUKS&#34;&gt;LUKS for Android&lt;/a&gt;, encrypted disk partition system.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/android-ffmpeg&#34;&gt;FFMPEG for Android&lt;/a&gt; (with Video Redaction Filter): a build system and patches for compiling FFMPEG for Android, with support for custom features to enable video privacy controls&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/asenior/Jpeg-Redaction-Library&#34;&gt;Jpeg Redaction Library&lt;/a&gt;: a generic library for redacting visual and metadata information from JPEG images without needing to decode them. Very important for limited memory mobile devices!&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/notepadbot&#34;&gt;NoteCipher for Android&lt;/a&gt;: Simple secure text, photo and video storage app for Android, built upon SQLCipher&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/guardianproject/sscxfer/&#34;&gt;SSCXfer for Android&lt;/a&gt;: Anonymous, Proxied, Secure Video (or any file) Uploader (based on &lt;a href=&#34;http://vidiom.mobi/&#34;&gt;Vidiom&lt;/a&gt; open-source project) over Tor to YouTube, VideoBin.org and other sites. By extension, this project also supports our core work on &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot, the Tor for Android&lt;/a&gt; application with hundreds of thousands of users worldwide.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the end, the approximately $300,000 of grant support we are seeking, is nothing compared to the millions of dollars in funding poured into closed-source mobile startups, who not only by a large majority fail, but also rarely share the components of their work in a way that moves everyone forward.&lt;/p&gt;

&lt;p&gt;What we need you to do is, go to our &lt;a href=&#34;http://newschallenge.tumblr.com/post/19436756887/securesmartcam-protecting-the-privacy-and-data-of&#34;&gt;SecureSmartCam Proposal on the Knight News Challenge Tumblr&lt;/a&gt;, and “like”, comment, reblog or otherwise show your support for it, in as a public and visible a manner as possible. If you have concerns or questions, please post them to the Tumblr, and our team will reply to you there. This is open-source research after all, and don’t claim to have all the answers, but we do need your support to get there.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Call My Email</title>
      <link>https://guardianproject.info/2012/03/22/call-my-email/</link>
      <pubDate>Thu, 22 Mar 2012 16:31:45 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/22/call-my-email/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:PFC_Gladys_Bellon,_Basile,_Louisiana,_one_of_the_27_WAC_switchboard_operators_flown_from_Paris_for_the_Potsdam..._-_NARA_-_199010.jpg&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/PFC_Gladys_Bellon%2C_Basile%2C_Louisiana%2C_one_of_the_27_WAC_switchboard_operators_flown_from_Paris_for_the_Potsdam..._-_NARA_-_199010.jpg/764px-PFC_Gladys_Bellon%2C_Basile%2C_Louisiana%2C_one_of_the_27_WAC_switchboard_operators_flown_from_Paris_for_the_Potsdam..._-_NARA_-_199010.jpg&#34; alt=&#34;PFC Gladys Bellon, Basile, Louisiana, one of the 27 WAC switchboard operators flown from Paris for the Potsdam Conference and Sgt. Robert Scott of Pittsburgh, Pennsylvania, test lines in the frame room of the Victory switchboard at U. S. headquarters at Babelsburg, Germany.&#34; width=&#34;600/&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What if you could call me directly through my email? No exchanging of phone numbers or searching for handles on Skype. Just plain and simple email. Now what if we can make that phone call as secure as it is easy. That’s the goal of what we’re doing here at &lt;a title=&#34;Open Secure Telephony Network (OSTN) &#34; href=&#34;https://guardianproject.info/wiki/OSTN&#34; target=&#34;_blank&#34;&gt;Open Secure Telephony Network (OSTN)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The internet is already structured to be able to do this. That’s why I can have all of my emails point to one email box if I want to. Simply by changing the MX records. So why not be able to do that with phone numbers, routing them through my same email by changing the SIP records?&lt;/p&gt;

&lt;p&gt;Guardian Project is in the process of figuring out how to make your life better by doing just that. We’re currently in the early stages of research on how to make a stack for secure telephony standards so that anybody can participate, whether a novice user who wants easy access or a power user who wants to run their own stack.&lt;/p&gt;

&lt;p&gt;Email already handles configurable standards well for text. As a user, I can choose my service (Gmail, Hotmail, &lt;a title=&#34;rise up&#34; href=&#34;https://riseup.net/&#34; target=&#34;_blank&#34;&gt;RiseUp&lt;/a&gt;, self-hosting, etc) and the client (Outlook, &lt;a title=&#34;thunderbird&#34; href=&#34;https://www.mozilla.org/thunderbird/&#34; target=&#34;_blank&#34;&gt;Thunderbird&lt;/a&gt;, Mail, etc) on whatever platform works best for me (Windows, MacOS, Android, etc) and have my custom email (&amp;#x6d;a&amp;#x72;k&amp;#x40;&amp;#x66;u&amp;#x6e;k&amp;#x79;&amp;#x6d;o&amp;#x6e;k&amp;#x65;&amp;#x79;.&amp;#x6e;e&amp;#x74;, &amp;#x6a;&amp;#x65;&amp;#x64;&amp;#x69;&amp;#x38;&amp;#x33;&amp;#x40;&amp;#x72;&amp;#x65;&amp;#x62;&amp;#x65;&amp;#x6c;&amp;#x61;&amp;#x6c;liance.org, etc) point to whichever of these systems I trust the most and works best for me.&lt;/p&gt;

&lt;p&gt;We’re now bringing that ease and customization to voice communication. As a user, I’ll be able to choose my service. We’re currently alpha testing a service we built, &lt;a title=&#34;Ostel.me&#34; href=&#34;http://Ostel.me&#34; target=&#34;_blank&#34;&gt;Ostel.me&lt;/a&gt;, but there are others like &lt;a title=&#34;tanstagi&#34; href=&#34;https://tanstagi.net/&#34; target=&#34;_blank&#34;&gt;Tanstagi&lt;/a&gt;, &lt;a title=&#34;intimi.ca&#34; href=&#34;https://intimi.ca&#34; target=&#34;_blank&#34;&gt;Intimi.ca&lt;/a&gt;. Our open protocol will make it easy for companies to host their own internal server for communication. Whatever platform works best for you (Windows, MacOS, Android, etc) has a tool that lets you make phone calls with the service. We’re working directly with open source tools like &lt;a title=&#34;CSipSimple&#34; href=&#34;https://guardianproject.info/wiki/CSipSimple&#34; target=&#34;_blank&#34;&gt;CSipSimple&lt;/a&gt; on Android and Telephone on MacOS to improve them for best and most secure call quality. We’re also making it easy for people using other tools like &lt;a title=&#34;Groundwire&#34; href=&#34;https://guardianproject.info/wiki/Groundwire&#34; target=&#34;_blank&#34;&gt;Groundwire&lt;/a&gt; on the iPhone to make calls using these tools.&lt;/p&gt;

&lt;p&gt;Our goal is to make a service that’s easier to use and more secure than &lt;a title=&#34;skype&#34; href=&#34;http://www.skype.com/&#34; target=&#34;_blank&#34;&gt;Skype&lt;/a&gt; while cheaper and more reliable than a standard phone. This is just the start, but we’re excited by the progress we’ve already made. If you’d like to help, we’re always looking for smart and passionate people who can be testers, designers, translators, and supporters. Before you can call our email for updates, you can send us a message on it telling us how you’d like to participate, sign up to be an alpha tester on &lt;a title=&#34;ostel website&#34; href=&#34;https://ostel.me/&#34; target=&#34;_blank&#34;&gt;Ostel.me&lt;/a&gt;, or follow us &lt;a title=&#34;guardian twitter&#34; href=&#34;https://twitter.com/#!/guardianproject&#34; target=&#34;_blank&#34;&gt;on Twitter&lt;/a&gt;. Thanks for tuning in!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Acrobits Groundwire – OSTN supports iPhone</title>
      <link>https://guardianproject.info/2012/03/21/acrobits-groundwire-ostn-supports-iphone/</link>
      <pubDate>Wed, 21 Mar 2012 09:09:21 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/21/acrobits-groundwire-ostn-supports-iphone/</guid>
      <description>&lt;p&gt;The Guardian Project develops open source software primarily for the Android platform &lt;a href=&#34;https://guardianproject.info/home/use-cases/&#34;&gt;but we strive for security by design to be a part of all platforms&lt;/a&gt;. With &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;OSTN&lt;/a&gt;, there are two major components. The the first is the server, which operates as the primary user directory and call switch. The other is the client, which is the program you interact with to send and receive calls.&lt;/p&gt;

&lt;p&gt;While the Apple App Store &lt;a href=&#34;http://michelf.com/weblog/2011/gpl-ios-app-store/&#34;&gt;forbids distribution of GPL licensed software from their service&lt;/a&gt;, the underlying protocols used by OSTN are open, so even iPhone developers may implement them in a proprietary client application without breaking any intellectual property laws.&lt;/p&gt;

&lt;p&gt;And Acrobits software, an iOS dev shop in Prague, Czech Republic did just that. The result is an excellent OSTN compilant app for iPhone called &lt;a href=&#34;http://www.acrobits.cz/11/acrobits-groundwire-for-iphone&#34;&gt;Groundwire&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.acrobits.cz/userfiles/images/groundwire_icon.png&#34; alt=&#34;Groundwire logo&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Groundwire is not cheap when compared to competing apps for Android or desktop computers. They distribute it as a &lt;a href=&#34;https://en.wikipedia.org/wiki/Crippleware&#34;&gt;feature-limited&lt;/a&gt; app for $9.99. Unfortunately, one of the limited features is required to bring the app up to &lt;a href=&#34;https://guardianproject.info/wiki/OSTN_Compliance_Specification&#34;&gt;OSTN spec&lt;/a&gt;, namely ZRTP support. ZRTP is the key exchange protocol to securely authenticate two caller’s identities during a call. To enable this feature, the user must pay a $24.99 fee as an “in-app purchase.” This purchase is only required to enable &lt;strong&gt;outgoing&lt;/strong&gt; ZRTP calls. If you don’t have a need for this, you must only pay the $9.99 purchase price to get up and running.&lt;/p&gt;

&lt;p&gt;The good news is that Groundwire is an excellent app. I’m testing it on an original iPhone with firmware 3.1.3. It supports push notifications to receive incoming calls even when the iPhone is asleep or Groundwire is in the background. This feature depends on Acrobits secure push servers, and a full security audit has not yet been performed to determine if this creates a risk.&lt;/p&gt;

&lt;p&gt;I expect Groundwire to be a very popular client for OSTel, due to the high number of iPhones in the field. If you’d like to sign up for our alpha tested, named OSTel.me, &lt;a href=&#34;https://ostel.me/&#34;&gt;fill out the form&lt;/a&gt; and we’ll be in touch soon thereafter. You can also checkout another OSTN-compliant service at Tanstagi: &lt;a href=&#34;https://tanstagi.net/&#34;&gt;https://tanstagi.net/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>InformaCam: Verified Mobile Media</title>
      <link>https://guardianproject.info/archive/informacam/</link>
      <pubDate>Tue, 20 Mar 2012 01:17:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/informacam/</guid>
      <description>

&lt;p&gt;We&amp;rsquo;ve launched &lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;CameraV&lt;/a&gt;, the first public InformaCam App! Click the image below to learn more and get the app&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-13035&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/07/feature-1024x500.png&#34; alt=&#34;feature&#34; width=&#34;780&#34; height=&#34;381&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/07/feature.png 1024w, https://guardianproject.info/wp-content/uploads/2015/07/feature-300x146.png 300w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.knightfoundation.org/grants/20123674/&#34;&gt;&lt;br /&gt;
&lt;img class=&#34;alignnone size-full wp-image-3267&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/knight-logo-300.jpg&#34; alt=&#34;knight-logo-300&#34; width=&#34;300&#34; height=&#34;50&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://www.knightfoundation.org/grants/20123674/&#34;&gt;&lt;em&gt;A project funded by the&lt;/em&gt;&lt;/a&gt; &lt;em&gt;&lt;a href=&#34;https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/&#34;&gt;Knight News Challen&lt;/a&gt;ge&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There is currently a deluge of media coming from the world’s mobile devices for potential use as evidence or trusted sources for journalists. WITNESS and the Guardian Project seek to provide a mechanism through InformaCam to verify and authenticate this footage. Our approach is to create an app that leverages the sensors used in modern smartphones create a “snapshot” of the environment in which a piece of media is captured. This information is used, along with a digital “fingerprint” of the cameraphone sensor, to sign the video or image and ensure that the media hasn’t been tampered. It also verifies that it was captured by a specific device at a specific time and place.&lt;/p&gt;

&lt;p&gt;A clear and demonstrated need exists among journalists, human rights defenders and the legal community for a way to secure and verify the vast amounts of footage and images coming from areas of conflict and political unrest. Any effort addressing these issues needs to leverage mobile devices and the networks used to transfer and distribute this media. The mobile phone has become the de facto tool for documenting change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More Information&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;InformaCam is a mobile application for Android that enables users to inflate image and video with extra points of data, or metadata. The metadata includes information like the user’s current GPS coordinates, altitude, compass bearing, light meter readings, the signatures of neighboring devices, cell towers, and wifi networks; and serves to shed light on the exact circumstances and contexts under which the digital image was taken. With InformaCam the app starts to behave almost like Adobe Photoshop or GIMP, supporting non-destructive, layer-based edits to media built on top of Obscuracam.&lt;/p&gt;

&lt;p&gt;For advanced users who are creating any sensitive image data and metadata, they can preserve and encrypt it to trusted entities, along with a redacted version that has its metadata stripped which can be easily shared to Facebook, Twitter, Flickr, or any public service the user wishes to use. InformaCam also supports delivery of media to a server through the Tor network, hosted as a Tor Hidden Service.&lt;/p&gt;

&lt;h4 id=&#34;how-to-get-involved&#34;&gt;How To Get Involved&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Warning: This project is currently in Alpha release and not ready for critical, high-risk deployment.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The official project tracker and wiki is located here: &lt;a href=&#34;https://dev.guardianproject.info/projects/informacam&#34;&gt;https://dev.guardianproject.info/projects/informacam&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Github-hosted source code repository is here: &lt;a href=&#34;https://github.com/guardianproject/informacam&#34;&gt;https://github.com/guardianproject/informacam&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Press&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.niemanlab.org/2013/01/is-it-real-witness-builds-an-app-to-verify-user-submitted-content/&#34;&gt;&lt;img class=&#34; wp-image-3274 alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600-150x150.jpeg&#34; alt=&#34;niemanlab_1334151410_600&#34; width=&#34;73&#34; height=&#34;73&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600-150x150.jpeg 150w, https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600-300x300.jpeg 300w, https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600.jpeg 383w&#34; sizes=&#34;(max-width: 73px) 100vw, 73px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.spiegel.de/netzwelt/apps/informacam-app-soll-verifizierung-von-fotos-und-videos-erleichtern-a-880519.html&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://upload.wikimedia.org/wikipedia/bar/3/3e/Logo-der_spiegel.svg&#34; alt=&#34;&#34; width=&#34;269&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://betabeat.com/2013/01/wikimedia-new-york-organizations-share-in-knight-foundation-mobile-contest-riches/&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-3272&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/logo-betabeat-300x90.png&#34; alt=&#34;logo-betabeat&#34; width=&#34;201&#34; height=&#34;60&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/03/logo-betabeat-300x90.png 300w, https://guardianproject.info/wp-content/uploads/2012/03/logo-betabeat.png 333w&#34; sizes=&#34;(max-width: 201px) 100vw, 201px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.slate.com/blogs/future_tense/2013/01/22/knight_news_challenge_media_s_winning_apps.html&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-3271&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/Slate_logo-300x123.png&#34; alt=&#34;Slate_logo&#34; width=&#34;200&#34; height=&#34;82&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/03/Slate_logo-300x123.png 300w, https://guardianproject.info/wp-content/uploads/2012/03/Slate_logo.png 325w&#34; sizes=&#34;(max-width: 200px) 100vw, 200px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://www.worldphoto.org/news-and-events/wpo-news/informacam-the-latest-in-citizen-photojournalism/&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.worldphoto.org/_assets/images/WPO_Logo_-BLACK_MASTER(63).jpg&#34; alt=&#34;&#34; width=&#34;126&#34; height=&#34;76&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://www.businessweek.com/articles/2013-01-29/for-activists-and-manti-teo-new-protection-against-internet-fakes#r=blg-s&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.csg-pr.com/wp-content/uploads/BusinessWeek-Logo.jpg&#34; alt=&#34;&#34; width=&#34;214&#34; height=&#34;45&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>InformaCam: Verified Mobile Media</title>
      <link>https://guardianproject.info/archive/informacam/</link>
      <pubDate>Tue, 20 Mar 2012 01:17:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/informacam/</guid>
      <description>

&lt;p&gt;We&amp;rsquo;ve launched &lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;CameraV&lt;/a&gt;, the first public InformaCam App! Click the image below to learn more and get the app&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/camerav&#34;&gt;&lt;img class=&#34;alignnone size-large wp-image-13035&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2015/07/feature-1024x500.png&#34; alt=&#34;feature&#34; width=&#34;780&#34; height=&#34;381&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2015/07/feature.png 1024w, https://guardianproject.info/wp-content/uploads/2015/07/feature-300x146.png 300w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.knightfoundation.org/grants/20123674/&#34;&gt;&lt;br /&gt;
&lt;img class=&#34;alignnone size-full wp-image-3267&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/knight-logo-300.jpg&#34; alt=&#34;knight-logo-300&#34; width=&#34;300&#34; height=&#34;50&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://www.knightfoundation.org/grants/20123674/&#34;&gt;&lt;em&gt;A project funded by the&lt;/em&gt;&lt;/a&gt; &lt;em&gt;&lt;a href=&#34;https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/&#34;&gt;Knight News Challen&lt;/a&gt;ge&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There is currently a deluge of media coming from the world’s mobile devices for potential use as evidence or trusted sources for journalists. WITNESS and the Guardian Project seek to provide a mechanism through InformaCam to verify and authenticate this footage. Our approach is to create an app that leverages the sensors used in modern smartphones create a “snapshot” of the environment in which a piece of media is captured. This information is used, along with a digital “fingerprint” of the cameraphone sensor, to sign the video or image and ensure that the media hasn’t been tampered. It also verifies that it was captured by a specific device at a specific time and place.&lt;/p&gt;

&lt;p&gt;A clear and demonstrated need exists among journalists, human rights defenders and the legal community for a way to secure and verify the vast amounts of footage and images coming from areas of conflict and political unrest. Any effort addressing these issues needs to leverage mobile devices and the networks used to transfer and distribute this media. The mobile phone has become the de facto tool for documenting change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More Information&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;InformaCam is a mobile application for Android that enables users to inflate image and video with extra points of data, or metadata. The metadata includes information like the user’s current GPS coordinates, altitude, compass bearing, light meter readings, the signatures of neighboring devices, cell towers, and wifi networks; and serves to shed light on the exact circumstances and contexts under which the digital image was taken. With InformaCam the app starts to behave almost like Adobe Photoshop or GIMP, supporting non-destructive, layer-based edits to media built on top of Obscuracam.&lt;/p&gt;

&lt;p&gt;For advanced users who are creating any sensitive image data and metadata, they can preserve and encrypt it to trusted entities, along with a redacted version that has its metadata stripped which can be easily shared to Facebook, Twitter, Flickr, or any public service the user wishes to use. InformaCam also supports delivery of media to a server through the Tor network, hosted as a Tor Hidden Service.&lt;/p&gt;

&lt;h4 id=&#34;how-to-get-involved&#34;&gt;How To Get Involved&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Warning: This project is currently in Alpha release and not ready for critical, high-risk deployment.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The official project tracker and wiki is located here: &lt;a href=&#34;https://dev.guardianproject.info/projects/informacam&#34;&gt;https://dev.guardianproject.info/projects/informacam&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Github-hosted source code repository is here: &lt;a href=&#34;https://github.com/guardianproject/informacam&#34;&gt;https://github.com/guardianproject/informacam&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Press&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.niemanlab.org/2013/01/is-it-real-witness-builds-an-app-to-verify-user-submitted-content/&#34;&gt;&lt;img class=&#34; wp-image-3274 alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600-150x150.jpeg&#34; alt=&#34;niemanlab_1334151410_600&#34; width=&#34;73&#34; height=&#34;73&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600-150x150.jpeg 150w, https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600-300x300.jpeg 300w, https://guardianproject.info/wp-content/uploads/2012/03/niemanlab_1334151410_600.jpeg 383w&#34; sizes=&#34;(max-width: 73px) 100vw, 73px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.spiegel.de/netzwelt/apps/informacam-app-soll-verifizierung-von-fotos-und-videos-erleichtern-a-880519.html&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://upload.wikimedia.org/wikipedia/bar/3/3e/Logo-der_spiegel.svg&#34; alt=&#34;&#34; width=&#34;269&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://betabeat.com/2013/01/wikimedia-new-york-organizations-share-in-knight-foundation-mobile-contest-riches/&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-3272&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/logo-betabeat-300x90.png&#34; alt=&#34;logo-betabeat&#34; width=&#34;201&#34; height=&#34;60&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/03/logo-betabeat-300x90.png 300w, https://guardianproject.info/wp-content/uploads/2012/03/logo-betabeat.png 333w&#34; sizes=&#34;(max-width: 201px) 100vw, 201px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.slate.com/blogs/future_tense/2013/01/22/knight_news_challenge_media_s_winning_apps.html&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-3271&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/Slate_logo-300x123.png&#34; alt=&#34;Slate_logo&#34; width=&#34;200&#34; height=&#34;82&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/03/Slate_logo-300x123.png 300w, https://guardianproject.info/wp-content/uploads/2012/03/Slate_logo.png 325w&#34; sizes=&#34;(max-width: 200px) 100vw, 200px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://www.worldphoto.org/news-and-events/wpo-news/informacam-the-latest-in-citizen-photojournalism/&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.worldphoto.org/_assets/images/WPO_Logo_-BLACK_MASTER(63).jpg&#34; alt=&#34;&#34; width=&#34;126&#34; height=&#34;76&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://www.businessweek.com/articles/2013-01-29/for-activists-and-manti-teo-new-protection-against-internet-fakes#r=blg-s&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.csg-pr.com/wp-content/uploads/BusinessWeek-Logo.jpg&#34; alt=&#34;&#34; width=&#34;214&#34; height=&#34;45&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>On Verifying Identity Using Cryptography</title>
      <link>https://guardianproject.info/2012/03/19/on-verifying-identity-using-cryptography/</link>
      <pubDate>Mon, 19 Mar 2012 11:27:51 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/19/on-verifying-identity-using-cryptography/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/03/identity.gif&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/identity-150x150.gif&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-1684&#34; /&gt;&lt;/a&gt;One of the most important uses of cryptography these days is verifying the identity of the other side of a digital conversation. That conversation could be between two people using OTR-encrypted IM, a web browser showing a bank website, a Debian Developer uploading a package to the Debian build server, an ssh client logging into an ssh server, and on and on. In all of these cases, cryptography is used to ensure that the software is indeed receiving replies from the expected entity. This happens by checking the current cryptographic key against one that is known to be correct. That is essential to the whole process. If you see the key for the first time, you have no way of knowing whether that is indeed the key you are expecting because there is no point of reference.&lt;/p&gt;

&lt;p&gt;In order for this validation of identity to work, there needs to be a method of verifying any given key and making it a reference. There are many ideas about how to do this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a trusted list of central certificate authorities like in HTTPS&lt;/li&gt;
&lt;li&gt;key-signing parties where people validate and sign each other’s keys in person, like used with the OpenPGP Web of Trust&lt;/li&gt;
&lt;li&gt;“trust on first use” (aka “Persistence of Pseudonym”), where you save the key the first time you see it, and then use that as a reference (this is the way most people use SSH)&lt;/li&gt;
&lt;li&gt;fingerprint verification, where the two people wanting to communicate cryptographically use another channel to manually check each other’s key fingerprints, like a phone call (this is used a lot in OTR and OpenPGP)&lt;/li&gt;
&lt;li&gt;the Socialist Millionaires’ Protocol (SMP), which is a combination of user-generated question/answer pairs with a cryptographic technique that lets each side confirm whether the other answered the question correctly without divulging any information (this was recently added to OTR and is implemented in Pidgin, Gibberbot, and maybe a couple other programs)&lt;/li&gt;
&lt;li&gt;a manually confirmed shared secret like a short password (ZRTP uses this when starting secure phone calls)&lt;/li&gt;
&lt;li&gt;whitelists of fingerprints of widely used keys (aka &lt;a href=&#34;http://www.imperialviolet.org/2011/05/04/pinning.html&#34; target=&#34;_blank&#34;&gt;public key pinning&lt;/a&gt;) (this was recently added to Chrome in the wake of the HTTPS certificate authority failures)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/03/fingerprint.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/fingerprint-150x150.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignright size-thumbnail wp-image-1686&#34; /&gt;&lt;/a&gt;Each of these techniques has its advantages and disadvantages, but generally the higher level of verification provided means the more work to do the process. Most people don’t need the high level of verification provided by OpenPGP key signing parties, but maybe if it was fun and much easier to do, then a lot more people would do it. “Trust on first use” is really easy to use and implement, and has been working pretty well for a lot of people who use SSH and OTR. But it has big shortcomings in environments where the state or other central authority that provides the internet infrastructure wants to spy on its users. HTTPS has proven to be quite easy to use, but it has also &lt;a href=&#34;https://www.eff.org/deeplinks/2011/08/iranian-man-middle-attack-against-google&#34; target=&#34;_blank&#34;&gt;proven&lt;/a&gt; to be &lt;a href=&#34;http://www.theregister.co.uk/2011/08/29/fraudulent_google_ssl_certificate/&#34; target=&#34;_blank&#34;&gt;quite&lt;/a&gt; &lt;a href=&#34;https://arstechnica.com//security/news/2011/03/how-the-comodo-certificate-fraud-calls-ca-trust-into-question.ars&#34; title=&#34;How the Comodo certificate fraud calls CA trust into question&#34; target=&#34;_blank&#34;&gt;breakable&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Currently, each of these techniques described above is used as the sole means of verification, then the level of verification is represented as “verified” or “not verified”. This is definitely the way that HTTPS and SSH handle it. OTR is a bit different, it has 3 states of verification: “new key”, “unverified key” i.e. trusted on first use, or “verified”, and good OTR chat apps will represent these three states in the UI. Then OpenPGP is perhaps the opposite extreme: it provides both chains of verification signatures via the Web of Trust but also user-set “trust levels” from 0 to 255 for any given key.&lt;/p&gt;

&lt;p&gt;Perhaps an answer is to cryptographically link up these different ways of verification and represent key verification as a continuum. Then when the possibility of linking in “trust on first use” and other techniques was there, people could gradually build up cryptographic trust as they needed it. Starting with “I have seen this key before”, then on to “I have gotten them to verify their OTR key with an SMP question/answer”, then to “I have an OpenPGP trust path to them”, to “I have met them in person and manually verified their key and identity”.&lt;/p&gt;

&lt;p&gt;To go into technical detail as an example, GnuPG supports RSA, DSA, ECDSA, El Gamal, and other key types as subkeys for an OpenPGP key. Those core algorithms core basically all of the most common uses of cryptography, including HTTPS, SSH, OTR, and OpenPGP. The link between an OpenPGP key and its subkeys is perhaps the strongest link for verification that exists, so if a given person includes their OTR key, for example, into their OpenPGP key, that provides a strong cryptographic link between them, and one that is easily publicly sharable via the OpenPGP public keyservers. When two people verify their OTR keys using the SMP question/answer, this verification could then extend to their OpenPGP keys if their OTR keys were subkeys. (&lt;a href=&#34;http://web.monkeysphere.info&#34; target=&#34;_blank&#34;&gt;The Monkeysphere Project&lt;/a&gt; is one such implementation of this idea, using OpenPGP keys for SSH and HTTPS).&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/03/verified.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/verified-150x150.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-1685&#34; /&gt;&lt;/a&gt;Then the last piece of this puzzle is how to represent all of this complexity to the users. The essential part is to stop representing trust as binary yes/no. A one-dimensional continuum provides a lot more info and is a very commonly understood concept in computers (think progress bars). The hard part of this question is ranking the various techniques in how much progress they provide towards the goal of solid identity verification.&lt;/p&gt;

&lt;p&gt;For this round of the &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34; title=&#34;Portable Shared Security Tokens&#34; target=&#34;_blank&#34;&gt;PSST Project&lt;/a&gt;, we have focused on first allowing people to easily move around their OTR identities, then worked on testing out the idea of linking in all identity keys into an OpenPGP key. From what we have seen so far, we believe this is not only feasible but will provide a solid platform for linking together all these verification techniques and identity keys. And on top of that, with diligent attention to user experience and testing, it should be possible to create user interfaces that make navigating all of this a common, daily task for most computer users.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Adventures in Porting: GnuPG 2.1.x to Android!</title>
      <link>https://guardianproject.info/2012/03/15/adventures-in-porting-gnupg-2.1.x-to-android/</link>
      <pubDate>Thu, 15 Mar 2012 13:00:30 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/15/adventures-in-porting-gnupg-2.1.x-to-android/</guid>
      <description>&lt;p&gt;PGP started with Phil Zimmerman’s Pretty Good Privacy, which is now turned into an open IETF standard known as OpenPGP. These days, the reference OpenPGP platform seems to be &lt;a href=&#34;http://gnupg.org/&#34;&gt;GnuPG&lt;/a&gt;: its used by Debian and all its derivatives in the OS itself for verifying packages and more. It is also at the core of all Debian development work, allowing the very diffuse body of Debian, Ubuntu, etc developers to communicate and share work effectively while maintaining a high level of security. It is also used for email encryption in Thunderbird + Enigmail, Apple Mail + GPGMail, GNOME Evolution, KDE KMail, Microsoft Outlook + Gpg4win.&lt;/p&gt;

&lt;div id=&#34;attachment_1651&#34; style=&#34;width: 160px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/03/Encryption.jpg&#34;&gt;&lt;img aria-describedby=&#34;caption-attachment-1651&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/Encryption-150x150.jpg&#34; alt=&#34;lots of one and zeros&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-1651&#34; /&gt;&lt;/a&gt;
  
  &lt;p id=&#34;caption-attachment-1651&#34; class=&#34;wp-caption-text&#34;&gt;
    Yes, encryption means lots of ones and zeros that you can&#39;t read!
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;After actively using GnuPG for a few years, I thought it would be a good idea and not too difficult to port it to Android. I dove in and started with the code from git since I was hoping to involve the GnuPG developers. I had recently seen that they were stopping development on the 1.4.x branch, so the 2.1.x branch seemed like the logical choice to give us a reasonably complete OpenPGP implementation. Now I am happy to say we have it working on Android, with a couple of loose ends to tie up in order to get everything working.&lt;/p&gt;

&lt;p&gt;One thing I do have to say is that GnuPG has evolved into a large and elaborate project that not only covers OpenPGP, but also PGP/MIME and things that have nothing to do with PGP like AES symmetric encryption and S/MIME email cryptography. That means it know is made up of many moving parts. It uses many libraries: libassuan, libgpg-error, libksba, npth, openldap, pinentry, and more if you want. It is also made up of a handful of programs to handle different aspects: &lt;code&gt;gpg&lt;/code&gt; is the command line interface, &lt;code&gt;gpg-agent&lt;/code&gt; seems to be the central key handler and task broker, &lt;code&gt;dirmngr&lt;/code&gt; manages connections with directories like OpenPGP keyservers, &lt;code&gt;pinentry&lt;/code&gt; handles getting passphrases from the user, etc.&lt;/p&gt;

&lt;p&gt;The complexity does not stop there for our purposes: we need a Java API so we can make an Android app. So next up we built the &lt;a href=&#34;http://www.gnupg.org/related_software/gpgme/&#34; target=&#34;_blank&#34;&gt;GPGME&lt;/a&gt; (Gnu Privacy Guard Made Easy) library to provide a C/C++ API which is then wrapped in &lt;a href=&#34;https://github.com/smartrevolution/gnupg-for-java&#34; target=&#34;_blank&#34;&gt;gpgme-for-java&lt;/a&gt;, a JNI library to make the GPGME functions available in Java. And just to heap on the layers, we are making a GUI on top of all that so that when you use it, you have no idea that all these little pieces that I have just described are even there at all.&lt;/p&gt;

&lt;p&gt;You can follow our progress on this work on our &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34; target=&#34;_blank&#34;&gt;PSST wiki: &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34;&gt;https://guardianproject.info/wiki/PSST&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;_(coming soon: sketching a mobile UI for OpenPGP, follow our notes here: &lt;a href=&#34;https://guardianproject.info/wiki/GnuPrivacyGuard_for_Android&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/wiki/GnuPrivacyGuard_for_Android&#34;&gt;https://guardianproject.info/wiki/GnuPrivacyGuard_for_Android&lt;/a&gt;&lt;/a&gt;)_&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Our new F-Droid App Repository (out of date!)</title>
      <link>https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository-out-of-date/</link>
      <pubDate>Thu, 15 Mar 2012 01:27:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository-out-of-date/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: this blog post has been changed to reference our new FDroid repository at &lt;a href=&#34;https://guardianproject.info/fdroid&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;https://guardianproject.info/fdroid&lt;/a&gt;&lt;/a&gt;. If you are still using the old one originally described here which has the URL &lt;a href=&#34;https://guardianproject.info/repo&#34;&gt;https://guardianproject.info/repo&lt;/a&gt;, you should switch to the new repo as soon as possible!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For all of you out there looking for a safe way to find and download apps outside of the Play Store (aka Android Market) or random, sketchy third-party app stores and file sharing sites, then your wait is over:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The &lt;a href=&#34;http://f-droid.org&#34;&gt;FDroid Repository&lt;/a&gt; is an easily-installable catalogue of FOSS applications for the Android platform. The server contains the details of multiple versions of each application, and the Android client makes it easy to browse, install them onto your device, and keep track of updates.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In other words, F-Droid is like an app store for open-source. More importantly, there is not just one “store”. Anyone can deploy their own repositories of apps, or Repos, much like the way the Debian repo model works.&lt;/p&gt;

&lt;p&gt;We’ve now begun creating our own hosted F-Droid compliant repo where we can easily provide the latest greatest versions of all our apps. As we update the apps, F-Droid should notify you and allow you to update quickly and without hassle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Steps for using F-Droid with Guardian Project Repo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1) Install the F-Droid Client app. You can get it here: &lt;a href=&#34;https://f-droid.org/FDroid.apk&#34;&gt;https://f-droid.org/FDroid.apk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Run the app and go to Menu &amp;gt; Manage Repos&lt;/p&gt;

&lt;p&gt;3) Turn on the “Guardian Project Official Releases” repo&lt;/p&gt;

&lt;p&gt;3) &lt;del datetime=&#34;2015-02-24T16:10:07+00:00&#34;&gt;Enter: &lt;a href=&#34;https://guardianproject.info/repo/&#34;&gt;https://guardianproject.info/repo/&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;4) Optionally, disable the default repo if you just want GP apps&lt;/p&gt;

&lt;p&gt;5) Return to the main screen, and Menu &amp;gt; Update&lt;/p&gt;

&lt;p&gt;&lt;del datetime=&#34;2015-02-24T16:10:07+00:00&#34;&gt;6) Verify the repo fingerprint by clicking on the repo to see the repo details view. The fingerprint you see there should match this: &lt;code&gt;59050C8155DCA377F23D5A15B77D3713400CDBD8B42FBFBE0E3F38096E68CECE&lt;/code&gt;. &lt;/del&gt;&lt;/p&gt;

&lt;p&gt;From here you will see the “Available” tab for apps you don’t have the “Installed” tab for apps you have the latest version of, and the “Updates” tab for apps you have, but that are not up to date.&lt;/p&gt;

&lt;p&gt;You can open each app by browsing and selecting them, and then via Menu options, choose to install them, or access their websites, source code links, or issue tracking pages.&lt;/p&gt;

&lt;div id=&#39;gallery-6&#39; class=&#39;gallery galleryid-1632 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/cats.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/cats-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110254.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110254-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110305.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110305-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110320.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110320-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110341.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110341-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110351.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110351-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110404.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110404-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110434.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-15-110434-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#39;clear: both&#39; /&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>VoIP Survey Results of NGOs, Human Rights Groups and Activists</title>
      <link>https://guardianproject.info/2012/03/07/voip-survey-results-of-ngos-human-rights-groups-and-activists/</link>
      <pubDate>Wed, 07 Mar 2012 18:58:29 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/07/voip-survey-results-of-ngos-human-rights-groups-and-activists/</guid>
      <description>&lt;p&gt;In November 2011, 25 individuals were surveyed using an online form, representing typical end-users, global journalists, activist and human rights organization perspectives (Thank you to all the participants!). The goal of the survey was to establish a baseline understanding of the types of tools and expectations our target user community has around making “telephone calls” over the internet, otherwise known as Voice over Internet Protocol (VoIP).&lt;/p&gt;

&lt;p&gt;This survey is part of our work on the &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;Open Secure Telephony Net (OSTN)&lt;/a&gt;. In summary, we believe there is too great a reliance upon closed systems, proprietary protocols, and expensive commercial solutions, among the very people and groups who need a verifiable secure system based on free software. While using GPG for email, or OTR-encryption for chat have become somewhat standards go-tos for these groups, there has not been the same progress made on the secure voice front. OSTN aims to change that, but before we can, we need to understand where our target user community stand today.&lt;/p&gt;

&lt;p&gt;Below you will find the questions and results from our small survey. We don’t claim to be big data scientists, but this is our starting point.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://docs.google.com/document/pubimage?id=12bEHuMBXDqw4CG2R8nn2PbDJTa4HU8lh-rZRR22nSQA&amp;image_id=1Kj2xqnnxxbJxOP2myEMoDgd7uV_Z7S4&#34; alt=&#34;&#34; width=&#34;584&#34; height=&#34;269&#34; /&gt;&lt;/p&gt;

&lt;p&gt;As expected, it was Skype, Skype, Skype, with a little Google Talk and Cisco thrown in here and there. Everyone knows Skypes, it works very well, and is even quite good at getting around firewalls.&lt;/p&gt;

&lt;div&gt;
   The other in this survey was “Cisco”, which could either be a corporate or small business product. In some cases, these products are actually more standards compliant than something like Skype. One aspect of our research is to audit the compliance of existing commercial products with security standards such as TLS, SSL, SRTP and ZRTP.
&lt;/div&gt;

&lt;div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&#34;https://docs.google.com/document/pubimage?id=12bEHuMBXDqw4CG2R8nn2PbDJTa4HU8lh-rZRR22nSQA&amp;image_id=1pVfXla66rcmmbst2uvDF_i08-f9ANKw&#34; alt=&#34;&#34; width=&#34;585&#34; height=&#34;277&#34; /&gt;&lt;/p&gt;

&lt;p&gt;It was interesting to see that Google Talk was a strong second to Skype. Other services like Facebook video calling or Apple Facetime are newer, and may not have had time for full adoption. Others included ippi.fr, a “free” SIP service that works with mobile phones. Not included in this list are Google+ Hangouts, which seem like a growing tool for group communications.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://docs.google.com/document/pubimage?id=12bEHuMBXDqw4CG2R8nn2PbDJTa4HU8lh-rZRR22nSQA&amp;image_id=1neY0xPavF3sh91mvSelfIwzCMV21qJM&#34; alt=&#34;&#34; width=&#34;585&#34; height=&#34;479&#34; /&gt;&lt;/p&gt;

&lt;p&gt;We hoped to understand how personal communications behavior might affect their use of VoIP systems in more professional settings. It seems like Skype again rules here.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://docs.google.com/document/pubimage?id=12bEHuMBXDqw4CG2R8nn2PbDJTa4HU8lh-rZRR22nSQA&amp;image_id=1haSfmhdxc9zT7oghdyBQMFC8ZYv6m_Y&#34; alt=&#34;&#34; width=&#34;584&#34; height=&#34;475&#34; /&gt;&lt;/p&gt;

&lt;p&gt;The most troubling issue is that most people likely utilize the same account for both personal and professional communication. Skype does not make it easy to switch accounts or have multiple accounts open at once, unlike email programs or instant messaging programs. You must have one identity. This creates a huge amount of opportunity for social engineering type attacks, though analysis of that was beyond the scope of this survey.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://docs.google.com/document/pubimage?id=12bEHuMBXDqw4CG2R8nn2PbDJTa4HU8lh-rZRR22nSQA&amp;image_id=1S3EGlInCGdh8Pj7IOefWvfLI1Ikw4gs&#34; alt=&#34;&#34; width=&#34;559&#34; height=&#34;147&#34; /&gt;&lt;/p&gt;

&lt;p&gt;We were glad to see that the majority of people surveyed were concerned about the privacy of their conversations, but it was a slim majority.&lt;/p&gt;

&lt;p&gt;The possibilities of the “no” group may be that they feel the solutions they are using (Skype) are secure enough, as they have been told that by the providers. In addition, many NGO groups who fear foreign or remote threats, often feel no sense of privacy risk when operating in their home country. They only consider security issues when they engage in field work, but have very lax practices on a day to day basis. That perception of threat is a outdated in the age of a fully connected global network, through which physical locations and borders matter little.&lt;/p&gt;

&lt;p&gt;In the end, the challenge is, as most everyone knows, to build a system that is as easy to use as Skype, but more secure. We realize that we are just a small open-source effort, and that ultimately we can’t compete with the likes of a Microsoft or even Google for that matter. Our goal is to help people and organizations who need to communicate sensitive information securely and safely, to have better options than they do now for both hosting their own servers and using simple client applications. Keep your eyes on the &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;OSTN Wiki&lt;/a&gt; and this blog, as we progress over the coming weeks and months.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ObscuraCam v2 ALPHA (with video!)</title>
      <link>https://guardianproject.info/2012/03/02/obscuracam-v2-alpha-with-video/</link>
      <pubDate>Fri, 02 Mar 2012 12:20:34 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/03/02/obscuracam-v2-alpha-with-video/</guid>
      <description>&lt;p&gt;We’ve been making exciting progress with our work on &lt;a href=&#34;https://guardianproject.info/apps/securecam/&#34;&gt;ObscuraCam&lt;/a&gt;, part of the SecureSmartCam project with our partner &lt;a href=&#34;https://www.witness.org&#34;&gt;WITNESS&lt;/a&gt;. The biggest jump forward is the addition of video support, including automated face detection, pixelization and redaction.&lt;/p&gt;

&lt;p&gt;Screenshots below, and soon a video below (also at: &lt;a href=&#34;http://youtu.be/9hi4c_DCrkw&#34;&gt;http://youtu.be/9hi4c_DCrkw&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Source code branch is here: &lt;a href=&#34;https://github.com/guardianproject/securesmartcam/tree/obscurav2&#34;&gt;https://github.com/guardianproject/securesmartcam/tree/obscurav2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Latest ALPHA test build at: &lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam/ObscuraCam-2.0-Alpha-2.apk/qr_code&#34;&gt;https://github.com/guardianproject/SecureSmartCam/ObscuraCam-2.0-Alpha-2.apk/qr_cod&lt;/a&gt;e&lt;/p&gt;

&lt;div id=&#39;gallery-5&#39; class=&#39;gallery galleryid-1590 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-120646.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-120646-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-120717.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-120717-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-120826.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-120826-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121031.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121031-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121111.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121111-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121126.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121126-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121143.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/device-2012-03-02-121143-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#39;clear: both&#39; /&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>How many ways to store 5 numbers?</title>
      <link>https://guardianproject.info/2012/02/23/how-many-ways-to-store-5-numbers/</link>
      <pubDate>Thu, 23 Feb 2012 12:29:49 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/02/23/how-many-ways-to-store-5-numbers/</guid>
      <description>&lt;p&gt;At the core of all software that aims to be secure, private and anonymous is encryption, or as I think of it, amazing math tricks with really large numbers. These really large numbers can serve as a token of identity or the key to information locked away behind the encryption math. There are a number of different encryption methods commonly used based on different mathematical ideas, but they all rely on people managing sets of really large numbers, usually known as keys.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/stevendepolo/3378152784/&#34; title=&#34;Skeleton Keys IMG_0774 by stevendepolo, on Flickr&#34;&gt;&lt;img src=&#34;https://farm4.staticflickr.com/3589/3378152784_2be2969ae6.jpg&#34; alt=&#34;Skeleton Keys IMG_0774&#34; width=&#34;500&#34; height=&#34;333&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It turns out that managing these sets of really large numbers can be tricky to do well, so there are all manner of key management apps and approaches. On top of that, there seems to be decades of people wanting to make their own formats for these sets of really large numbers. So if you want to work directly with the keys themselves, you not only have to sort out the difference between the kinds of numbers used in DSA, RSA, Elliptical Curve, etc., but you will also have to figure out which of the many many formats those numbers are stored in. There are base64 formats, hex formats, standardized binary formats with names like PKCS#8/DER and X.509, old formats like S-Expressions (sexp) as well as non-standard formats like keyczar’s JSON format that uses web-safe base64. Then, there are different ways of reading and writing those different formats into a file.&lt;/p&gt;

&lt;p&gt;We started out working on the particular problem of translating the 5 numbers (x, y, p, q, g) used in DSA keys. DSA keys are used for OTR encryption, and we want to make it possible to translate the DSA key information stored by one OTR messaging app into the format used by others. Here are three examples of storing DSA keys:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(In general, its a very bad idea to post private keys anywhere at all public. These three are private keys that have been generated for test purposes)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;libotr private key from Pidgin (sexp with hex numbers):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;(account&lt;br /&gt;
(name “&amp;#x67;p&amp;#x74;&amp;#x65;s&amp;#x74;@j&amp;#x61;bb&amp;#x65;r.&amp;#x6f;rg/”)&lt;br /&gt;
(protocol prpl-jabber)&lt;br /&gt;
(private-key&lt;br /&gt;
(dsa&lt;br /&gt;
(p&lt;br /&gt;
#00CD96479A2F404FB600F9C85EE3DCD69FDF93F217AEE54A1286069983BA7731D0C73C7CB3B8CFA482A0AF6FF906E470EB4EF7F4D201D087AEDBF0086710F3039CBF42358C1BFA7D86A36332E21D32BE31538571CBC8D4F281DDD1076BA2B29B549ED29B3C19C341AEF83C80157E87FF2930B5E15C84A09AFCE28A06E06A62BCEF#)&lt;br /&gt;
(q #00D5B4647E688974D1B6B199E1A59AB2F985DBCE01#)&lt;br /&gt;
(g&lt;br /&gt;
#0093E333135FCBCE68FC6E410B304482F2F95D82BF53534C3636EADB0C22241CF35BD294B096070DC08138EFE73B03C88FD444595974E9455274F695147AF9D46B85286B4CFEF3D00BCA1D3BEB8C7EFFBA08132E1A1E4D9F115B863C52C72971F4695758354FC3BE3C4A45AF6A47747B59733905C33EE86ED68D9D90494877AE33#)&lt;br /&gt;
(y&lt;br /&gt;
#362C06B9CDD67FC4E7A7A62289D6C1E8BA061A024946A5ACC1A7DC70F6B03D99A1D3B3215D20BC4F8458EEC3F31E1391E9B519FDCDCC3CF0FBA38F8A7213551B32D59DE655F506633FB6B0EA94C4174D227DB614EF6723AB057B40CF36E2A414D0A8DCF223EE7EDD851793C4DC92282C79503030045D49A0ABCC3C6CC4080909#)&lt;br /&gt;
(x #24FE542B1C7DC8337F6F8030C7D639B7BF091B40#)&lt;br /&gt;
)&lt;br /&gt;
)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;otr4j private key from Gibberbot (PKCS#8 DER with ASCII armor, escaped for Java Properties):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#x67;p&amp;#x74;es&amp;#x74;@&amp;#x6a;ab&amp;#x62;e&amp;#x72;.o&amp;#x72;g&amp;#x2e;&amp;#x70;r&amp;#x69;va&amp;#x74;e&amp;#x4b;ey=MIIBSgIBADCCASsGByqGSM44BAEwggEeAoGBAMtPbcgvf2CAHN4djUb+gCPw/e8Xpeyc9GknS9zs\nJjSCg9vgiKBVlQBceiKAkK8SVVEaA671SS0XO575OK/sAc4j0n2t9QJP1wyGCOhV79WbwhPPEVhs\ncpAHakr9IAW6WdSnwhL/seZLYRKiVGpxXJffwN+sYjH00PulKNxmz2+DAhUAxh9yFSC1uuGk6IR0\ntnVAfsPUt7cCgYBGfHU40n0HgKIkVe3XtX0G3CbiGbR++qaEjNqnfWynggqeeVkYliLaDlVrR4B0\nnLrHZLEcUMO38YKmrwug02acp9P65IcjZ2yaioPBSmV7R6pMGOdJFR3V7Pd5R2+NcUdJd2xSffLf\nrChM82SKqa7b3DOPHkSoIdp/vJiRgikZrwQWAhRE5snYBaoR84hWVdxlumAYkBRUEA\=\=&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;private key from keyczar (JSON with websafe base64):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;{&lt;br /&gt;
“publicKey”: {&lt;br /&gt;
“q”: “AJJfsQZrhUV8p6TmpPqa084JwX9j”,&lt;br /&gt;
“p”: “AIAAAAAAAAXxHhQxJRZ-PPj2BDrHHLV8c8pX6nyOLAW3Bc7CX_SfBiGH2VyImoz6JlAOZi6x_XspxdUvpTjV7J9uO9hwnF31m3SQjdkZW2DQDb5OS1rW_4MGrTJCktKtlZz7f8_5AoO8yHSY2XWNDqrpBEiNvaTX1ttQ59nREiR1”,&lt;br /&gt;
“y”: “AGlQuRpbat4drE_fcdSZrEVfS6Fme3tNfUoJVRec1pUhoSo9PBHKFx3lbBmI8Vnub8vuY1nM2yTadOZ8H4-TYxB5JNMVTK7vLNdVcWvUUF9zRZCwps1bl0_Al29X0I1iQYJN6Klxi_QbKaSf5PhfXLVom9bJYp7_TwZCouaab296”,&lt;br /&gt;
“g”: “AES5hk-DKXP__t6yDsXIdykf7lhSKHqQCW5H2V5dMg8JkoFBSP7mIvaCHT4IxoxdM2AIpWgcoi5XSrd_hD2sjNa1JHTb9BUh31dHJLym6rTsV12ClN6f78Cjt0oKFIRI\__yWn9KM-vLEsjpd10VHlPfbEgKYePCnXFt7Y78G0wGr”,&lt;br /&gt;
“size”: 1024&lt;br /&gt;
},&lt;br /&gt;
“x”: “AGLJry5Q0CZo9cH6XRYd2ZZZppwg”,&lt;br /&gt;
“size”: 1024,&lt;br /&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are many instant messaging (IM) apps that provide solid support for the OTR chat encryption protocol. Many people use the same IM account across multiple computers and programs, but this generally causes lots of headaches when using OTR. One technique for eliminating these headaches is to use the same private OTR key across all programs and computers, but since each program has a different file format, this is hard to setup. In order to address this issue, we first mapped out the key and file formats for a number of the most widely used OTR programs (Pidgin, Adium, Gibberbot, Jitsi, irssi). As part of the &lt;a href=&#34;https://github.com/guardianproject/otrfileconverter&#34;&gt;OTRFileConverter project&lt;/a&gt;, we have written parsers for these file formats, and are close to being able to convert between all of them. These parsers not only convert the private keys for each account, but also the known public keys of remote accounts as well as their verified status. In this process, we discovered a fundamental incompatibility in the otr4j library used in Gibberbot, Jitsi, beem-otr, and other software. Fortunately, it should be possible to fix the otr4j library itself and all the software based on it should have the issue transparently fixed by including the updated otr4j.&lt;/p&gt;

&lt;p&gt;Coming soon, OTRFileConverter will be able to sync all of your key information between Pidgin and Gibberbot, so that means private keys, other people’s public keys, and whether those keys have been manually verified, or verified via the Socialist Millionaire’s Protocol (SMP).&lt;/p&gt;

&lt;p&gt;Track our progress at: &lt;a href=&#34;https://github.com/guardianproject/otrfileconverter&#34;&gt;https://github.com/guardianproject/otrfileconverter&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Free SIP Providers with ZRTP support</title>
      <link>https://guardianproject.info/2012/02/22/free-sip-providers-with-zrtp-support/</link>
      <pubDate>Wed, 22 Feb 2012 19:10:11 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/02/22/free-sip-providers-with-zrtp-support/</guid>
      <description>&lt;p&gt;This post is part of a series on our work researching the &lt;a href=&#34;https://guardianproject.info/tag/ostn/&#34;&gt;Open Secure Telephony Network&lt;/a&gt;. After you have &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;CSipSimple installed&lt;/a&gt; on your mobile handset, you will need a place to register a SIP username so you can contact others. The fastest way to get started with this is to use one of a handful of free SIP providers. I like the &lt;a href=&#34;https://www.ekiga.net/index.php?page=register&#34;&gt;Ekiga free SIP service&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/andwar/45070135/&#34; title=&#34;Red Telephone Boxes by Andwar, on Flickr&#34;&gt;&lt;img src=&#34;https://farm1.staticflickr.com/26/45070135_a1dd5889a7.jpg&#34; alt=&#34;Red Telephone Boxes&#34; width=&#34;500&#34; height=&#34;375&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The only drawback to this service is the userbase is large enough that the namespace of easy to remember words is frequently occupied. Chances are you will not be able to register your name and must make some novel admendments to ensure a unique name. Since telephony is closely associated with numbers, not words, it will be easier to find a 10 digit number combination to use as your username. This makes username input simpler since CSipSimple gives you the familliar telephone dial pad as the default interface.&lt;/p&gt;

&lt;p&gt;After you create a user with Ekiga, you must input the username and password into CSipSimple to register with the service. There is a preset configuration screen for the Ekiga service in the Account Add interface. Fill in the forms and your handset will be registered if you have an active data connection.&lt;/p&gt;

&lt;p&gt;Calling another user with CSipSimple will initiate the ZRTP handshake if both people have enabled it. Subsequent calls do not require this verfication, since it checks a Short Authentication String (SAS) for each peer.&lt;/p&gt;

&lt;p&gt;Another SIP provider that is similar to Ekiga is &lt;a href=&#34;http://www.iptel.org/service&#34;&gt;IPtel&lt;/a&gt;. It supports the same features, including ZRTP.&lt;/p&gt;

&lt;p&gt;At this point, now you should have everything you need to start an anonymous conversation on a mobile handset. The one drawback of this configuration is you may not fully trust the third-party SIP registrar, namely Ekiga. The solution to this is to run your own registrar, which is the &lt;a href=&#34;http://lee.rockingtiger.com/posts/79&#34;&gt;next installment&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;ZRTP me ASAP!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Open Source SIP Client for Android</title>
      <link>https://guardianproject.info/2012/02/22/open-source-sip-client-for-android/</link>
      <pubDate>Wed, 22 Feb 2012 16:12:25 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/02/22/open-source-sip-client-for-android/</guid>
      <description>&lt;p&gt;The first step in the &lt;a href=&#34;https://guardianproject.info/tag/ostn/&#34;&gt;Open Secure Telephony Network (OSTN)&lt;/a&gt; is a client. We can’t make a phone call without a phone. In this case there are three primary goals and a number of optional features. The primary goal is an application which speaks the SIP protocol for signalling. It must also speak the ZRTP protocol for peer to peer encryption key exchange. Finally the client must have source code freely available with a license that allows free redistribution.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/02/csipzrtp.jpg&#34;&gt;&lt;img class=&#34;size-full wp-image-1546 alignleft&#34; style=&#34;border-width: 3px;border-color: black;border-style: solid;margin: 3px&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/02/csipzrtp.jpg&#34; alt=&#34;&#34; width=&#34;200&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;As of today, the only client for Andriod that fufills this qualification is named &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;CSipSimple&lt;/a&gt;. Also as of today, the ZRTP functionality is only available from a &lt;a href=&#34;http://nightlies.csipsimple.com/trunk/&#34;&gt;nightly build&lt;/a&gt; of the binary package. Your mobile handset will not allow you to install this package until you enable “Unknown sources” in the Applications settings of your phone. By default this option is disabled on all phones. To do this, open Settings from the application menu and select Applications. Check the “Unknown sources” box. Some handset vendors &lt;a href=&#34;http://www.androidcentral.com/att-confirms-third-party-apps-coming-existing-phones&#34;&gt;disable this process&lt;/a&gt; (referred to by the euphemism “sideloading”) though &lt;a href=&#34;http://www.androidcentral.com/swm&#34;&gt;there are workarounds&lt;/a&gt;. Remember, don’t install the version from the market, since that does not support the ZRTP protocol. You must type in the URL for the nightly build in the handset’s browser and download the .apk. Once the package is installed, future updates may be installed through the CSipSimple application settings menu.&lt;/p&gt;

&lt;p&gt;CSipSimple offers some nice features. It abstracts the dizzying array of configuration options required by any application that wishes to speak the SIP protocol with another. It also has some template configuration for external service providers, which I will get to in my &lt;a href=&#34;http://lee.rockingtiger.com/posts/78&#34;&gt;next post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;CSipSimple. Do it!&lt;/p&gt;

&lt;p&gt;Original post created at 2012-01-14 05:19:02 UTC &lt;a href=&#34;http://lee.rockingtiger.com/posts/77&#34;&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Open Secure Telephony Network</title>
      <link>https://guardianproject.info/2012/02/22/open-secure-telephony-network/</link>
      <pubDate>Wed, 22 Feb 2012 15:39:26 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/02/22/open-secure-telephony-network/</guid>
      <description>&lt;p&gt;Over the last two months, I have been working on a project to research and develop a set of tools to provide secure peer to peer Voice over IP on the Android mobile platform. It is called the Open Secure Telephony Network, or &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;OSTN&lt;/a&gt;. This work is done under the umbrella of &lt;a href=&#34;https://guardianproject.info/&#34;&gt;The Guardian Project&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/stuartbarr/5893549665/&#34; title=&#34;Telephone wires by Stuart Barr, on Flickr&#34;&gt;&lt;img src=&#34;https://farm6.staticflickr.com/5119/5893549665_24943d362e.jpg&#34; alt=&#34;Telephone wires&#34; width=&#34;500&#34; height=&#34;333&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;this is not the type of “open” we mean, and definitely not secure&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The project will continue for another four months and I will post my public findings here. It’s well underway and I have developed a functional system in the SATELLITE lab in New York City. The goal by the the end of the project is to offer an alternative to Skype or Google Talk, which are both good voice services but don’t offer the kind of security needed by human rights activists and journalists.&lt;/p&gt;

&lt;p&gt;Right now the stack looks like this&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A client that understands the &lt;a href=&#34;https://en.wikipedia.org/wiki/Session_Initiation_Protocol&#34;&gt;SIP&lt;/a&gt; protocol and the &lt;a href=&#34;https://en.wikipedia.org/wiki/ZRTP&#34;&gt;ZRTP&lt;/a&gt; protocol&lt;/li&gt;
&lt;li&gt;A server that can register SIP users and pass off the ZRTP traffic to peers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sounds simple enough, though the development landscape for these applications changes quickly, as does the legal implications of various implementations of both protocols.&lt;/p&gt;

&lt;p&gt;On top of that, there are networking issues that make building this kind of network a challenge.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;Stay tuned at https://guardianproject.info/wiki/OSTN&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Originally published at 2012-01-10 22:03:09 UTC &lt;a href=&#34;http://lee.rockingtiger.com/posts/76&#34;&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>February 2012: Project Update</title>
      <link>https://guardianproject.info/2012/02/09/february-2012-project-update/</link>
      <pubDate>Thu, 09 Feb 2012 17:19:06 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/02/09/february-2012-project-update/</guid>
      <description>&lt;p&gt;Through coordination with the Tor Project, we released &lt;strong&gt;Orbot&lt;/strong&gt; 1.0.7, which includes an embedded version of OpenSSL to assure we have the latest security enhancements for this critical cryptographic library. In addition, compatibility testing was done on Android 4.0 (Ice Cream Sandwich) and with the latest versions of Firefox Mobile. As always you can learn more and download Orbot in the Android Market and at &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;https://guardianproject.info/apps/orbot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the public awareness of internet censorship and surveillence growing thanks to SOPA, PIPA and CarrierIQ, not to mention the ongoing unrest in many regions if the world, we have seen a huge spike in interest and download of Orbot, Orweb and Gibberbot. Here are some notable links:&lt;br /&gt;
&lt;a href=&#34;http://mobileactive.org/howtos/user-guide-to-orbot&#34;&gt;http://mobileactive.org/howtos/user-guide-to-orbot&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#34;http://www.chinagfw.org/2012/01/orbot-tor.html&#34;&gt;http://www.chinagfw.org/2012/01/orbot-tor.html&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#34;http://geeknews.cz/orbot-svobodnejsi-brouzdani-pro-android/352/&#34;&gt;http://geeknews.cz/orbot-svobodnejsi-brouzdani-pro-android/352/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#34;http://www.101hacker.com/2012/01/10-must-have-free-android-apps.html&#34;&gt;http://www.101hacker.com/2012/01/10-must-have-free-android-apps.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We pushed a small fix to &lt;strong&gt;ObscuraCam&lt;/strong&gt; to solve a problem with saving processed images on many Samsung Galaxy devices, and a number of fixes in the native Android JPEG Redaction library which has been developed as part of the project.&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/securesmartcam/tree/obscurav1&#34;&gt;https://github.com/guardianproject/securesmartcam/tree/obscurav1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Along with our partners at WITNESS, we presented the entire &lt;strong&gt;SecureSmartCam&lt;/strong&gt; project at the monthly New York Tech Meetup event, attended by hundreds of the city’s top developers, entrepreneurs and investors. Our goal was too raise awareness about visual privacy, show off our app, and highlight the fact that we are doing grant-funded, open-source human rights tech work in the middle of Silicon Alley. The project was well received with the demo going off without a hitch. The Economist also featured the SecureSmartCam project in print and online through a story focused on the future of protest video.&lt;/p&gt;

&lt;p&gt;Economist blog and video: &lt;a href=&#34;http://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&#34;&gt;http://www.economist.com/blogs/babbage/2012/01/technology-and-democracy&lt;/a&gt;&lt;br /&gt;
New York Tech Meetup full stream: &lt;a href=&#34;http://vimeo.com/34608516&#34;&gt;http://vimeo.com/34608516&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Formal management of the &lt;strong&gt;SQLCipher for Android&lt;/strong&gt; project has been moved over to a joint effort between Zetetic, LLC and the Guardian Project, with the new online home being &lt;a href=&#34;https://github.com/sqlcipher&#34;&gt;https://github.com/sqlcipher&lt;/a&gt; and the code packaging moving to a net.sqlcipher.* base. Zetetic is the creator of the original core SQLCipher project and they have been critical in our efforts to bring it to Android. We expect to release an update to SQLCipher 2 with support for Android ICS 4.x this month.&lt;/p&gt;

&lt;p&gt;Our &lt;strong&gt;Portable Shared Security Tokens (PSST)&lt;/strong&gt; research project made great headway in sorting through the many, many formats for storing cryptographic keys in open-source software, specifically messaging apps using the Off-the-Record private messaging protocol. One of the project goals is to enable synchronization of keys, included trusted or verified status, from desktop to mobile contexts. An initial set of code has been posted which enables transfer of key between Pidgin and Gibberbot. Learn more at &lt;a href=&#34;https://guardianproject.info/wiki/PSST&#34;&gt;https://guardianproject.info/wiki/PSST&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Secure Telephony Network (OSTN)&lt;/strong&gt; is another internal research effort to audit and promote reliable solutions for secure open-source, mobile voice communication. Our chief focus has been the determining which client apps and server soft switches properly support TLS, SRTP and ZRTP protocols for encrypting both SIP signaling and the actual RTP media streaming. We also surveyed the mobile telephony habits of over twenty activists and NGOs, and unsurprisingly found a great dependence on Skype. We plan to release the results of the survey publicly, along with some initial assessments and tutorials in February. Track our efforts at &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;https://guardianproject.info/wiki/OSTN&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introducing InformaCam</title>
      <link>https://guardianproject.info/2012/01/20/introducing-informacam/</link>
      <pubDate>Fri, 20 Jan 2012 13:58:26 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/01/20/introducing-informacam/</guid>
      <description>

&lt;p&gt;These are interesting times, if you go by Times Magazine as an indicator. The magazine’s person of the year for 2011 was The Protester, preceded in 2010 by Facebook founder Mark Zuckerberg. Both entities partners with equal stake in freely sharing the digital content that shows the world what’s going on in it, at any time, from behind any pair of eyes.&lt;img class=&#34;alignright size-medium wp-image-1471&#34; alt=&#34;The Protester: Person of the Year&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/poy_cover-225x300.jpg&#34; width=&#34;225&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/poy_cover-225x300.jpg 225w, https://guardianproject.info/wp-content/uploads/2012/01/poy_cover.jpg 474w&#34; sizes=&#34;(max-width: 225px) 100vw, 225px&#34; /&gt; Also casting in their lot with the others is Time Magazine’s 2006 person of the year, You: the You that puts the “you” in “user-generated content;” the You whose miasma of bits, bytes, and the powerful images they express are becoming increasingly problematic. Problematic and exciting. As governments, police forces, and other power players here and abroad crack down on voices of dissent, it is only You, The Protester, armed not with a press pass, but with a smartphone and a Twitter account, who brings the rest of the world its news. You do it mainly without either the support or permission of those in power, and this makes you a very important person in the world.&lt;/p&gt;

&lt;p&gt;The smartphone’s role in the defense of human rights has thus become ever-more clear. How can we make it clearer? Our latest project, InformaCam, tackles this issue head-on. In collaboration with &lt;a href=&#34;https://www.witness.org/&#34; target=&#34;_blank&#34;&gt;Witness.ORG&lt;/a&gt; and the &lt;a href=&#34;www.ibanet.org/&#34; target=&#34;_blank&#34;&gt;International Bar Association&lt;/a&gt;, we’re building a powerful tool to create iron-clad digital images and video that could, should the occasion arise, be used in courts of law to bring justice. This is no small feat– with this project we are helping create the first evidentiary standards for digital media in the social networking age. So, &lt;a href=&#34;http://www.economist.com/node/21542748&#34; target=&#34;_blank&#34;&gt;there’s been a lot of excitement&lt;/a&gt; these past few weeks about InformaCam, as well as a lot of mystery. It’s time to give the project a proper unveiling.&lt;/p&gt;

&lt;p&gt;InformaCam is a plugin for ObscuraCam that allows the user, without much intervention on their own part, to inflate image and video with extra points of data, or metadata. The metadata includes information like the user’s current GPS coordinates, altitude, compass bearing, light meter readings, the signatures of neighboring devices, cell towers, and wifi networks; and serves to shed light on the exact circumstances and contexts under which the digital image was taken. Some users will already be familiar with ObscuraCam, which allows for capturing and digitally manipulating media. With InformaCam included, the app starts to behave almost like Adobe Photoshop or GIMP, supporting non-destructive, layer-based edits to media. This means that a version of an image can be created with any sensitive image data and metadata preserved and encrypted to trusted entities, along with a redacted version that has its metadata stripped which can be easily shared to Facebook, Twitter, Flickr, or any public service the user wishes to use.&lt;/p&gt;

&lt;h2 id=&#34;how-informacam-works&#34;&gt;How InformaCam Works&lt;/h2&gt;

&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1459&#34; alt=&#34;InformaCam (1)&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.18.27-PM.png&#34; width=&#34;205&#34; height=&#34;341&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.18.27-PM.png 205w, https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.18.27-PM-180x300.png 180w&#34; sizes=&#34;(max-width: 205px) 100vw, 205px&#34; /&gt; The workflow is similar to that of ObscuraCam, but with a few key differences. Notice that on start-up, the app triggers the on-board sensors. (Notifications in the top right corner clearly indicate the GPS and Bluetooth modules have been turned on.) This allows the app to register sensory and atmospheric data throughout the session. These “bundles” of data contain the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Current timestamp&lt;/li&gt;
&lt;li&gt;Device’s identification&lt;/li&gt;
&lt;li&gt;User’s public (PGP) key&lt;/li&gt;
&lt;li&gt;Image Regions created in the image/video&lt;/li&gt;
&lt;li&gt;Current latitude &amp;amp; longitude&lt;/li&gt;
&lt;li&gt;Current cell ID (if available)&lt;/li&gt;
&lt;li&gt;Altitude&lt;/li&gt;
&lt;li&gt;Compass bearing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether the user is taking a picture, or editing an existing piece of media, the app registers the goings-on, and signs each bundle of data with the user’s private key. This mean that all actions taken on a piece of media (from capture to editing) are attributed to the user.&lt;/p&gt;

&lt;p&gt;As with ObscuraCam, the user can perform image filtering and obfuscation on image regions. InformaCam also adds the “Identify” filter, which prompts the user for the subject’s name (or pseudonym) and to fill in whether or not the subject has given his or her consent to be filmed. This checklist of subject permissions can be further developed to match the needs of any organization to provide further protection to the people in front of the camera. Notice again the sensor notifications: the context surrounding each edit to the image is recorded and will be inserted into the media as metadata once the media is saved.&lt;/p&gt;

&lt;p&gt;When the user saves the image or video, a dialog appears prompting her to choose one or more “trusted destinations.” This could be an organization, a news outlet, or any friend whose PGP key is known to you. A copy of the unredacted, data-rich image will be created and encrypted to those parties. At the same time, a redacted and data-stripped version is made available to share with anyone, anywhere.&lt;/p&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td width=&#34;201&#34;&gt;
      &lt;img class=&#34;alignnone size-full wp-image-1461&#34; alt=&#34;InformaCam (2)&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.07-PM.png&#34; width=&#34;201&#34; height=&#34;332&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.07-PM.png 201w, https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.07-PM-181x300.png 181w&#34; sizes=&#34;(max-width: 201px) 100vw, 201px&#34; /&gt;
    &lt;/td&gt;
    
    &lt;td width=&#34;197&#34;&gt;
      &lt;img class=&#34;alignnone size-full wp-image-1462&#34; alt=&#34;InformaCam (3)&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.21-PM.png&#34; width=&#34;197&#34; height=&#34;330&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.21-PM.png 197w, https://guardianproject.info/wp-content/uploads/2012/01/Screen-shot-2012-01-20-at-1.21.21-PM-179x300.png 179w&#34; sizes=&#34;(max-width: 197px) 100vw, 197px&#34; /&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      &lt;i&gt;Using the InformaCam “Identify” filter.&lt;/i&gt;
    &lt;/td&gt;
    
    &lt;td&gt;
      &lt;i&gt;Select a Trusted Destination for your encrypted media.&lt;/i&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;h2 id=&#34;the-informa-metadata-schematic&#34;&gt;The Informa Metadata Schematic&lt;/h2&gt;

&lt;p&gt;The metadata is organized in four categories: intent, consent, geneaology, and data. Here’s a rundown of what these categories mean.&lt;/p&gt;

&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;

&lt;p&gt;This expresses information about the media’s creator, and the rules governing how this particular media object can be shared, and to whom.&lt;/p&gt;

&lt;h3 id=&#34;consent&#34;&gt;Consent&lt;/h3&gt;

&lt;p&gt;This bucket of information regards the subjects contained in the image. Each subject is identified (by a name or pseudonym selected by the user) along with their stated preferences regarding treatment of their likeness. For example, if Bobby insists that he wants his face to be fully redacted (rather than blurred) this preference should be registered in metadata.&lt;/p&gt;

&lt;h3 id=&#34;genealogy&#34;&gt;Genealogy&lt;/h3&gt;

&lt;p&gt;This information regards chain-of-custody, and represents how the media was acquired, and if a particular image or video is a duplicate of another.&lt;/p&gt;

&lt;h3 id=&#34;data&#34;&gt;Data&lt;/h3&gt;

&lt;p&gt;This category includes all standard metadata (timestamp, acquired sensory data, location and movement data) that have been collected during the lifetime of the image, from the moment it was opened to the instant it was saved.&lt;/p&gt;

&lt;p&gt;A sample metadata bundle for an image taken with InformaCam looks like this in JSON notation:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;br /&amp;gt;
{&amp;lt;br /&amp;gt;
&amp;quot;data&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;device&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;bluetoothInformation&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;selfOrNeighbor&amp;quot;:-1,&amp;lt;br /&amp;gt;
&amp;quot;deviceBTAddress&amp;quot;:&amp;quot;00:25:36:79:EC:6C&amp;quot;,&amp;lt;br /&amp;gt;
&amp;quot;deviceBTName&amp;quot;:&amp;quot;nexxxie&amp;quot;&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;imei&amp;quot;:&amp;quot;363289131048142&amp;quot;&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;sourceType&amp;quot;:101,&amp;lt;br /&amp;gt;
&amp;quot;imageRegions&amp;quot;:[&amp;lt;br /&amp;gt;
{&amp;lt;br /&amp;gt;
&amp;quot;regionDimensions&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;height&amp;quot;:256,&amp;lt;br /&amp;gt;
&amp;quot;width&amp;quot;:256.00006103515625&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;regionCoordinates&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;left&amp;quot;:527.705078125,&amp;lt;br /&amp;gt;
&amp;quot;top&amp;quot;:196.15255737304688&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;obfuscationType&amp;quot;:&amp;quot;Identify&amp;quot;,&amp;lt;br /&amp;gt;
&amp;quot;location&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;locationType&amp;quot;:11,&amp;lt;br /&amp;gt;
&amp;quot;locationData&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;gpsCoords&amp;quot;:&amp;quot;[40.7085011,-73.9668647]&amp;quot;,&amp;lt;br /&amp;gt;
&amp;quot;cellId&amp;quot;:&amp;quot;36789325&amp;quot;&amp;lt;br /&amp;gt;
}&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;captureTimestamp&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;timestamp&amp;quot;:1326216508313,&amp;lt;br /&amp;gt;
&amp;quot;timestampType&amp;quot;:7&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;subject&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;consentGiven&amp;quot;:&amp;quot;general_consent&amp;quot;,&amp;lt;br /&amp;gt;
&amp;quot;informedConsentGiven&amp;quot;:true,&amp;lt;br /&amp;gt;
&amp;quot;subjectName&amp;quot;:&amp;quot;Harlo!&amp;quot;&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;unredactedRegion&amp;quot;:&amp;quot;I@4070cf30&amp;quot;&amp;lt;br /&amp;gt;
}&amp;lt;br /&amp;gt;
],&amp;lt;br /&amp;gt;
&amp;quot;imageHash&amp;quot;:&amp;quot;f18e7510faaad0d942db68b5c75f219a&amp;quot;,&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;geneaology&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;dateAcquired&amp;quot;:0,&amp;lt;br /&amp;gt;
&amp;quot;localMediaPath&amp;quot;:&amp;quot;\/mnt\/sdcard\/DCIM\/Camera\/1326216520426.jpg&amp;quot;,&amp;lt;br /&amp;gt;
&amp;quot;dateCreated&amp;quot;:1326216527629&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;intent&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;owner&amp;quot;:{&amp;lt;br /&amp;gt;
&amp;quot;ownershipType&amp;quot;:25,&amp;lt;br /&amp;gt;
&amp;quot;ownerKey&amp;quot;:&amp;quot;MY-IDENTITY-IS-HERE&amp;quot;&amp;lt;br /&amp;gt;
},&amp;lt;br /&amp;gt;
&amp;quot;securityLevel&amp;quot;:1,&amp;lt;br /&amp;gt;
&amp;quot;intendedDestination&amp;quot;:&amp;quot;[\&amp;quot;&amp;amp;#x68;ar&amp;amp;#x6c;&amp;amp;#x6f;.h&amp;amp;#x6f;&amp;amp;#x6c;me&amp;amp;#x73;@g&amp;amp;#x6d;&amp;amp;#x61;il&amp;amp;#x2e;&amp;amp;#x63;om\&amp;quot;]&amp;quot;&amp;lt;br /&amp;gt;
}&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h2 id=&#34;your-help&#34;&gt;Your Help&lt;/h2&gt;

&lt;p&gt;InformaCam is a work-in-process, and we’d love help from the community in fleshing out our metadata specification, especially in adding new items to the consent checklist. Feel free to contact us with any suggestions/comments, or just leave some helpful tips in the comments below.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Strong Mobile Passwords with Yubikey USB Token</title>
      <link>https://guardianproject.info/2012/01/04/strong-mobile-passwords-with-yubikey-usb-token/</link>
      <pubDate>Wed, 04 Jan 2012 00:45:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/2012/01/04/strong-mobile-passwords-with-yubikey-usb-token/</guid>
      <description>&lt;p&gt;We have been experimenting with the &lt;a href=&#34;http://www.yubico.com/yubikey&#34;&gt;Yubikey&lt;/a&gt;, a USB hardware password token, a bit over the last few weeks and would like to share our initial findings. We have not received any financial support or donation from Yubico for this work. We simply think they have a very affordable, interesting product that, due to its design, does *not* require any on-device driver software and can easily work with any Android device that supports USB Host/HID mode.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.05.17.jpg&#34;&gt;&lt;img title=&#34;2012-01-03 14.05.17&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.05.17-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Yubikey is small, light and attaches to a keychain&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Our motivation for investigating this device was in finding a way to encourage the use of strong (aka long, mixed-case, etc) passwords on mobile devices, for use with SQLCipher, screenlock passwords, and on boot disk encryption. The issue is that most users rely on short PINs or a visual unlock pattern, which does not provide enough randomness to ensure security of their data. In addition, due to the use of a touchscreen, fingerprint oil smudges on the screen often reveal the numbers entered or the pattern drawn to unlock the device (See the &lt;a href=&#34;https://docs.google.com/viewer?url=http%3A%2F%2Fwww.usenix.org%2Fevents%2Fwoot10%2Ftech%2Ffull_papers%2FAviv.pdf&#34;&gt;“Smudge Attacks on Smartphone Touch Screens”&lt;/a&gt; paper.)&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/medium_nexus-one-gesture-password-insecure-536x587_01.jpg&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-1397&#34; title=&#34;medium_nexus-one-gesture-password-insecure-536x587_01&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/medium_nexus-one-gesture-password-insecure-536x587_01.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;298&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/medium_nexus-one-gesture-password-insecure-536x587_01.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/01/medium_nexus-one-gesture-password-insecure-536x587_01-150x150.jpg 150w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;On-screen password entry can leave smudges (&lt;a href=&#34;http://gizmodo.com/5613737/your-greasy-fingers-are-giving-up-your-android-passcode&#34;&gt;Gizmodo&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Even when a user enters a traditional character based pattern, it is often laborious on a mobile device to use symbols and mixed case characters.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.05.55.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-1386&#34; title=&#34;2012-01-03 14.05.55&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.05.55-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.05.55-300x225.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.05.55.jpg 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Yubikey with inexpensive micro-USB adapter&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Yubikey is a hardware token that plugs into a USB port, and is activated by a short press on the touch sensitive gold-colored disc. It essentially looks and acts like an external hardware keyboard, which is how it works in a drivelress manner. While the primary function of the Yubikey is as a generator for one-time passwords to be verified over a network with a back-end authentication system, it can also be used to store and generate local strong static passwords. It is the static password mode which we have initially worked with for use with Android devices, in order to do local authentication for disk encryption, screen unlock and local encrypted application databases. &lt;em&gt;(We do plan to investigate the other modes of the Yubikey in future posts.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/yubikey.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-1384&#34; title=&#34;yubikey&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/yubikey-300x246.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;246&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/yubikey-300x246.png 300w, https://guardianproject.info/wp-content/uploads/2012/01/yubikey.png 902w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Yubikey Personalization Tool – simple and free&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Android has a limit of 17 characters for its disk encryption and screen unlock password. Using the &lt;a href=&#34;http://www.yubico.com/personalization-tool&#34;&gt;Yubikey Personalization Tool&lt;/a&gt;, we were able to generate a strong password of that limit, as well as a 13 character password, which we combined with a memorized, manually entered 4 digit pin. By combining the long password from the Yubikey with a short memorized version, a certain amount of security is preserved even if the key is physically stolen along with your mobile device.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.07.10.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-1388&#34; title=&#34;2012-01-03 14.07.10&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.07.10-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.07.10-300x225.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.07.10.jpg 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Yubikey activation via micro-USB on Motorola Xoom&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;__At this point in time, it seems that only Android tablets, such as the Viewsonic GTab, Motorola Xoom and Toshiba Thrive support the necessary &lt;a href=&#34;https://en.wikipedia.org/wiki/USB_human_interface_device_class&#34;&gt;USB Human Interface Device mode&lt;/a&gt; to enable the Yubikey to work. We have not yet found a smartphone that supports external keyboard hardware, but we are sure they are out there, or else it will not be long. Our initial tests were with the Motorola Xoom, which only includes a micro USB port. Fortunately, using a &lt;a href=&#34;http://www.amazon.com/Micro-USB-Male-Female-Adapter/dp/B0027YYMU6/ref=sr_1_1?ie=UTF8&amp;amp;qid=1325636089&amp;amp;sr=8-1&#34;&gt;very simple adapter purchased on Amazon&lt;/a&gt;, we were able to make it work. Open the Android settings to the Location &amp;amp; Security screen, and configure your lock screen to be “Secured with password”. When asked to type it in, plug in the Yubikey with adapter, touch the disc, and the pre-configured static password spits out into the password field that is currently in focus on the device.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.09.04.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-1390&#34; title=&#34;2012-01-03 14.09.04&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.09.04-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.09.04-300x225.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.09.04.jpg 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Yubikey password entry&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Toshiba and Viewsonic tablets offer full-size USB ports, which makes the use of the Yubikey much easier, as seen below. However, as a best practices policy, even if the key can be left plugged in to the device while in use and in motion, it makes most sense to remove the Yubikey immediately, and have it attached to a keychain or other physical item you always keep on your person.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.08.08.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-1389&#34; title=&#34;2012-01-03 14.08.08&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.08.08-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.08.08-300x225.jpg 300w, https://guardianproject.info/wp-content/uploads/2012/01/2012-01-03-14.08.08.jpg 1024w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yubikey also offers an &lt;a href=&#34;http://www.yubico.com/rfid-yubikey&#34;&gt;RFID-enabled version of their key&lt;/a&gt; which is compatible with the Near Field Communication (NFC) technology found in some newer Android phones. Using this solution, it may be possible to not require actually plugging in the key at all, but instead just having it in the vicinity of your mobile device. You would still need to combine this with a short directly entered password or PIN, in case the NFC signal is somehow wirelessly sniffed by an attacker, though the risk of that is very low for most typical deployments, and NFC itself does provide some amount of security.&lt;/p&gt;

&lt;p&gt;All in all, we find the Yubikey to server a useful purpose in improving the base level of local device security on compatible Android devices. While one could type in a 17 character, mixed-case, number and symbol password directly into a device, it would grow old quickly, especially with typical, end-users. The act of plugging in a Yubikey takes very little effort, and combined with a short manually entered PIN, provides the maximum amount of password security for disk encryption, screen locking, and application-based security on Android.&lt;/p&gt;

&lt;p&gt;Look for future posts on the use of the Yubikey and other hardware token devices, specifically investigating their use in one-time password, challenge-response, and RFID/NFC modes.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Thoughts on Mobile Video for Activism</title>
      <link>https://guardianproject.info/2011/12/22/thoughts-on-mobile-video-for-activism/</link>
      <pubDate>Thu, 22 Dec 2011 16:39:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/12/22/thoughts-on-mobile-video-for-activism/</guid>
      <description>&lt;p&gt;I’ve co-written a blog post with Bryan Nunez of WITNESS, on some important concepts around using mobile video technology within activists and protest situations.  It is up now &lt;a href=&#34;https://blog.witness.org/2011/12/mobile-workflow-human-rights-video/&#34;&gt;on their blog&lt;/a&gt;, but here is a short excerpt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Activists all over the world have turned to mobile phones to organize, coordinate and document their struggle.  Images and videos shot on mobile phones have been the standard for what revolution looks like in the public imagination.  We have seen iconic moments, captured in low resolution on mobile phones, captivate global audiences. We have moved from a handful of grainy clips uploaded hours or days after events unfold, to multiple livestreams, showing different angles on something happening right now. The Arab Spring, the #Occupy Movement, as well less politicized events like the &lt;a href=&#34;https://blog.witness.org/2011/08/citizen-media-in-the-london-riots/&#34;&gt;London and Vancouver riots&lt;/a&gt;&lt;a href=&#34;https://blog.witness.org/2011/08/citizen-media-in-the-london-riots/&#34;&gt; &lt;/a&gt;have shown us that the mobile phone is the recording device used to document the next breaking news story, especially if that story involves any sort of protest or activism.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/12/image07.png&#34;&gt;&lt;img title=&#34;image07&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/12/image07.png&#34; alt=&#34;&#34; width=&#34;634&#34; height=&#34;135&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Read on here: &lt;a href=&#34;https://blog.witness.org/2011/12/mobile-workflow-human-rights-video/&#34;&gt;https://blog.witness.org/2011/12/mobile-workflow-human-rights-video/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SQLCipher for Android v1 FINAL!</title>
      <link>https://guardianproject.info/2011/11/29/sqlcipher-for-android-v1-final/</link>
      <pubDate>Tue, 29 Nov 2011 18:17:47 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/11/29/sqlcipher-for-android-v1-final/</guid>
      <description>&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Team GP along with the good folks at &lt;a href=&#34;http://zetetic.net/&#34;&gt;Zetetic&lt;/a&gt;, are happy to announce that we have reached &lt;em&gt;&lt;strong&gt;FINAL&lt;/strong&gt;&lt;/em&gt; on our first release (“v1” 0.0.6 build) of &lt;a href=&#34;https://guardianproject.info/code/sqlcipher/&#34;&gt;SQLCipher for Android&lt;/a&gt;. This means we consider this a production release, ready for shipping with your apps to provide for reliable, open-source, secure application data encryption.&lt;/p&gt;

&lt;p&gt;If you need a refresher, here is what the cross-platform, open-source &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34;&gt;SQLCipher&lt;/a&gt; provides:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SQLCipher is an &lt;a href=&#34;http://sqlite.org/&#34;&gt;SQLite&lt;/a&gt; extension that provides transparent 256-bit AES encryption of database files. Pages are encrypted before being written to disk and are decrypted when read back. Due to the small footprint and great performance it’s ideal for protecting embedded application databases and is well suited for mobile development.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blazing fast performance with as little as 5-15% overhead for encryption on many operations&lt;/li&gt;
&lt;li&gt;100% of data in the database file is encrypted&lt;/li&gt;
&lt;li&gt;Uses good security practices (CBC mode, key derivation)&lt;/li&gt;
&lt;li&gt;Zero-configuration and application level cryptography&lt;/li&gt;
&lt;li&gt;Broad platform support: works with C/C++, Obj-C, QT, Win32/.NET, Java, Python, Ruby, etc on Windows, Linux, iPhone/iOS…&lt;/li&gt;
&lt;li&gt;Algorithms provided by the peer reviewed &lt;a href=&#34;http://openssl.org/&#34;&gt;OpenSSL&lt;/a&gt; crypto library.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;In addition to our work porting the core codebase, the work done on Android also provides near exact API compatibility with the default &lt;a href=&#34;http://developer.android.com/reference/android/database/package-summary.html&#34;&gt;Android Database API&lt;/a&gt;. This means that developers can drop in SQLCipher, and add data encryption to their application, with very little changes to their existing codebase.&lt;/p&gt;

&lt;p&gt;Finally, while full disk encryption is offered newer Android devices from Motorola, and those running Android 3.x Honeycomb or 4.x Ice Cream Sandwich, that only provides encryption of the entire internal or external storage, which must be unlocked and decrypted when the device is booted. The SQLCipher model ensures only a limited amount of data from your app is accessible at anytime, and allows the user or the app to lock itself down, whether or not the device itself is locked or encryption.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Download the Software Development Kit here for integration with your Android apps: &lt;a href=&#34;https://github.com/downloads/guardianproject/android-database-sqlcipher/SQLCipherForAndroid-SDK-0.0.6-FINAL.zip&#34;&gt;https://github.com/downloads/guardianproject/android-database-sqlcipher/SQLCipherForAndroid-SDK-0.0.6-FINAL.zip&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can see all the &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/issues?sort=updated&amp;amp;direction=desc&amp;amp;state=closed&amp;amp;page=1&#34;&gt;closed issues addressed&lt;/a&gt; in this release.&lt;/p&gt;

&lt;p&gt;If you want to build from source, you will need the Android NDK, as well as the SDK. Pull the repo, and run ‘make all’ with the included &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/Makefile&#34;&gt;SQLCipher Makefile&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Our partners at &lt;a href=&#34;http://zetetic.net/&#34;&gt;Zetetic&lt;/a&gt; have published a &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;step-by-step application integration tutorial&lt;/a&gt;.&lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;&lt;br /&gt;
&lt;/a&gt; &lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-1345&#34; title=&#34;eclipse-class-libraries&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/11/eclipse-class-libraries-300x214.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;214&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/11/eclipse-class-libraries-300x214.png 300w, https://guardianproject.info/wp-content/uploads/2011/11/eclipse-class-libraries.png 754w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also get started by working with our &lt;a href=&#34;https://github.com/guardianproject/notepadbot&#34;&gt;sample ‘NoteCipher’ project available on Github&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you happen to encounter them, &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/issues/new&#34;&gt;please report any unexpected behaviours&lt;/a&gt;, bugs, typos or other abnormalities, as soon as you can. We know there are still some &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/issues?sort=updated&amp;amp;direction=desc&amp;amp;state=open&#34;&gt;outstanding issues&lt;/a&gt; faced in some cases, but we did not consider them blockers.&lt;/p&gt;

&lt;p&gt;SQLCipher for Android Home: &lt;a href=&#34;https://guardianproject.info/code/sqlcipher/&#34;&gt;https://guardianproject.info/code/sqlcipher/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Don’t Get Burned, Anonymize Your Fire</title>
      <link>https://guardianproject.info/2011/11/16/dont-get-burned-anonymize-your-fire/</link>
      <pubDate>Wed, 16 Nov 2011 22:37:24 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/11/16/dont-get-burned-anonymize-your-fire/</guid>
      <description>&lt;p&gt;Thanks to Jesse Vincent, aka &lt;a href=&#34;https://twitter.com/obra&#34;&gt;@obra&lt;/a&gt; of the &lt;a href=&#34;https://code.google.com/p/k9mail/&#34;&gt;K-9 mail project&lt;/a&gt;, we can say that &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot (Tor on Android)&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/apps/orweb&#34;&gt;Orweb (Privacy Browser)&lt;/a&gt; work just fine on the new &lt;a href=&#34;http://www.amazon.com/Kindle-Fire-Amazon-Tablet/dp/B0051VVOB2&#34;&gt;Amazon Kindle Fire&lt;/a&gt;. This means that while everything you do through Amazon’s store and browser are tracked and accounted for by Team Bezos, you can use our apps to more safely and privately access web content through the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network&lt;/a&gt;. While we are mostly &lt;a href=&#34;https://guardianproject.info/hardware/&#34;&gt;Nook Color fans&lt;/a&gt; around here, we know that the Kindle Fire is going to be quite popular this Christmas, and are glad to see that mobile privacy now has a toehold on the device from Seattle.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://twitpic.com/7f2bo3&#34;&gt;&lt;img title=&#34;448565907&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/11/448565907-300x224.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;224&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This provides a nice counterpoint to some of the &lt;a href=&#34;http://www.slashgear.com/eff-talks-silk-browser-privacy-with-amazon-19189281/&#34;&gt;earlier privacy concerns about the Amazon Silk browser&lt;/a&gt;, which proxies all your http connections through their data center. In addition, the fact that our &lt;a href=&#34;https://gitweb.torproject.org/orbot.git/blob_plain/HEAD:/BUILD&#34;&gt;very complex apps&lt;/a&gt; work without modification on Amazon’s stripped down flavor of Android, shows that the reports of fragmentation have been greatly exaggerated. From our perspective, the power of Android comes from the compatibility of the underlying platform APIs and Linux-based foundation, and not about having a one size fits all user interface or a single-point of control app marketplace.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/11/Kindle-Fire.jpg&#34;&gt;&lt;img class=&#34;size-medium wp-image-1306 alignnone&#34; title=&#34;Kindle-Fire&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/11/Kindle-Fire.jpg&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/11/Kindle-Fire.jpg 500w, https://guardianproject.info/wp-content/uploads/2011/11/Kindle-Fire-300x168.jpg 300w&#34; sizes=&#34;(max-width: 500px) 100vw, 500px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation Instructions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1) Under the settings section labeled “Device,” there is an option that says “Allow Installation of Applications From Unknown Sources.” Enable this!&lt;/p&gt;

&lt;p&gt;2) Then download these files directly via the Fire’s browser, or side-load them from the desktop using the Android SDK “adb” tool.&lt;/p&gt;

&lt;p&gt;Orbot: &lt;a href=&#34;https://www.torproject.org/dist/android/Orbot-1.0.6-Tor-0.2.3.7-alpha-FINAL.apk&#34;&gt;https://www.torproject.org/dist/android/Orbot-1.0.6-Tor-0.2.3.7-alpha-FINAL.apk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Orweb: &lt;a href=&#34;https://github.com/downloads/guardianproject/Orweb/Orwebv2-20010809-0.2.2.apk&#34;&gt;https://github.com/downloads/guardianproject/Orweb/Orwebv2-20010809-0.2.2.apk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;3) Start Orbot, follow the wizard, and press the power up button to connect to Tor.&lt;/p&gt;

&lt;p&gt;4) Start Orweb to connect to the Tor Check page to verify your connection, then browse away to your (private) heart’s content.&lt;/p&gt;

&lt;p&gt;5) Do a happy dance because your Kindle Fire just got way more l33t and slightly less p0wn3d.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>libsqlfs: filesystem on top of SQLite/SQLCipher</title>
      <link>https://guardianproject.info/code/libsqlfs/</link>
      <pubDate>Thu, 27 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/libsqlfs/</guid>
      <description>&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34; title=&#34;libsqlfs on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34; title=&#34;libsqlfs on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/libsqlfs&#34; target=&#34;_blank&#34; title=&#34;libsqlfs blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;libsqlfs provides a complete virtual disk on top of a SQLite or
SQLCipher database. The virtual disk is encrypted and contained in a
single file, which can be easily moved around, copied, shared,
etc. It is a standard FUSE filesytem that can work on Android,
GNU/Linux, and perhaps also macOS.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>libsqlfs: filesystem on top of SQLite/SQLCipher</title>
      <link>https://guardianproject.info/code/libsqlfs/</link>
      <pubDate>Thu, 27 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/libsqlfs/</guid>
      <description>&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34; title=&#34;libsqlfs on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/libsqlfs&#34; target=&#34;_blank&#34; title=&#34;libsqlfs on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/libsqlfs&#34; target=&#34;_blank&#34; title=&#34;libsqlfs blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;libsqlfs provides a complete virtual disk on top of a SQLite or
SQLCipher database. The virtual disk is encrypted and contained in a
single file, which can be easily moved around, copied, shared,
etc. It is a standard FUSE filesytem that can work on Android,
GNU/Linux, and perhaps also macOS.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Two years in…</title>
      <link>https://guardianproject.info/2011/10/25/two-years-in/</link>
      <pubDate>Tue, 25 Oct 2011 15:11:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/10/25/two-years-in/</guid>
      <description>&lt;p&gt;Greetings mobile believers,&lt;/p&gt;

&lt;p&gt;I am about to head into the first ever Silicon Valley Human Rights Conference, aka #RightsCon, and though I would post some thoughts about the state of the Guardian Project, and the world in which we operate. RightsCon looks to be an amazing event (live streaming here: &lt;a href=&#34;https://www.rightscon.org/&#34;&gt;https://www.rightscon.org/&lt;/a&gt;), by an amazing organization (Access), and it comes at an interesting time in the world, and for our project.&lt;/p&gt;

&lt;p&gt;One year ago, I was invited to attend the first Liberation Technology held at Stanford University, a forebearer of sorts, to the RightsCon event today. It was a novel event, being that is was so forthright about the possibility of liberation from oppressors through ones and zeros. It was also quite informative, in that brought together a wide array of participants, including from Egypt, Syria and Yemen, and allowed them to speak directly about the variety of tactics they were using to defeat censors, route around filters, connect diasporas to their homeland and ultimately find fissures in the system that could slowly be mined and widened.&lt;/p&gt;

&lt;p&gt;I gave a short talk as part of a panel I was asked to be on, which covered the history of my sometimes bi-polar work as an activist and a technologist. In this talk, I discussed how the human-need focused brilliance of Steve Jobs, should be combined with the deep understanding of movements by Gene Sharp. I talked about how the icon of Android has some things to learn from OTPOR! if it wants people to join in liberating their mobiles. I proposed that the ideas of free culture and code held by Stallman and Lessig need to be studied, spread and embodied by activist communities, such as the Tibetan independence groups, with home I work closely.&lt;/p&gt;

&lt;p&gt;While it is better in person with my arm waving, you can view the visual portion of this presentation here:&lt;br /&gt;
 &lt;a href=&#34;http://prezi.com/ttsj526jjlsi/libtech/&#34;&gt;http://prezi.com/ttsj526jjlsi/libtech/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since that event, so much has happened, both in the world and within our work here at the Guardian Project. The recent events in the Middle East and North Africa, have shown, that now more then ever, social, mobile technology, combined with non-violent direct action, is a central solution for helping citizens of this planet defend their rights to live, study, pray, commune, transact and organise. I think my words and presentation at that event were less about foreseeing the near future, and more about just sensing all the components in the air, and hoping that someone, somewhere, would put them all together in service of a good cause.&lt;/p&gt;

&lt;p&gt;This same analogy can be used for the state of the Guardian Project itself. It was two years ago, we had our first breakthrough with the port of Tor to Android:&lt;br /&gt;
 &lt;a href=&#34;http://openideals.com/2009/10/22/orbot-proxy/&#34;&gt;http://openideals.com/2009/10/22/orbot-proxy/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was about as raw as it gets – source code, a user interface made up of a few grey buttons and a console log output, and very complex set of steps to actually get proxying working. However, it was a start – “Day 0” if you will – and where I mark the public entry of our project into the world.&lt;/p&gt;

&lt;p&gt;Now, today, October 25, 2011, two years since Tor port, and one year since the LibTech event, we are quite a bit further than that. We have real, polished apps, and perhaps, some of the best user experience design in mobile security solutions. There have been over 100,000 downloads of Orbot, both from the Android Market and through direct distribution:&lt;br /&gt;
 &lt;a href=&#34;https://www.torproject.org/docs/android.html.en&#34;&gt;https://www.torproject.org/docs/android.html.en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Beyond Orbot, we have an entire suite of (literally “award-winning”) apps in the Android Market, covering the range of capabilities expected from anonymous, circumventing web browsing, encrypted chat, secure file storage, to our more original projects, such as ObscuraCam, a privacy-aware camera app.&lt;/p&gt;

&lt;p&gt;View all of our apps in the Android Market:&lt;br /&gt;
 &lt;a href=&#34;https://market.android.com/search?q=guardianproject&amp;amp;so=1&amp;amp;c=apps&#34;&gt;https://market.android.com/search?q=guardianproject&amp;amp;so=1&amp;amp;c=apps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have stayed true to our open-source, grant-funded goals, and have built a vibrant project for all to share, learn and take from:&lt;br /&gt;
 &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;https://github.com/guardianproject&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have also collaborated with many other human rights and activist organizations, to ensure our tools and technology are directly informed by their tangible day-to-day needs. ObscuraCam is a project with WITNESS, the leading human-rights video organization, and is part of a larger effort called the SecureSmartCam, which we aim to one day power international human rights evidence gathering.&lt;br /&gt;
 &lt;a href=&#34;https://guardianproject.info/2011/09/10/progress-on-mobile-video-privacy-tools/&#34;&gt;https://guardianproject.info/2011/09/10/progress-on-mobile-video-privacy-tools/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We also joined MobileActive, in the development of the SaferMobile project’s InTheClear app for Blackberry, Nokia and Android phones, a mobile panic button for quickly erasing sensitive data and sending emergency distress calls, via SMS:&lt;br /&gt;
 &lt;a href=&#34;https://lab.safermobile.org/wiki/InTheClear&#34;&gt;https://lab.safermobile.org/wiki/InTheClear&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, SQLCipher for Android, our port of an existing, tested, trusted open-source encrypted database solution by Zetetic, is gathering a lot of support quickly, because we consciously made it easy for developers to implement. We have a number of major partners who will be using it in their solutions, and we hope we can talk about them more soon.&lt;/p&gt;

&lt;p&gt;Encrypted your mobile app data:&lt;br /&gt;
 &lt;a href=&#34;https://guardianproject.info/code/sqlcipher/&#34;&gt;https://guardianproject.info/code/sqlcipher/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is so much more to share, and I am already running long (and late for the #RightsCon!). I also know we have quite a bit more work to do in getting our apps to be more reliable, more stable and more functional in all of the places where people are depending upon their mobile phones to defend their rights, and in many cases, their lives. We are two years into our five year mission, and we have so many good things to announce in the coming weeks and months. Stay tuned, get your mobiles ready to power-up.&lt;/p&gt;

&lt;p&gt;Best,&lt;br /&gt;
n8fr8 and the entire amazing &lt;a href=&#34;https://twitter.com/guardianproject&#34;&gt;@guardianproject&lt;/a&gt; crew&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Progress on Mobile Video Privacy Tools</title>
      <link>https://guardianproject.info/2011/09/10/progress-on-mobile-video-privacy-tools/</link>
      <pubDate>Sat, 10 Sep 2011 04:36:11 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/09/10/progress-on-mobile-video-privacy-tools/</guid>
      <description>&lt;p&gt;&lt;em&gt;If you are  a developer you may just want to skip all the prose below, and just jump over to Github to find our new &lt;a href=&#34;https://github.com/guardianproject/android-ffmpeg&#34;&gt;FFMPEG on Android project&lt;/a&gt;{.vt-p} and build system. You can also check out our &lt;a href=&#34;https://github.com/guardianproject/SSCVideoProto&#34;&gt;SSCVideoProto Project&lt;/a&gt;{.vt-p} to understand how we are using it to redact faces and other identifying areas of HD video right on the Android phone itself. For more context, read on…&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Last October at the Open Video Conference 2010, the idea of a camera application that could be designed to understand the needs and requirements of the human rights community was born. During a &lt;a href=&#34;https://blog.witness.org/2010/10/ovc2010-opensubtitles/&#34;&gt;hackday hosted with WITNESS&lt;/a&gt;{.vt-p}, we proved that is was possible to take a feature like “Face Detection” which is built into the Android operating system, and turn it into a capability that could be used to protect people, by blurring, pixelating or removing faces that unintentionally appeared in a video filmed on a mobile phone. In the last year, through our partnership with &lt;a href=&#34;https://www.witness.org/cameras-everywhere/witness-labs&#34;&gt;WITNESS Labs&lt;/a&gt;, we have built on that concept, designing, developing and releasing apps and source code which move the state of the art in mobile video privacy and anonymity capabilities forward.&lt;/p&gt;

&lt;p&gt;Here is a short video of &lt;a href=&#34;https://blog.witness.org/2010/10/ovc2010-opensubtitles/&#34;&gt;where we were a year ago&lt;/a&gt;{.vt-p}.&lt;/p&gt;

&lt;p&gt;The idea was that using a combination of approaches, we might be able to take the human rights video workflow, and ideas of consent and intent, that &lt;a href=&#34;https://www.witness.org/training&#34;&gt;WITNESS has developed for over twenty years&lt;/a&gt;{.vt-p}, and encode that into best practices and features in a software application. This was the catalyst for the launch of our joint &lt;a href=&#34;https://github.com/guardianproject/securesmartcam/wiki&#34;&gt;Secure Smart Cam Project&lt;/a&gt;{.vt-p}, which just a three months ago resulted in the &lt;a href=&#34;https://guardianproject.info/2011/06/23/announcing-obscuracam-v1-enhance-your-visual-privacy/&#34;&gt;launch of our first public app&lt;/a&gt;{.vt-p}, &lt;a href=&#34;https://guardianproject.info/2011/06/23/announcing-obscuracam-v1-enhance-your-visual-privacy/&#34;&gt;ObscuraCam v1&lt;/a&gt;{.vt-p}. Available in the Android Market, this app allows a user to quickly process a still photo taken on an Android smartphone, empowering them to remove unwanted identifying visual elements (faces, logos, signs, places) and remove unwanted digital metadata attached to the photo (GPS data, camera make and model, timestamps, etc). The app assists the user in this process by using Android’s built-in face detection technology to automatically identify and pixelize faces found in photos.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/2011/06/23/announcing-obscuracam-v1-enhance-your-visual-privacy/&#34;&gt;&lt;img class=&#34;alignnone&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/02_autodetect.png&#34; width=&#34;560&#34; height=&#34;336&#34; /&gt;&lt;/a&gt;{.vt-p}&lt;/p&gt;

&lt;p&gt;We continue to develop ObscuraCam in order to add new features, filters and privacy-enhancing capabilities. In addition, we exploring the “Informa” mode of this application, which uses the same technologies developed to assist in removing information, and instead uses them to add layers of extra verification, subject consent and intent tracking, and full media encryption. The idea is that in many cases people want to use visual media as evidence, or at least as reliable sources for journalistic use, and the more data that can be securely and safely captured and associated with a mediafile, the better. This is still in the research and design phase, but we expect to have some concepts of this ready for public play in the next few months.&lt;/p&gt;

&lt;p&gt;While ObscuraCam is exciting, it only supports photos at this time. This is a fundamental issue, because WITNESS is a human-rights video organization, and the type of compelling content people are creating on their mobile phones are moving pictures not still. A year out from when the idea was first prototyped, I am happy to say that we have addresses the major challenges necessary to achieve mobile video processing of high-resolution video on the Android phone itself. The prototype last year was faking it in a sense, as it couldn’t actual record anything, and just showed the idea that you could detect faces. Our new &lt;a href=&#34;https://github.com/guardianproject/sscvideoproto&#34;&gt;SSCVideoProto project&lt;/a&gt;{.vt-p}, utilizes the open-source &lt;a href=&#34;https://github.com/guardianproject/android-ffmpeg&#34;&gt;FFMPEG video processing library&lt;/a&gt;{.vt-p}, to redact regions from recorded video files. Below is a short video that demonstrates the current state of the work.&lt;/p&gt;

&lt;p&gt;In summary, this means we can now remove, pixelize or otherwise modify any identifying content in a high-resolution video recorded on a mobile phone, before that video is uploaded to YouTube, Facebook or elsewhere. Faces can be removed, screens blacked out or any other element that shouldn’t be shown, as it would increase some risk to the subjects of the video. Beyond redaction, we can now process any video, using open-source software, on an Android phone, including trimming, splitting, adjusting color, balance, brightness or any other common ffmpeg feature.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks to Shawn, Andrew and Hans for the collective work on getting us to this milestone&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/android-ffmpeg&#34;&gt;FFMPEG on Android project&lt;/a&gt;{.vt-p}&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/SSCVideoProto&#34;&gt;SSCVideoProto Project&lt;/a&gt;{.vt-p}&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>CACertMan app to address DigiNotar &amp; other bad CA’s</title>
      <link>https://guardianproject.info/2011/09/05/cacertman-app-to-address-diginotar-other-bad-cas/</link>
      <pubDate>Mon, 05 Sep 2011 03:29:00 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/09/05/cacertman-app-to-address-diginotar-other-bad-cas/</guid>
      <description>&lt;p&gt;As I expect many of you are aware, there was a major compromise to a Dutch Certificate Authority named “DigiNotar” recently, where they allowed SSL certs for domains like *.google.com, *.torproject.org and even *.cia.gov as well as *.*.com to be issued.&lt;/p&gt;

&lt;p&gt;It was brought up to the contribs of CyanogenMOD that they should probably remove the DigiNotar CA cert from the built-in Android OS keystore (located at /system/etc/security/cacerts.bks). Since they have 500k+ users, and can be more nimble than other ROM/device distributors, it was seen as a way to quickly address the problem, at least within their community. It turns out that it wasn’t as easy to convince them to do this (even though Mozilla, Google Chrome, IE, etc already had). You can read the thread, but it is still an open issue:&lt;br /&gt;
h&lt;a href=&#34;ttp://code.google.com/p/cyanogenmod/issues/detail?id=4260&#34;&gt;ttp://code.google.com/p/cyanogenmod/issues/detail?id=4260&lt;/a&gt;{.vt-p}&lt;/p&gt;

&lt;p&gt;In the meantime, I decided to do something proactive about this, and took two approaches:&lt;/p&gt;

&lt;p&gt;1) Create our own curated cacerts.bks file which rooted users could install using ‘adb’ from their desktop and/or the ‘Root Explorer’ app available in the market and elsewhere. Our version of the CACert file removes DigiNotar, as well as CNNIC, a Chinese gov’t-managed cert authority who we have reason not to trust. Our goal is to continue to audit, update and distribute our own cacerts file for users who trust us.&lt;/p&gt;

&lt;p&gt;Install info: &lt;a href=&#34;https://raw.github.com/guardianproject/cacert/master/INSTALLATION&#34;&gt;https://raw.github.com/guardianproject/cacert/master/INSTALLATION&lt;/a&gt;{.vt-p}&lt;/p&gt;

&lt;p&gt;Guardian’s CACert: &lt;a href=&#34;https://github.com/downloads/guardianproject/cacert/cacerts.bks&#34;&gt;https://github.com/downloads/guardianproject/cacert/cacerts.bks&lt;/a&gt;{.vt-p}&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/09/device-2011-09-04-232720.png&#34;&gt;&lt;br /&gt;
&lt;/a&gt;{.vt-p} 2) We also wanted to create an app that let the user decided which certs they wanted available, and which they didn’t. Beyond this one CA problem, there are potentially many more, and every handset manufacturer or carrier can also place their own CA certs into the system. We need an app to address today’s and future CA threats.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/09/device-2011-09-04-232720.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-1254&#34; style=&#34;margin: 6px;&#34; title=&#34;device-2011-09-04-232720&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/09/device-2011-09-04-232720-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/09/device-2011-09-04-232720-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2011/09/device-2011-09-04-232720.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;{.vt-p}I have been hacking away on a solution to address this, and an initial test release is available for you. ‘CACertMan’ is a simple app that loads up the system cacert store, allows you to back it up, search for certs, delete them, and then save it back to the system. You can always restore from your initial backup, as well. In the future we may allow for a cert to just be disabled, but for now it is delete and/or restore.&lt;/p&gt;

&lt;p&gt;Here is the first alpha build for testing. This does require root, as well as a device that has the ‘grep’ command on it. This is basically CyanogenMOD, but most likely any other custom ROM. If the ‘save’ doesn’t work, then you will need to use ‘RootExplorer’ to make you /system partition read-write.&lt;/p&gt;

&lt;p&gt;Download CACertMan v0.0.1-Alpha: &lt;a href=&#34;https://github.com/guardianproject/cacert/CACertMan-0.0.1-alpha.apk/qr_code&#34;&gt;https://github.com/guardianproject/cacert/CACertMan-0.0.1-alpha.apk/qr_code&lt;/a&gt;{.vt-p}&lt;/p&gt;

&lt;p&gt;You can find the source project here: &lt;a href=&#34;https://github.com/guardianproject/cacert&#34;&gt;https://github.com/guardianproject/cacert&lt;/a&gt;{.vt-p}&lt;/p&gt;

&lt;p&gt;Once we get confirmation that the app works for most people, we’ll place it in the market, and on or site for wider distribution.&lt;/p&gt;

&lt;p&gt;Through these two approaches, we hope to mitigate the threats facing Android users who might encounter man-in-the-middle attacks enabled through the DigiNotar exploit. While many of you are presumably in “free” countries, we do know that may of our users of Orbot, Gibberbot and other software are not, and we hope this message can reach them.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ACLU believes “Software Developers Can Put Privacy First!” (and so do we!)</title>
      <link>https://guardianproject.info/2011/08/19/aclu-believes-software-developers-can-put-privacy-first-and-so-do-we/</link>
      <pubDate>Fri, 19 Aug 2011 19:46:40 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/08/19/aclu-believes-software-developers-can-put-privacy-first-and-so-do-we/</guid>
      <description>&lt;p&gt;A &lt;a href=&#34;http://www.aclu-wa.org/blog/software-developers-can-put-privacy-first&#34;&gt;bit more on our big win&lt;/a&gt; in the Develop4Privacy contest, from Brian Robick at the &lt;a href=&#34;http://www.aclu-wa.org/&#34;&gt;ACLU of Washington State&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When software developers put privacy first, everybody wins!&lt;/p&gt;

&lt;p&gt;Too often, user privacy is an afterthought in the design of computer software and online services.  In recent months, social networks have rolled back changes, cell phone manufacturers have altered the way that location tracking data is stored, and most recently, mobile application developers have been caught inappropriately collecting children’s personal data. For companies, the costs in lost consumer confidence, fines, and corrective measures can be substantial. Everyday users pay a price as well, and for victims of domestic violence, political protesters, whistleblowers, and others whose safety and livelihood could hinge on their privacy, those costs can be devastating.&lt;/p&gt;

&lt;p&gt;…&lt;/p&gt;

&lt;p&gt;Thankfully, there are developers dedicated to incorporating privacy into their software designs from the start.  On August 5&lt;sup&gt;th&lt;/sup&gt;, at the DEF CON conference in Las Vegas representatives from the ACLU of Washington, the ACLU of Northern California, the Tor Project, and the Office of the Information and Privacy Commissioner of Ontario presented awards for the top submissions to the Develop for Privacy Challenge, which sought open-source mobile applications that allow users to take advantage of new technology without sacrificing their privacy.&lt;/p&gt;

&lt;p&gt;We presented the top prize to &lt;strong&gt;Harlo Holmes of the Guardian Project for Gibberbot&lt;/strong&gt;, a mobile chat application for Android that keeps your conversation and your identity off-the-record.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.aclu-wa.org/sites/default/files/imagecache/main-image-275/images/d4plogo.JPG&#34; alt=&#34;&#34; width=&#34;275&#34; height=&#34;246&#34; /&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.aclu-wa.org/sites/default/files/u7/Harlo-Roland_0.jpg&#34; alt=&#34;&#34; width=&#34;288&#34; height=&#34;250&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Export Information</title>
      <link>https://guardianproject.info/export-information/</link>
      <pubDate>Fri, 19 Aug 2011 15:52:01 -0400</pubDate>
      
      <guid>https://guardianproject.info/export-information/</guid>
      <description>

&lt;p&gt;This page provides detailed information on the export control status of the Guardian Project&amp;rsquo;s products, as well as pointers to the open source code from which those products are built.&lt;/p&gt;

&lt;h1 id=&#34;exporting&#34;&gt;Exporting Guardian Project Apps&lt;/h1&gt;

&lt;p&gt;The Guardian Project is an open-source project based in the United States of America. All of our products are developed via online collaboration in public forums and distributed from a central server within the U.S. Therefore, U.S. export laws and regulations apply to our distributions and remain in force as products and technology are re-exported to different parties and places around the world. Information on export control classifications and associated restrictions may be required for exporting, re-exporting, record keeping, bundling/embedding of GP products, encryption reporting, and shipping documentation. More information on U.S. Export Regulations can be found at &amp;ldquo; &lt;a href=&#34;https://www.bis.doc.gov/&#34;&gt;https://www.bis.doc.gov/&lt;/a&gt; &amp;rdquo;.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://bxa.doc.gov/&#34;&gt;Bureau of Industry and Security (BIS)&lt;/a&gt; , a branch of the U.S. Department of Commerce, regulates exports through the &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/ear_data.html&#34;&gt;Export Administration Regulations (EAR)&lt;/a&gt;. The regulations describe the export rules and restrictions on a wide range of commodities, technologies, and software. This document is no substitute for understanding those regulations; the GP cannot anticipate how they might apply to third party distributions or for specific export decisions made by those parties. End-user, end-use and country of ultimate destination may affect export licensing requirements.&lt;/p&gt;

&lt;p&gt;Below is a general listing of GP software products and their source links for which we have determined an export classification for that product as distributed by the Guardian Project. The matrix is to be used in conjunction with the EAR to provide classification information in order to assist exporters in the export of GP products and to provide guidance to BIS employees that seek the source code for GP products. All export classification information contained in the matrix is subject to change without notice.&lt;/p&gt;

&lt;h2 id=&#34;embargoed&#34;&gt;Embargoed Destinations&lt;/h2&gt;

&lt;p&gt;GP software and/or technical data may NOT be exported/reexported, either directly or indirectly, to any destination subject to U.S. embargoes or trade sanctions unless formally authorized by the U.S. Government. Note that said embargoed destinations are subject to change and the scope of what technology is included in the embargo is specific to each embargoed country. For the most current information on U.S. embargoed and sanctioned countries, see the U.S. &lt;a href=&#34;https://www.access.gpo.gov/bis/index.html&#34;&gt;Export Administration Regulations&lt;/a&gt; and &lt;a href=&#34;https://www.treas.gov/offices/enforcement/ofac/&#34;&gt;Treasury Department regulations&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;denied&#34;&gt;Denied Parties List&lt;/h2&gt;

&lt;p&gt;U.S. export regulations require that all international and domestic transactions be screened against the U.S. Government listing of prohibited end users. Shipments to certain individuals, organizations, or institutions who have violated U.S. export laws are prohibited. The United States government maintains &lt;a href=&#34;https://www.bis.doc.gov/ComplianceAndEnforcement/ListsToCheck.htm&#34;&gt;export prohibited lists&lt;/a&gt; , including but not limited to the &lt;a href=&#34;https://www.treas.gov/offices/eotffc/ofac/sdn/index.html&#34;&gt;Treasury Department&amp;rsquo;s Specially Designated Nationals List&lt;/a&gt; and &lt;a href=&#34;https://bxa.doc.gov/dpl/Default.shtm&#34;&gt;Commerce Department&amp;rsquo;s Entity and Denied Persons Lists&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&#34;matrix&#34;&gt;GP Product Classification Matrix&lt;/h1&gt;

&lt;p&gt;The Guardian Project (GP) makes NO WARRANTY or representation that the information contained in the GP Product Classification Matrix is accurate, current, or complete. It is your obligation as the exporter to comply with the current applicable requirements of United States export rules and regulations. Any use of such information by you is without recourse to the GP and is at your own risk. The GP is in no way responsible for any damages, whether direct, consequential, incidental, or otherwise, suffered by you as a result of using or relying upon such information for any purpose.&lt;/p&gt;

&lt;p&gt;Each GP product is &lt;a href=&#34;https://www.bis.doc.gov/licensing/exportingbasics.htm&#34;&gt;classified&lt;/a&gt; with an Export Control Classification Number (ECCN) if it is believed to correspond to an entry in the Commerce Control List (CCL) and subject to the EAR. All ASF software is published in a publicly available source code form. Since publicly available software is only &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/734.txt&#34;&gt;subject to the EAR&lt;/a&gt; when it is classified as &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/ccl5-pt2.txt&#34;&gt;ECCN 5D002 or 5D992&lt;/a&gt; , all GP software product versions that do not fit those two classifications are noted as ECCN &amp;ldquo;n/a&amp;rdquo; (not applicable) or not included in the matrix.&lt;/p&gt;

&lt;p&gt;Products classified as &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/ccl5-pt2.txt&#34;&gt;ECCN 5D002&lt;/a&gt; , are exported by the GP under the &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/740.txt&#34;&gt;TSU exception in EAR 740.13(e)&lt;/a&gt; , which applies to software containing or designed for use with encryption software that is publicly available as open source. Exception TSU further provides that &amp;ldquo; _Posting encryption source code and corresponding object code on the Internet (e.g., FTP or World Wide Web site) where it may be downloaded by anyone neither establishes &amp;ldquo;knowledge&amp;rdquo; of a prohibited export or reexport for purposes of this paragraph, nor triggers any &amp;ldquo;red flags&amp;rdquo; necessitating the affirmative duty to inquire[&amp;hellip;]_ &amp;rdquo; Note that exporters other than the GP within the US may or may not be eligable for exception TSU, and it is each specific exporter&amp;rsquo;s responsibility to understand and comply with all export regulations applicable within their jurisdiction.&lt;/p&gt;

&lt;p&gt;**&lt;br /&gt;
**&lt;/p&gt;

&lt;table width=&#34;100%&#34; border=&#34;1&#34;&gt;
  &lt;tr&gt;
    &lt;th colspan=&#34;4&#34;&gt;
      Orbot
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      Product Name
    &lt;/th&gt;
    
    &lt;th&gt;
      Versions
    &lt;/th&gt;
    
    &lt;th&gt;
      ECCN
    &lt;/th&gt;
    
    &lt;th&gt;
      Controlled Source
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td rowspan=&#34;2&#34;&gt;
      Orbot
    &lt;/td&gt;
    
    &lt;td&gt;
      development
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      The Tor Project &lt;a href=&#34;https://gitweb.torproject.org/orbot.git&#34;&gt;https://gitweb.torproject.org/orbot.git&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      1.5 and later
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      The Tor Project &lt;a href=&#34;https://www.torproject.org/docs/android.html.en&#34;&gt;https://www.torproject.org/docs/android.html.en&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td rowspan=&#34;2&#34;&gt;
      Gibberbot
    &lt;/td&gt;
    
    &lt;td&gt;
      development
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      GP &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;https://github.com/guardianproject&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      1.x and later
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      GP &lt;a href=&#34;https://guardianproject.info/apps/gibber/&#34;&gt;https://guardianproject.info/apps/gibber/&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td rowspan=&#34;2&#34;&gt;
      SQLCipher for Android
    &lt;/td&gt;
    
    &lt;td&gt;
      development
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      GP &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;https://github.com/guardianproject/android-database-sqlcipher/&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
    &lt;/td&gt;
    
    &lt;td&gt;
    &lt;/td&gt;
    
    &lt;td&gt;
       SQLCipher: &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34;&gt;https://www.zetetic.net/sqlcipher/&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Export Information</title>
      <link>https://guardianproject.info/export-information/</link>
      <pubDate>Fri, 19 Aug 2011 15:52:01 -0400</pubDate>
      
      <guid>https://guardianproject.info/export-information/</guid>
      <description>

&lt;p&gt;This page provides detailed information on the export control status of the Guardian Project&amp;rsquo;s products, as well as pointers to the open source code from which those products are built.&lt;/p&gt;

&lt;h1 id=&#34;exporting&#34;&gt;Exporting Guardian Project Apps&lt;/h1&gt;

&lt;p&gt;The Guardian Project is an open-source project based in the United States of America. All of our products are developed via online collaboration in public forums and distributed from a central server within the U.S. Therefore, U.S. export laws and regulations apply to our distributions and remain in force as products and technology are re-exported to different parties and places around the world. Information on export control classifications and associated restrictions may be required for exporting, re-exporting, record keeping, bundling/embedding of GP products, encryption reporting, and shipping documentation. More information on U.S. Export Regulations can be found at &amp;ldquo; &lt;a href=&#34;https://www.bis.doc.gov/&#34;&gt;https://www.bis.doc.gov/&lt;/a&gt; &amp;rdquo;.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&#34;https://bxa.doc.gov/&#34;&gt;Bureau of Industry and Security (BIS)&lt;/a&gt; , a branch of the U.S. Department of Commerce, regulates exports through the &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/ear_data.html&#34;&gt;Export Administration Regulations (EAR)&lt;/a&gt;. The regulations describe the export rules and restrictions on a wide range of commodities, technologies, and software. This document is no substitute for understanding those regulations; the GP cannot anticipate how they might apply to third party distributions or for specific export decisions made by those parties. End-user, end-use and country of ultimate destination may affect export licensing requirements.&lt;/p&gt;

&lt;p&gt;Below is a general listing of GP software products and their source links for which we have determined an export classification for that product as distributed by the Guardian Project. The matrix is to be used in conjunction with the EAR to provide classification information in order to assist exporters in the export of GP products and to provide guidance to BIS employees that seek the source code for GP products. All export classification information contained in the matrix is subject to change without notice.&lt;/p&gt;

&lt;h2 id=&#34;embargoed&#34;&gt;Embargoed Destinations&lt;/h2&gt;

&lt;p&gt;GP software and/or technical data may NOT be exported/reexported, either directly or indirectly, to any destination subject to U.S. embargoes or trade sanctions unless formally authorized by the U.S. Government. Note that said embargoed destinations are subject to change and the scope of what technology is included in the embargo is specific to each embargoed country. For the most current information on U.S. embargoed and sanctioned countries, see the U.S. &lt;a href=&#34;https://www.access.gpo.gov/bis/index.html&#34;&gt;Export Administration Regulations&lt;/a&gt; and &lt;a href=&#34;https://www.treas.gov/offices/enforcement/ofac/&#34;&gt;Treasury Department regulations&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&#34;denied&#34;&gt;Denied Parties List&lt;/h2&gt;

&lt;p&gt;U.S. export regulations require that all international and domestic transactions be screened against the U.S. Government listing of prohibited end users. Shipments to certain individuals, organizations, or institutions who have violated U.S. export laws are prohibited. The United States government maintains &lt;a href=&#34;https://www.bis.doc.gov/ComplianceAndEnforcement/ListsToCheck.htm&#34;&gt;export prohibited lists&lt;/a&gt; , including but not limited to the &lt;a href=&#34;https://www.treas.gov/offices/eotffc/ofac/sdn/index.html&#34;&gt;Treasury Department&amp;rsquo;s Specially Designated Nationals List&lt;/a&gt; and &lt;a href=&#34;https://bxa.doc.gov/dpl/Default.shtm&#34;&gt;Commerce Department&amp;rsquo;s Entity and Denied Persons Lists&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&#34;matrix&#34;&gt;GP Product Classification Matrix&lt;/h1&gt;

&lt;p&gt;The Guardian Project (GP) makes NO WARRANTY or representation that the information contained in the GP Product Classification Matrix is accurate, current, or complete. It is your obligation as the exporter to comply with the current applicable requirements of United States export rules and regulations. Any use of such information by you is without recourse to the GP and is at your own risk. The GP is in no way responsible for any damages, whether direct, consequential, incidental, or otherwise, suffered by you as a result of using or relying upon such information for any purpose.&lt;/p&gt;

&lt;p&gt;Each GP product is &lt;a href=&#34;https://www.bis.doc.gov/licensing/exportingbasics.htm&#34;&gt;classified&lt;/a&gt; with an Export Control Classification Number (ECCN) if it is believed to correspond to an entry in the Commerce Control List (CCL) and subject to the EAR. All ASF software is published in a publicly available source code form. Since publicly available software is only &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/734.txt&#34;&gt;subject to the EAR&lt;/a&gt; when it is classified as &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/ccl5-pt2.txt&#34;&gt;ECCN 5D002 or 5D992&lt;/a&gt; , all GP software product versions that do not fit those two classifications are noted as ECCN &amp;ldquo;n/a&amp;rdquo; (not applicable) or not included in the matrix.&lt;/p&gt;

&lt;p&gt;Products classified as &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/ccl5-pt2.txt&#34;&gt;ECCN 5D002&lt;/a&gt; , are exported by the GP under the &lt;a href=&#34;https://www.access.gpo.gov/bis/ear/txt/740.txt&#34;&gt;TSU exception in EAR 740.13(e)&lt;/a&gt; , which applies to software containing or designed for use with encryption software that is publicly available as open source. Exception TSU further provides that &amp;ldquo; _Posting encryption source code and corresponding object code on the Internet (e.g., FTP or World Wide Web site) where it may be downloaded by anyone neither establishes &amp;ldquo;knowledge&amp;rdquo; of a prohibited export or reexport for purposes of this paragraph, nor triggers any &amp;ldquo;red flags&amp;rdquo; necessitating the affirmative duty to inquire[&amp;hellip;]_ &amp;rdquo; Note that exporters other than the GP within the US may or may not be eligable for exception TSU, and it is each specific exporter&amp;rsquo;s responsibility to understand and comply with all export regulations applicable within their jurisdiction.&lt;/p&gt;

&lt;p&gt;**&lt;br /&gt;
**&lt;/p&gt;

&lt;table width=&#34;100%&#34; border=&#34;1&#34;&gt;
  &lt;tr&gt;
    &lt;th colspan=&#34;4&#34;&gt;
      Orbot
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;th&gt;
      Product Name
    &lt;/th&gt;
    
    &lt;th&gt;
      Versions
    &lt;/th&gt;
    
    &lt;th&gt;
      ECCN
    &lt;/th&gt;
    
    &lt;th&gt;
      Controlled Source
    &lt;/th&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td rowspan=&#34;2&#34;&gt;
      Orbot
    &lt;/td&gt;
    
    &lt;td&gt;
      development
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      The Tor Project &lt;a href=&#34;https://gitweb.torproject.org/orbot.git&#34;&gt;https://gitweb.torproject.org/orbot.git&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      1.5 and later
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      The Tor Project &lt;a href=&#34;https://www.torproject.org/docs/android.html.en&#34;&gt;https://www.torproject.org/docs/android.html.en&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td rowspan=&#34;2&#34;&gt;
      Gibberbot
    &lt;/td&gt;
    
    &lt;td&gt;
      development
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      GP &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;https://github.com/guardianproject&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
      1.x and later
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      GP &lt;a href=&#34;https://guardianproject.info/apps/gibber/&#34;&gt;https://guardianproject.info/apps/gibber/&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td rowspan=&#34;2&#34;&gt;
      SQLCipher for Android
    &lt;/td&gt;
    
    &lt;td&gt;
      development
    &lt;/td&gt;
    
    &lt;td&gt;
      5D002
    &lt;/td&gt;
    
    &lt;td&gt;
      GP &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;https://github.com/guardianproject/android-database-sqlcipher/&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;
    &lt;/td&gt;
    
    &lt;td&gt;
    &lt;/td&gt;
    
    &lt;td&gt;
       SQLCipher: &lt;a href=&#34;https://www.zetetic.net/sqlcipher/&#34;&gt;https://www.zetetic.net/sqlcipher/&lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Lil&#39; Debi: Mobile Debian Installer</title>
      <link>https://guardianproject.info/archive/lildebi/</link>
      <pubDate>Fri, 24 Jun 2011 15:28:42 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/lildebi/</guid>
      <description>

&lt;h1 id=&#34;no-longer-maintained&#34;&gt;NO LONGER MAINTAINED&lt;/h1&gt;

&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;Have an Android phone and want an easy Debian chroot running that you can trust? Install &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;Lil’ Debi&lt;/a&gt;, and you can have a Debian install running with a single click of a button. It builds up a whole Debian chroot on your phone entirely using debootstrap. You choose the release, mirror, and size of the disk image, and away it goes. It could take up to an hour on a slow device, then its done. The entire package is built from source using publicly available, repeatable builds. It even includes &lt;code&gt;gpgv&lt;/code&gt; and the Debian repository keys in the apk and verifies the packages it downloads in the first stage of debootstrap before installing them. It will also check and update a SHA1 checksum to make sure your debian.img file has not be tampered with.&lt;/p&gt;

&lt;p&gt;Then it has a simple chroot manager that &lt;code&gt;fsck&lt;/code&gt;s your disk, mounts and unmounts things, and starts/stops sshd if you have it installed. You can also then use ‘apt-get’ to install any package that is released for ARM processors. This includes things like a complete real shell, Tor, TraceRouteTCP, iwconfig/ipconfig, and other security and crypto tools.&lt;/p&gt;

&lt;p&gt;The aim of Lil&amp;rsquo; Debi is to provide a transparent and tightly integrated Debian install on your Android device. It mounts all of your Android partitions in Debian space, so you see a fusion of both systems. Its even possible to have Lil&amp;rsquo; Debi launch the normal Debian &lt;code&gt;init&lt;/code&gt; start-up scripts when it starts, so that all you need to do is &lt;code&gt;apt-get install&lt;/code&gt; and any servers you install will just work.&lt;/p&gt;

&lt;p&gt;The aim is to make it work with as few modifications to the Android system as possible. Currently, it only adds a &lt;code&gt;/bin&lt;/code&gt; symlink, and a &lt;code&gt;/debian&lt;/code&gt; mount directory. It does not touch &lt;code&gt;/system&lt;/code&gt; at all.&lt;/p&gt;

&lt;h2 id=&#34;download&#34;&gt;Download&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.lildebi&#34; target=&#34;_blank&#34;&gt;Google Play Store&lt;/a&gt; (free)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=lildebi&amp;#038;fdid=info.guardianproject.lildebi&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;direct download: &lt;a href=&#34;https://guardianproject.info/releases/LilDebi-release-0.4.5.apk&#34;&gt;LilDebi-release-0.4.5.apk&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/LilDebi-release-0.4.5.apk.asc&#34;&gt;detached gpg signature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MD5: 7bbee559ee4349dd6a937f0d0585f57d&lt;/li&gt;
&lt;li&gt;SHA1: 352a6049e6ac931ee4a112f60b42688d7bf1eddb&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/builds/LilDebi/&#34; title=&#34;nightly test builds&#34;&gt;nightly test builds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;source&#34;&gt;Source&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;full source (except gpgv): &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;https://github.com/guardianproject/lildebi&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gpgv is built as part of &lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34; title=&#34;GnuPG-for Android source repo&#34; target=&#34;_blank&#34;&gt;GnuPG-for-Android&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more (for now), from &lt;a href=&#34;https://guardianproject.info/2011/06/18/lil-debi-easy-installer-for-debian-on-android/&#34;&gt;our blog post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/LilDebiInstalling.png&#34; alt=&#34;&#34; width=&#34;288&#34; height=&#34;480&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting Bugs&lt;/h2&gt;

&lt;p&gt;Please report any bugs or issues that you have with this app! We want to hear from you, no need to worry about technical details or language skills. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/issues/new&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg&#34; alt=&#34;report bug&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-12362&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-100x100.jpg 100w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-200x200.jpg 200w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug.jpg 225w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt; &lt;strong style=&#34;font-size: 200%&#34;&gt;Report a Bug or Issue&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/issues&#34; title=&#34;Issue Tracker&#34; target=&#34;_blank&#34;&gt;List of all open issues&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/issues/new&#34; title=&#34;New Issue Tracker&#34; target=&#34;_blank&#34;&gt;submit a new issue report&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Lil&#39; Debi: Mobile Debian Installer</title>
      <link>https://guardianproject.info/archive/lildebi/</link>
      <pubDate>Fri, 24 Jun 2011 15:28:42 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/lildebi/</guid>
      <description>

&lt;h1 id=&#34;no-longer-maintained&#34;&gt;NO LONGER MAINTAINED&lt;/h1&gt;

&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;Have an Android phone and want an easy Debian chroot running that you can trust? Install &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;Lil’ Debi&lt;/a&gt;, and you can have a Debian install running with a single click of a button. It builds up a whole Debian chroot on your phone entirely using debootstrap. You choose the release, mirror, and size of the disk image, and away it goes. It could take up to an hour on a slow device, then its done. The entire package is built from source using publicly available, repeatable builds. It even includes &lt;code&gt;gpgv&lt;/code&gt; and the Debian repository keys in the apk and verifies the packages it downloads in the first stage of debootstrap before installing them. It will also check and update a SHA1 checksum to make sure your debian.img file has not be tampered with.&lt;/p&gt;

&lt;p&gt;Then it has a simple chroot manager that &lt;code&gt;fsck&lt;/code&gt;s your disk, mounts and unmounts things, and starts/stops sshd if you have it installed. You can also then use ‘apt-get’ to install any package that is released for ARM processors. This includes things like a complete real shell, Tor, TraceRouteTCP, iwconfig/ipconfig, and other security and crypto tools.&lt;/p&gt;

&lt;p&gt;The aim of Lil&amp;rsquo; Debi is to provide a transparent and tightly integrated Debian install on your Android device. It mounts all of your Android partitions in Debian space, so you see a fusion of both systems. Its even possible to have Lil&amp;rsquo; Debi launch the normal Debian &lt;code&gt;init&lt;/code&gt; start-up scripts when it starts, so that all you need to do is &lt;code&gt;apt-get install&lt;/code&gt; and any servers you install will just work.&lt;/p&gt;

&lt;p&gt;The aim is to make it work with as few modifications to the Android system as possible. Currently, it only adds a &lt;code&gt;/bin&lt;/code&gt; symlink, and a &lt;code&gt;/debian&lt;/code&gt; mount directory. It does not touch &lt;code&gt;/system&lt;/code&gt; at all.&lt;/p&gt;

&lt;h2 id=&#34;download&#34;&gt;Download&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.lildebi&#34; target=&#34;_blank&#34;&gt;Google Play Store&lt;/a&gt; (free)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=lildebi&amp;#038;fdid=info.guardianproject.lildebi&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;direct download: &lt;a href=&#34;https://guardianproject.info/releases/LilDebi-release-0.4.5.apk&#34;&gt;LilDebi-release-0.4.5.apk&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/releases/LilDebi-release-0.4.5.apk.asc&#34;&gt;detached gpg signature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MD5: 7bbee559ee4349dd6a937f0d0585f57d&lt;/li&gt;
&lt;li&gt;SHA1: 352a6049e6ac931ee4a112f60b42688d7bf1eddb&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://guardianproject.info/builds/LilDebi/&#34; title=&#34;nightly test builds&#34;&gt;nightly test builds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;source&#34;&gt;Source&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;full source (except gpgv): &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;https://github.com/guardianproject/lildebi&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gpgv is built as part of &lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34; title=&#34;GnuPG-for Android source repo&#34; target=&#34;_blank&#34;&gt;GnuPG-for-Android&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more (for now), from &lt;a href=&#34;https://guardianproject.info/2011/06/18/lil-debi-easy-installer-for-debian-on-android/&#34;&gt;our blog post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/LilDebiInstalling.png&#34; alt=&#34;&#34; width=&#34;288&#34; height=&#34;480&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting Bugs&lt;/h2&gt;

&lt;p&gt;Please report any bugs or issues that you have with this app! We want to hear from you, no need to worry about technical details or language skills. Help us improve this software by filing bug reports about any problem that you encounter. Feature requests and patches are also welcome!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/issues/new&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg&#34; alt=&#34;report bug&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;size-thumbnail wp-image-12362&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/reportbug-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-100x100.jpg 100w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug-200x200.jpg 200w, https://guardianproject.info/wp-content/uploads/2011/02/reportbug.jpg 225w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt; &lt;strong style=&#34;font-size: 200%&#34;&gt;Report a Bug or Issue&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/issues&#34; title=&#34;Issue Tracker&#34; target=&#34;_blank&#34;&gt;List of all open issues&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/lildebi/issues/new&#34; title=&#34;New Issue Tracker&#34; target=&#34;_blank&#34;&gt;submit a new issue report&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Announcing ObscuraCam v1 – Enhance Your Visual Privacy!</title>
      <link>https://guardianproject.info/2011/06/23/announcing-obscuracam-v1-enhance-your-visual-privacy/</link>
      <pubDate>Thu, 23 Jun 2011 21:28:20 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/06/23/announcing-obscuracam-v1-enhance-your-visual-privacy/</guid>
      <description>

&lt;p&gt;We’re very happy to announce the beta release of &lt;a href=&#34;https://guardianproject.info/apps/securecam/&#34;&gt;ObscuraCam&lt;/a&gt; for Android. This is the first release from the SecureSmartCam project, a partnership with &lt;a href=&#34;https://www.witness.org/&#34;&gt;WITNESS&lt;/a&gt;, a leading human rights video advocacy and training organization. This is the result of an &lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam/tree/obscurav1&#34;&gt;open-source development cycle&lt;/a&gt;, comprised of multiple sprints (and branches), that took place over the last five months. This “v1” release is just the first step towards the complete vision of the project.&lt;/p&gt;

&lt;p&gt;The goal of the SecureSmartCam project to to design and develop a new type of smartphone camera app that makes it simple for the user to respect the visual privacy, anonymity and consent of the subjects they photograph or record, while also enhancing their own ability to control the personally identifiable data stored inside that photo or video. Also, we think an app that allows you to pixelize your friends, disguise their faces and otherwise defend their privacy just a little bit, is a lot of fun and helps raise awareness about an important issue. In this first release we have focused on ‘obscura’ by optimizing the workflow of identity obfuscation in still images. Future releases will look at ‘informa,’ the process of properly gaining and recording informed consent from subjects, while also moving to video.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/06/teamdinner.jpg&#34;&gt;&lt;img class=&#34;size-full wp-image-1199 alignnone&#34; title=&#34;teamdinner&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/teamdinner.jpg&#34; width=&#34;450&#34; height=&#34;337&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/06/teamdinner.jpg 640w, https://guardianproject.info/wp-content/uploads/2011/06/teamdinner-300x225.jpg 300w&#34; sizes=&#34;(max-width: 450px) 100vw, 450px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4 id=&#34;quick-download-links&#34;&gt;Quick Download Links&lt;/h4&gt;

&lt;p&gt;&lt;a href=&#34;https://market.android.com/details?id=org.witness.sscphase1&amp;amp;feature=search_result&#34;&gt;&lt;img class=&#34;alignleft&#34; style=&#34;margin: 3px;&#34; title=&#34;obscura_market_qr&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/obscura_market_qr.jpg&#34; width=&#34;130&#34; height=&#34;130&#34; /&gt;&lt;/a&gt;For those of you who just want to get to it, head over to the &lt;a href=&#34;https://market.android.com/details?id=org.witness.sscphase1&amp;amp;feature=search_result&#34;&gt;Android Market&lt;/a&gt; to grab the latest version of the app. You can also scan the QR code to the left, and it will take you in that direction.&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/06/obscura_market_qr.jpg&#34;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For those without access to the Android Market, you can get the ObscuraCam.APK file from our &lt;a href=&#34;https://guardianproject.info/builds/Obscura/&#34;&gt;public builds folder&lt;/a&gt;. The official signed release binary is also available &lt;a href=&#34;https://guardianproject.info/downloads/ObscuraCam-1.0.4.2-20110624.apk&#34;&gt;here&lt;/a&gt;. For these options, be sure to check back for updates, because the app will not auto-update itself.&lt;/p&gt;

&lt;h4 id=&#34;the-cameras-everywhere-initiative&#34;&gt;The “Cameras Everywhere” Initiative&lt;/h4&gt;

&lt;p&gt;In January, WITNESS launched their &lt;a href=&#34;https://blog.witness.org/2011/01/cameraseverywhere/&#34;&gt;Cameras Everywhere&lt;/a&gt; initiative, in which they ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;As more and more people film people speaking out and taking a stand against human rights crises, how can we protect victims and witnesses and ensure informed consent as much as possible?&lt;/em&gt; &lt;em&gt;As more and more footage circulates from human rights crises around the world, how does powerful footage reach audiences in comprehensible ways that move people to action?&lt;/em&gt; &lt;em&gt;And how do we know how to trust that footage?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;…&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;_Critical issues to address in this realm include safety and security in the use of video; ethical questions raised by the widespread capacity to shoot and circulate human rights video; challenges around the authenticity of video and the preservation of evidence; and the need for effective documentation around the use of video in advocacy.&lt;br /&gt;
_&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Through our collaboration, WITNESS has decided to move beyond just awareness, training and advocacy, and instead help design a next generation of Camera app software that is not just intended to share and capture more, but is meant to allow its operator to stop, think and be empowered to control the media they are capturing.&lt;/p&gt;

&lt;h4 id=&#34;a-primer-on-visual-privacy-and-anonymity&#34;&gt;A Primer on Visual Privacy and Anonymity&lt;/h4&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Visual_privacy&#34;&gt;Visual Privacy&lt;/a&gt; is the relationship between collection and dissemination of visual information, the public expectation of privacy, and the legal issues surrounding them. It relates particularly to the increasing presence of large-scale still- and video-camera networks in everyday life. This not only includes those surveillance-oriented networks under the control of corporations and governments, but also applies to the vast new network of citizen-controlled media capture devices such as smartphones and handheld cameras that has created a peer-to-peer, social-networking based surveillance. At the same time that these networks have exploded in size, face detection and recognition technologies have also improved considerably while policy regarding the privacy and fair use of such systems and content, as well as the rights of those imaged by such networks, are topics that are not resolved. What results is a situation in which massive amounts of media are being captured every day with little to no protection of individual rights to privacy or anonymity – something that is especially detrimental to human rights efforts.&lt;/p&gt;

&lt;p&gt;As Sam Gregory of WITNESS &lt;a href=&#34;https://blog.witness.org/2011/02/human-rights-video-privacy-and-visual-anonymity-in-the-facebook-age/&#34;&gt;points out&lt;/a&gt;, most contemporary discussions around anonymous communication on the Internet focus on the data protection side – for instance options for data encryption or censorship circumvention. In the case of media content, a largely unaddressed question arises: what about the rights to anonymity and privacy for those people who appear, intentionally or not, in visual recordings? Visual privacy and anonymity may sound like a contradiction in terms, but people often wish to speak out and to ‘be seen’ while at the same time concealing their face and identifying surroundings. As human rights documentation and organizing increasingly involves media capture, how are people enabled to make purposeful choices about when they speak out and what degrees of anonymity they hold onto for themselves? Conversely, people caught in the background of a video or still may be unaware that they are even being filmed in that moment and have no option to protect themselves – particularly true in mass protest settings where the wave of group solidarity may overwhelm any sense of personal privacy. For those speaking out from marginalized positions, personal safety is a very real risk.&lt;/p&gt;

&lt;p&gt;Some examples where visual privacy and anonymity is being diluted in the name of features or security:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href=&#34;http://www.timesonline.co.uk/tol/news/uk/article6913273.ece&#34;&gt;persecution&lt;/a&gt; later faced by bystanders and people who stepped in to film or assist Neda Agha-Soltan as she lay dying during the 2009 Iranian election protests.&lt;/li&gt;
&lt;li&gt;Facebook’s &lt;a href=&#34;http://blog.facebook.com/blog.php?post=467145887130&#34;&gt;opt-out feature&lt;/a&gt; for auto-detection and tagging of faces&lt;/li&gt;
&lt;li&gt;British Columbia’s privacy watchdog &lt;a href=&#34;http://www.metronews.ca/vancouver/local/article/897762--province-s-privacy-watchdog-oks-facial-recognition-to-identify-rioters&#34;&gt;OKs the use of facial recognition technology&lt;/a&gt; to identify rioters from video and still images of Vancouver’s 2011 hockey riots.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.viewdle.com/products/mobile/index.html&#34;&gt;Viewdle’s Social Camera&lt;/a&gt; automatically tags your friends in photos based on the social networking profile pictures they have published&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While some of these examples might seem harmless, or even a useful feature for law enforcement, the main issue is that the subjects of these photos and videos are never asked if they wish to participate in them, not to mention whether they want their photo published online in the first place. The permanence of media on the Web means that any uploaded content can be poured over again and again to identify individuals – either by old-fashioned investigative techniques, but crowd-sourcing, or by face detection /recognition software.&lt;/p&gt;

&lt;h4 id=&#34;how-obscuracam-helps&#34;&gt;How ObscuraCam Helps&lt;/h4&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/06/01_home.png&#34;&gt;&lt;img class=&#34;alignleft&#34; style=&#34;margin: 3px;&#34; title=&#34;01_home&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/01_home-180x300.png&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;Part of the problem currently surrounding visual privacy and anonymity is the fact that many of the tools and applications that people use on an everyday basis do not have features built in to protect privacy. As a result, everyone with a smartphone, tablet or laptop – not to mention an actual video camera! – captures raw, unedited content that exposes the identities of participants and bystanders present at sensitive events or activities.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/securecam/&#34;&gt;ObscuraCam&lt;/a&gt; is a mobile application for Android that makes it easy for anyone to protect the identity of individuals or groups represented in their photos by building obfuscation and redaction directly into the app. It can be used on photos taken directly from the app itself, or on any photo that your mobile device has access to, including local memory card images or linked Picasa albums. By moving a usually cumbersome post-production process into the daily workflow of those capturing sensitive images, it’s our hope that visual privacy will be respected when it really matters.&lt;/p&gt;

&lt;h4 id=&#34;using-obscuracam&#34;&gt;Using ObscuraCam&lt;/h4&gt;

&lt;p&gt;ObscuraCam features a simple, touch-based user interface for easy manipulation and redaction of images, as well as an automated removal of identifying metadata stored in the photo itself. The following steps walk through the process of capturing and sharing an obscured photo using ObscuraCam.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the application home page, choose to either capture a new image or choose an existing image from your existing collections. These options just launch your standard Camera and Gallery application. When the photo is imported, identifying EXIF metadata stored in the file itself, such as GPS location, camera make and model or timestamp, will be removed.&lt;/li&gt;
&lt;li&gt;After you capture or open an image with ObscuraCam, it is automatically scanned to detect faces. Any faces detected are marked as tagged regions in an image, and the user is able to create as many additional tagged regions as they wish – either via the menu or by long-pressing the desired region. By default, tagged regions are set to be obscured via pixelation.&lt;/li&gt;
&lt;li&gt;Once a tagged region has been created, the user can interact with that region by simply touching it to bring up a contextual menu.&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/06/02_autodetect.png&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-1171&#34; title=&#34;02_autodetect&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/02_autodetect-300x180.png&#34; width=&#34;300&#34; height=&#34;180&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/06/02_autodetect-300x180.png 300w, https://guardianproject.info/wp-content/uploads/2011/06/02_autodetect.png 800w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Options available from the contextual tagging menu include:

&lt;ul&gt;
&lt;li&gt;Edit – select to scale and move tagged regions&lt;/li&gt;
&lt;li&gt;Redact – select to fully redact tagged region and replace with black space&lt;/li&gt;
&lt;li&gt;Pixelate – select to selectively obfuscate identities of persons or situations&lt;/li&gt;
&lt;li&gt;bgPixelate – select to easily obfuscate everything BUT the tagged region&lt;/li&gt;
&lt;li&gt;Mask – select to pin a set of ‘groucho marks’ glasses on the tagged region – not only a bit of fun, but useful for quickly defeating facial recognition schemes.&lt;/li&gt;
&lt;li&gt;Delete – delete the current tagged region&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Once you’re done selecting and obfuscating tagged regions, you can use the options from the main application menu to see a preview of the finished image, save it to your local memory, or share the picture with any application on your handset that is configured to accept images. This includes applications like Facebook, Twitter, or the default Messaging app. &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/06/09_processed.png&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-1172&#34; title=&#34;09_processed&#34; alt=&#34;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/09_processed-180x300.png&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/06/09_processed-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2011/06/09_processed.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&#34;share-with-us-and-save-your-face&#34;&gt;Share With Us and “Save Your Face”!&lt;/h4&gt;

&lt;p&gt;As impediments of visual privacy continue to expand, help us get the word out that we can take back control over our online identities with ObscuraCam! We’ve set up a &lt;a href=&#34;https://www.facebook.com/pages/ObscuraCam-Saving-Your-Social-Face/110765659013081&#34;&gt;Facebook Page&lt;/a&gt; where you can share your creations with us, and with eachother!&lt;/p&gt;

&lt;h4 id=&#34;source-code-issue-reporting&#34;&gt;Source Code &amp;amp; Issue Reporting&lt;/h4&gt;

&lt;p&gt;We’re big fans of open source and living in public. As consistent with all our projects, source code for the SecureSmartCam project, along with the ObscuraCam release, is available online at &lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We also use GitHub to manage our development milestones and active bugs / issues. If you encounter any bugs or issues when testing out this beta build, please report them directly to us in the comments below or by filing directly on the &lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam/issues&#34;&gt;Issues&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Lil’ Debi: Easy Installer for Debian on Android</title>
      <link>https://guardianproject.info/2011/06/18/lil-debi-easy-installer-for-debian-on-android/</link>
      <pubDate>Sat, 18 Jun 2011 04:22:52 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/06/18/lil-debi-easy-installer-for-debian-on-android/</guid>
      <description>&lt;p&gt;Have an Android phone and want an easy Debian chroot running it?&lt;/p&gt;

&lt;p&gt;Alpha test our new app, &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;Lil’ Debi&lt;/a&gt;. It builds up a whole Debian chroot on your phone entirely using debootstrap. You choose the release, mirror, and size of the disk image, and away it goes. It could take up to an hour, then its done. Then it has a simple chroot manager that mounts and unmounts things, and starts/stops sshd if you have it installed. You can also then use ‘apt-get’ to install any package that is released for ARM processors. This includes things like GPG, Tor, TraceRouteTCP and other security and crypto tools.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/06/LilDebiInstalling.png&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-1137&#34; style=&#34;margin-right: 6px;&#34; title=&#34;LilDebiInstalling&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/06/LilDebiInstalling.png&#34; alt=&#34;&#34; width=&#34;288&#34; height=&#34;480&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/06/LilDebiInstalling.png 480w, https://guardianproject.info/wp-content/uploads/2011/06/LilDebiInstalling-180x300.png 180w&#34; sizes=&#34;(max-width: 288px) 100vw, 288px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Project and source are here:&lt;br /&gt;
&lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;https://github.com/guardianproject/lildebi&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have a look at our automatic build bot for the latest binary installer APK here: &lt;a href=&#34;https://github.com/guardianproject/lildebi/LilDebi-debug-20110617.apk/qr_code&#34;&gt;https://guardianproject.info/builds/lildebi/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the GitHub &lt;a href=&#34;https://github.com/guardianproject/lildebi/wiki&#34;&gt;wiki&lt;/a&gt; for tips on using it. If you don’t know what you need this for, then you probably should not install it (for now).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>About Obscura v1</title>
      <link>https://guardianproject.info/apps/obscuracam/about-v1/</link>
      <pubDate>Wed, 08 Jun 2011 19:00:42 -0400</pubDate>
      
      <guid>https://guardianproject.info/apps/obscuracam/about-v1/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Obscura v1&lt;/strong&gt; is our first public release from the Secure Smart Cam Project. This an open-source collaboration between the &lt;a href=&#34;https://guardianproject.info&#34;&gt;Guardian Project&lt;/a&gt; and &lt;a href=&#34;https://www.witness.org&#34;&gt;Witness&lt;/a&gt; to develop new visual media software for human rights.&lt;/p&gt;

&lt;p&gt;Please review our &lt;a href=&#34;https://raw.github.com/guardianproject/SecureSmartCam/obscurav1/TERMS&#34;&gt;Terms of Use&lt;/a&gt; and our &lt;a href=&#34;https://raw.github.com/guardianproject/SecureSmartCam/obscurav1/LICENSE&#34;&gt;Source Code License&lt;/a&gt;. The entire source code of this app is &lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam/blob/obscurav1/&#34;&gt;available on Github&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The app currently supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;taking a new picture or loading an existing photo from the Gallery app&lt;/li&gt;
&lt;li&gt;removal of all EXIF image metadata from the photo&lt;/li&gt;
&lt;li&gt;blur, pixelize, redact/remove or overlay mask to protect identity of people or places in the photos&lt;/li&gt;
&lt;li&gt;save as a JPEG to the sdcard&lt;/li&gt;
&lt;li&gt;share to other apps (twitter, text message, facebook, dropbox, etc)&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Orbot 1.0.5.2 now available</title>
      <link>https://guardianproject.info/2011/05/17/orbot-1.0.5.2-now-available/</link>
      <pubDate>Tue, 17 May 2011 19:43:30 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/05/17/orbot-1.0.5.2-now-available/</guid>
      <description>&lt;p&gt;Our flagship app, &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot: Tor on Android&lt;/a&gt;, has been updated to version 1.0.5.2. It is available in the &lt;a href=&#34;https://market.android.com/details?id=org.torproject.android&amp;amp;feature=search_result&#34;&gt;Android Market&lt;/a&gt;, or through direct download from the &lt;a href=&#34;https://www.torproject.org/docs/android.html.en&#34;&gt;Tor Project’s website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This release fixes a number of long standing bigs, includes the latest and greatest release of Tor itself, cleans up the user interface a bit, and adds some new advanced options (you can specify your exit node country!). It also fixes an issue with our “Tor Everything” capability, that allowed some Android system network traffic to leak and bypass the Tor routing. Finally, it provides for compatibility for &lt;a href=&#34;https://code.google.com/p/cyanogenmod/issues/detail?id=1120&#34;&gt;CyanogenMOD 7&lt;/a&gt;, as well as Android Gingerbread and Honeycomb.&lt;/p&gt;

&lt;p&gt;Enjoy and stay safe out there!&lt;/p&gt;

&lt;p&gt;CHANGELOG&lt;/p&gt;

&lt;p&gt;1.0.5.1/.2&lt;br /&gt;
– small updates to layout of main screen to fit smaller screens&lt;br /&gt;
– fixed preference setting of EntryNode torrc value&lt;/p&gt;

&lt;p&gt;1.0.5&lt;br /&gt;
– added exit node and “StrictExitNode” preference&lt;br /&gt;
– fixed tor binary installation issue related to max resource size and compression&lt;br /&gt;
– updated “start on boot” code to test for proper launch event&lt;br /&gt;
– updated to Tor 0.2.2.25-alpha binary&lt;br /&gt;
– moved back to single notification bar id to avoid double entries&lt;br /&gt;
– cleaned up progress dialog and alert handling to avoid leaky windows&lt;br /&gt;
– Merged __sporkbomb’s patch for how transproxy all works; now does “everything but Tor”&lt;br /&gt;
– Added new toolbar notifications and alerts for displaying notifications and Tor messages&lt;br /&gt;
– Removed unused Socks client code from android.net package&lt;br /&gt;
– Updated wizard to show link to Gibberbot (formerly OTRchat) chat app&lt;br /&gt;
– Bundled iptables 1.4.7 for ARM instead of relying on installed version&lt;br /&gt;
– Fixed various issues related to iptables, transproxying for CyanogenMod7/Android 2.3.*&lt;br /&gt;
– Changed how settings changed are processed through the control port (batched instead of one by one)&lt;br /&gt;
– Stopped app by app flushing of iptables rules, in favor of complete flush of ‘nat’ and ‘filter’ type&lt;br /&gt;
– removed useless log screen (logs can be viewed/retrieved using ‘alogcat’ 3rd party app)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Announcing: SQLCipher for Android, Developer Preview r1</title>
      <link>https://guardianproject.info/2011/05/09/announcing-sqlcipher-for-android-developer-preview-r1/</link>
      <pubDate>Mon, 09 May 2011 22:45:09 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/05/09/announcing-sqlcipher-for-android-developer-preview-r1/</guid>
      <description>

&lt;p&gt;After some major breakthroughs during last week’s development sprint, we’re extremely excited to announce &lt;a href=&#34;https://guardianproject.info/code/sqlcipher/&#34;&gt;SQLCipher for Android&lt;/a&gt;, Developer Preview r1. SQLCipher is an &lt;a href=&#34;http://sqlite.org/&#34;&gt;SQLite&lt;/a&gt; extension that provides transparent 256-bit AES encryption of database files. To date, it has been open-sourced, sponsored and maintained by &lt;a href=&#34;http://zetetic.net/&#34;&gt;Zetetic LLC&lt;/a&gt;, and we are glad to be able to extend their efforts to a new mobile platform. In the mobile space, SQLCipher has enjoyed widespread use in Apple’s &lt;a href=&#34;https://www.zetetic.net/sqlcipher/documentation/ios.html&#34;&gt;iOS&lt;/a&gt;, as well as &lt;a href=&#34;http://www.qtcentre.org/wiki/index.php?title=Building_QSQLITE_driver_with_AES-256_encryption_support&#34;&gt;Nokia / QT&lt;/a&gt; for quite some time. Given that Android &lt;a href=&#34;http://developer.android.com/guide/topics/data/data-storage.html#db&#34;&gt;by default&lt;/a&gt; provides integrated support for SQLite databases, our goal was to create an almost identical API for SQLCipher, so that developers of all skill level could use it, without a steep learning curve.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher.png&#34;&gt;&lt;img title=&#34;logo-sqlcipher&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-300x31.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;31&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are impatient, you can just get right to the SDK download here:&lt;br /&gt;
&lt;a href=&#34;https://github.com/downloads/guardianproject/android-database-sqlcipher/SQLCipherForAndroid-alpha-sdk-0.0.2.zip&#34;&gt;SQLCipher for Android, Developer Preview r1 (0.0.2)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In an environment where mobile data privacy is increasingly &lt;a href=&#34;http://www.reuters.com/article/2011/05/08/us-privacy-congress-idUSTRE7471SA20110508&#34;&gt;in the headlines&lt;/a&gt;, this project will make it easier than ever for mobile developers to properly secure their local application data, and in turn better protect the privacy of their users. The data stored by Android apps protected by this type of encryption will be less vulnerable to access by malicious apps, protected in case of device loss or theft, and highly resistant to &lt;a href=&#34;http://www.cellebrite.com/&#34;&gt;mobile data forensics tools&lt;/a&gt; that are increasingly used to mass copy a mobile device during &lt;a href=&#34;http://www.thenewspaper.com/news/34/3458.asp&#34;&gt;routine traffic stops&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, while the core SQLCipher database is &lt;a href=&#34;http://zetetic.net/index&#34;&gt;vetted and market-ready&lt;/a&gt;, the Android support libraries in this release are still very much alpha quality, hence the Developer Preview label. &lt;strong&gt;&lt;em&gt;This R1 release should not be integrated into critical or production software&lt;/em&gt;.&lt;/strong&gt; Our goal is to give Android developers early access to the technology, so they can provide feedback on our approach, and help us deliver the right offering for securing mobile data. We expect to release a market-ready version this summer, and will be &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/commits/master&#34;&gt;publicly iterating through the codebase&lt;/a&gt; until then.&lt;/p&gt;

&lt;h4 id=&#34;an-illustrative-terminal-listing&#34;&gt;An Illustrative Terminal Listing&lt;/h4&gt;

&lt;p&gt;A typical SQLite database in unencrypted, and visually parseable even as encoded text. The following example shows the difference between hexdumps of a standard SQLite db and one implementing SQLCipher.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;~ sjlombardo$ hexdump -C sqlite.db&lt;br /&gt;
00000000 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 |SQLite format 3.|&lt;br /&gt;
…&lt;br /&gt;
000003c0 65 74 32 74 32 03 43 52 45 41 54 45 20 54 41 42 |et2t2.CREATE TAB|&lt;br /&gt;
000003d0 4c 45 20 74 32 28 61 2c 62 29 24 01 06 17 11 11 |LE t2(a,b)$…..|&lt;br /&gt;
…&lt;br /&gt;
000007e0 20 74 68 65 20 73 68 6f 77 15 01 03 01 2f 01 6f | the show…./.o|&lt;br /&gt;
000007f0 6e 65 20 66 6f 72 20 74 68 65 20 6d 6f 6e 65 79 |ne for the money|&lt;/p&gt;

&lt;p&gt;~ $ sqlite3 sqlcipher.db&lt;br /&gt;
sqlite&amp;gt; PRAGMA KEY=’test123′;&lt;br /&gt;
sqlite&amp;gt; CREATE TABLE t1(a,b);&lt;br /&gt;
sqlite&amp;gt; INSERT INTO t1(a,b) VALUES (‘one for the money’, ‘two for the show’);&lt;br /&gt;
sqlite&amp;gt; .quit&lt;/p&gt;

&lt;p&gt;~ $ hexdump -C sqlite.db&lt;br /&gt;
00000000 84 d1 36 18 eb b5 82 90 c4 70 0d ee 43 cb 61 87 |.?6.?..?p.?C?a.|&lt;br /&gt;
00000010 91 42 3c cd 55 24 ab c6 c4 1d c6 67 b4 e3 96 bb |.B&lt;!--?U$???.?g??.?| ... 00000be0  dc 77 5c 6c de c6 d3 be  43 49 48 3e f3 02 94 a9  |?w\l??ӾCIH--&gt;?..?|&lt;/p&gt;

&lt;p&gt;00000bf0 8e 99 ee 28 23 43 ab a4 97 cd 63 42 8a 8e 7c c6 |..?(#C??.?cB..|?|&lt;/p&gt;

&lt;p&gt;~ $ sqlite3 sqlcipher.db&lt;br /&gt;
sqlite&amp;gt; SELECT * FROM t1;&lt;br /&gt;
Error: file is encrypted or is not a database&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(example courtesy of &lt;a href=&#34;https://www.zetetic.net/sqlcipher/design&#34;&gt;SQLCipher&lt;/a&gt;)&lt;/p&gt;

&lt;h4 id=&#34;details-for-developers&#34;&gt;Details for Developers&lt;/h4&gt;

&lt;p&gt;We’ve packaged up a very simple SDK for any Android developer to add SQLCipher into their app with the following three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a single sqlcipher.jar and a few .so’s to the application libs directory&lt;br /&gt;
 ****&lt;/li&gt;
&lt;li&gt;Update the import path from &lt;em&gt;android.database.sqlite.*&lt;/em&gt; to &lt;em&gt;info.guardianproject.database.sqlite.*&lt;/em&gt; in any source files that reference it. The original android.database.Cursor can still be used unchanged.&lt;/li&gt;
&lt;li&gt;Init the database in onCreate() and pass a variable argument to the open database method with a password*:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;SQLiteDatabase.loadLibs(this); //first init the db libraries with the context&lt;/li&gt;
&lt;li&gt;SQLiteOpenHelper.getWritableDatabase(“thisismysecret”):&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;*&lt;strong&gt;Note:&lt;/strong&gt; we are working on some dialog builder helper methods for password and PIN input, password caching, and other features that we would like to standardize across all applications that use SQLCipher.&lt;/p&gt;

&lt;h4 id=&#34;compatibility&#34;&gt;Compatibility&lt;/h4&gt;

&lt;p&gt;The Developer Preview implements SQLCipher v1, is compatible with Android 2.2 &amp;amp; 2.3, and works only within one process (you can’t pass a Cursor from a remote Service to an Activity).&lt;/p&gt;

&lt;h4 id=&#34;notepad-sqlcipher-notepadbot&#34;&gt;Notepad + SQLCipher = Notepadbot&lt;/h4&gt;

&lt;p&gt;Notepadbot is a sample application pulled from the standard Android samples code and updated to use SQLCipher. You can browse the source &lt;a href=&#34;https://github.com/guardianproject/notepadbot&#34;&gt;here&lt;/a&gt; and download the apk &lt;a href=&#34;https://github.com/guardianproject/notepadbot/Notepadbot-0.0.1c-dev.apk/qr_code&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/05/prompt.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;&lt;img class=&#34;alignnone&#34; title=&#34;successful authentication&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/05/notes.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;
&lt;/p&gt;

&lt;h4 id=&#34;final-notes&#34;&gt;Final Notes&lt;/h4&gt;

&lt;p&gt;It’s important to note that this project is not intended to be a distinct, long-term fork of SQLCipher. We’ve been working closely with the SQLCipher team at &lt;a href=&#34;http://zetetic.net/&#34;&gt;Zetetic&lt;/a&gt; and fully intent to closely maintain the project as SQLCipher evolves, re-integrating changes in upcoming releases such as &lt;a href=&#34;https://github.com/sjlombardo/sqlcipher/tree/v2beta&#34;&gt;SQLCipher v2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Android support libraries are licensed under &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/LICENSE&#34;&gt;Apache 2.0&lt;/a&gt;, in line with the Android OS code on which they are based. The SQLCipher code itself is licensed under a &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/SQLCIPHER_LICENSE&#34;&gt;BSD-style license from Zetetic LLC.&lt;/a&gt; Finally, the original SQLite code itself is in the &lt;a href=&#34;http://www.sqlite.org/copyright.html&#34;&gt;public domain&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Downloads and Source&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQLCipher for Android project source repo is here: &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher&#34;&gt;https://github.com/guardianproject/android-database-sqlcipher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Current SDK distro for developers, with the jar’s, .so’s and a quick sample can be found here: &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/downloads&#34;&gt;https://github.com/guardianproject/android-database-sqlcipher/downloads&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Our Foolish Hackday!</title>
      <link>https://guardianproject.info/2011/04/06/our-foolish-hackday/</link>
      <pubDate>Wed, 06 Apr 2011 21:51:12 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/04/06/our-foolish-hackday/</guid>
      <description>&lt;p&gt;We had a great group of people show up at our &lt;a href=&#34;https://guardianproject.info/wiki/%22Don%27t_Be_Fooled%22_Mobilehack_Day&#34;&gt;April 1st “Don’t Be Fooled” Hackday&lt;/a&gt; here at the OpenMobileLab in New York. There were users, there were devs, and all sorts of other people in between. We tracked some of the brainstormed ideas on an open etherpad at: &lt;a href=&#34;http://piratepad.net/bQPFn6FOhN&#34;&gt;http://piratepad.net/bQPFn6FOhN&lt;/a&gt; (text of this pasted in below).&lt;/p&gt;

&lt;p&gt;The main outputs of the hacking were &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34;&gt;LilDebi&lt;/a&gt;, an updated Debian installer for Android, the beginnings of a &lt;a href=&#34;http://www.bitcoin.org/&#34;&gt;Bitcoin&lt;/a&gt; digital currency client, and another called &lt;a href=&#34;https://github.com/nathanfreitas/UpOnApp&#34;&gt;UpOn App&lt;/a&gt;, which uses the accelerometer and white noise generators in the device to stop your cellphone from spying on you.&lt;/p&gt;

&lt;p&gt;Thanks to all for coming, and hope you enjoyed the donuts and beer!&lt;/p&gt;

&lt;div id=&#39;gallery-4&#39; class=&#39;gallery galleryid-899 gallery-columns-2 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2011/04/donuts.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/04/donuts-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2011/04/eyes.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/04/eyes-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2011/04/hackers.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/04/hackers-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2011/04/noneck.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/04/noneck-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2011/04/table.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/04/table-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#39;clear: both&#39; /&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div id=&#34;magicdomid6&#34;&gt;
  &lt;strong&gt;The Pirated Pad Hackday Idea Tracker!&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid8&#34;&gt;
  &lt;strong&gt;I. UpOn&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid9&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      phone that goes on and off airplane mode, based on gyroscope face up and down
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid10&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      prototype code is here: &lt;a href=&#34;https://github.com/nathanfreitas/UpOnApp&#34;&gt;https://github.com/nathanfreitas/UpOnApp&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid12&#34;&gt;
  &lt;strong&gt;Research&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid13&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      need to look into e911 requirements
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid14&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      is Airplane mode a don’t broadcast, but receive is on type mode?
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid15&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      can we detect radio signals at all
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid16&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      scanning engine for radio communications (cv ettercap)
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid18&#34;&gt;
  &lt;strong&gt;Ideas&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid19&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Kickstarter projects for faraday cage mobile phone case
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid20&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      little phone ornament that lights up on radio signals (they have these today!)
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid21&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      star wars ringing sensor phone charm: &lt;a href=&#34;http://www.thinkgeek.com/gadgets/cellphone/c99c/&#34;&gt;http://www.thinkgeek.com/gadgets/cellphone/c99c/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid22&#34;&gt;
  &lt;ul&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid23&#34;&gt;
  &lt;ul&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid24&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      discuss the kickstarter project for designing a faraday cage mobile phone case… or did someone already do that?
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid25&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://secretagentmagazine.com/how-to/CellPhoneJamming.htm&#34;&gt;http://secretagentmagazine.com/how-to/CellPhoneJamming.htm&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid26&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;https://www.google.com/products?q=%22Cell+phone+signal+blocker+pouch%22&#34;&gt;https://www.google.com/products?q&lt;/a&gt;&lt;a href=&#34;http://piratepad.net/ep/search?query=%2522Cell+phone+signal+blocker+pouch%2522&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.google.com/products?q=%22Cell+phone+signal+blocker+pouch%22&#34;&gt;=%22Cell+phone+signal+blocker+pouch%22&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid28&#34;&gt;
  &lt;strong&gt;threats&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid29&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      can baseband exploit / lawful intercept activate on report
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid30&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      habitual paranoia
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid31&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      create a physical switch on the battery cover
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid32&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      sell faraday cases cell phone
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid33&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      turn off and on the phone , but necessarily super protect
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid36&#34;&gt;
  &lt;strong&gt;II – Anonymous Currency [BitCoin]&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid38&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://www.weusecoins.com/&#34;&gt;http://www.weusecoins.com/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid39&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://bitcoinmonitor.com/&#34;&gt;http://bitcoinmonitor.com/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid40&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://blockexplorer.com/&#34;&gt;http://blockexplorer.com/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid41&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://bitcoincharts.com/markets/&#34;&gt;http://bitcoincharts.com/markets/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid43&#34;&gt;
  &lt;strong&gt;a.&lt;/strong&gt;&lt;strong&gt; Bitcoin for Android&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid45&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Virtual p2p currency: &lt;a href=&#34;http://www.bitcoin.org/&#34;&gt;http://www.bitcoin.org/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid46&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Any interesections between Bitcoin and FrontlineSMS Credit?: &lt;a href=&#34;http://credit.frontlinesms.com/&#34;&gt;http://credit.frontlinesms.com/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid47&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Check out: &lt;a href=&#34;http://ripple-project.org/&#34;&gt;http://ripple-project.org/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid48&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Android BitCoin wallet
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid49&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      qrcodes for half-offline transactions
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid51&#34;&gt;
  &lt;strong&gt; b. Bitcoin in General&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid52&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Laundromat to maintain anonymity of BitCoin pseudonyms
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid53&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      trust laundromat a few cents at a time
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid54&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      trade keys in realishtime
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid56&#34;&gt;
  &lt;strong&gt;III Building CyanogenMod from Source!&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid57&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Seems like a fun experiment for the day
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid58&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Can we drop in SQLCipher?
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid59&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Possibly work on exploring OWNER module issues with current kernel
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid60&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Yes, we need to figure out how to dynamically load kernel modules
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid62&#34;&gt;
  &lt;strong&gt;IV. Debian Autoinstaller&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid63&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      can you simplify the installer in the market
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid64&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      checkout the QT market installer
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid66&#34;&gt;
  &lt;strong&gt;V. How to Build Stuff&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid67&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/BUILD&#34;&gt;https://svn.torproject.org/svn/projects/android/trunk/Orbot/BUILD&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid68&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;https://github.com/bitcoin-labs/bitcoin-mobile-android/commit/19fde8f58690b79177c7eb474ea242805e570a6d#diff-2&#34;&gt;https://github.com/bitcoin-labs/bitcoin-mobile-android/commit/19fde8f58690b79177c7eb474ea242805e570a6d&lt;/a&gt;&lt;a href=&#34;http://piratepad.net/ep/search?query=diff-2&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/bitcoin-labs/bitcoin-mobile-android/commit/19fde8f58690b79177c7eb474ea242805e570a6d#diff-2&#34;&gt;#diff-2&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid69&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      Gradle for building apps, or “ant release”
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid70&#34;&gt;
  &lt;ul&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid72&#34;&gt;
  &lt;strong&gt;VI. Port Ghostery to Firefox for Android&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid73&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      blocks cookies, tracking, etc
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid74&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://www.ghostery.com/faq&#34;&gt;http://www.ghostery.com/faq&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid76&#34;&gt;
  &lt;strong&gt;VII Securely Reporting Photo/Video/Audio&lt;/strong&gt;
&lt;/div&gt;

&lt;div id=&#34;magicdomid77&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;a href=&#34;http://quietbabylon.com/2011/the-best-networked-plans/&#34;&gt;http://quietbabylon.com/2011/the-best-networked-plans/&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Growing Mobile Test Lab and Library</title>
      <link>https://guardianproject.info/2011/04/01/growing-mobile-test-lab-and-library/</link>
      <pubDate>Fri, 01 Apr 2011 00:32:08 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/04/01/growing-mobile-test-lab-and-library/</guid>
      <description>&lt;p&gt;At our new meatspace location in New York City, we are building up a library of mobile devices from around the world for open-source developers to use for testing, and specifically to help verify the security of apps running on different carrier configurations and hardware variables.&lt;/p&gt;

&lt;p&gt;Mostly our collection has come from picking up what we can, when we can, always with an eye towards anything a few generations back from the state of the art. If you’ve got any mobile hardware to donate, we would love to have it.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/04/267664324.jpg&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-893&#34; title=&#34;267664324&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/04/267664324.jpg&#34; alt=&#34;&#34; width=&#34;600&#34; height=&#34;451&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/04/267664324.jpg 600w, https://guardianproject.info/wp-content/uploads/2011/04/267664324-300x225.jpg 300w&#34; sizes=&#34;(max-width: 600px) 100vw, 600px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How You Can Work With Us</title>
      <link>https://guardianproject.info/how-you-can-work-with-us/</link>
      <pubDate>Wed, 30 Mar 2011 18:18:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/how-you-can-work-with-us/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Guardian as Development Partner&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Guardian Project can be utilized by partner organizations in three ways. First, as a turn-key product, for daily personal use as well as organizational deployment in sensitive field world. Second, as a mobile security platform, on which developers can build custom applications that required circumvention, anonymity, encryption and other capabilities. Finally, as an open-source project, with which to collaborate on in core mobile security research and development.&lt;/p&gt;

&lt;p&gt;You can view our &lt;a href=&#34;https://guardianproject.info/home/partners/&#34;&gt;current set of partners here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Turn-key &amp;ldquo;Beta&amp;rdquo; Product&lt;/strong&gt;&lt;br /&gt;
Through apps available in the Android Market and distributed through direct secure download, any person with an Android phone can utilize specific capabilities of the Guardian Project app suite. This includes Orbot for access to the Tor network, Gibberbot for encrypted chat, and Orweb and ProxyMob for secured web access. Guardian also offers tuned configuration and documentation for use a variety of third-party open-source solutions for secure voice communications and email. The current state of our apps is definitely pre-release and &amp;ldquo;beta&amp;rdquo;, and any user or organization is expected to have some technical capability and be motivated to participate in improving our product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Mobile Security Platform&lt;/strong&gt;&lt;br /&gt;
The Guardian Project offers developers looking to enhance the security of their applications through APIs, code libraries, and sample source code. As an example, the ORLib &amp;ldquo;Onion Routing Library&amp;rdquo; is a simple add-in for any application that would benefit from anonymity and circumvention capability through Tor. For instance, an blogging or media delivery tool might use ORlib to automatically handle any local filtering or censorship in the local region. Our SQLCipher for Android project provides pin-protected data encryption on the device, safeguarding sensitive information from access by malware apps or&lt;br /&gt;
physical theft. Organizations that have mobile developers skilled at building apps, but without the capability or confidence to implement their own security features, can partner with Guardian, confident in our open-source tools. We are currently partnering with Witness.org on the SecureSmartCamera, which utilizes a number of our libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Open-Source Project&lt;/strong&gt;&lt;br /&gt;
The extended Guardian Project open-source development team and user community is a growing, valuable resource for many non-governmental and human rights-oriented organizations to interface with. We currently have ten core development team members, and even larger group of users around the world who help test, support and inform our work. We partner with the Tor Project in this manner, and support work by other efforts on mobile support for disk encryption, mobile public key cryptography and encrypted voice communication. Through academic relationships with New York University’s Interactive Telecommunication Program, Columbia University, the New School, and other academic institutions in the New York area, we have a strong ability to tap into a growing pool of talented students and research. In addition, New York City is fast becoming the established center for mobile+social entrepreneurial activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Guardian as Platform (ala Drupal)&lt;/strong&gt;&lt;br /&gt;
Through some of our team&amp;rsquo;s experience using Drupal as a platform, we are investigating ways as how to make Drupal a secure backend for communicating. This is currently in development.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How You Can Work With Us</title>
      <link>https://guardianproject.info/how-you-can-work-with-us/</link>
      <pubDate>Wed, 30 Mar 2011 18:18:41 -0400</pubDate>
      
      <guid>https://guardianproject.info/how-you-can-work-with-us/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Guardian as Development Partner&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Guardian Project can be utilized by partner organizations in three ways. First, as a turn-key product, for daily personal use as well as organizational deployment in sensitive field world. Second, as a mobile security platform, on which developers can build custom applications that required circumvention, anonymity, encryption and other capabilities. Finally, as an open-source project, with which to collaborate on in core mobile security research and development.&lt;/p&gt;

&lt;p&gt;You can view our &lt;a href=&#34;https://guardianproject.info/home/partners/&#34;&gt;current set of partners here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Turn-key &amp;ldquo;Beta&amp;rdquo; Product&lt;/strong&gt;&lt;br /&gt;
Through apps available in the Android Market and distributed through direct secure download, any person with an Android phone can utilize specific capabilities of the Guardian Project app suite. This includes Orbot for access to the Tor network, Gibberbot for encrypted chat, and Orweb and ProxyMob for secured web access. Guardian also offers tuned configuration and documentation for use a variety of third-party open-source solutions for secure voice communications and email. The current state of our apps is definitely pre-release and &amp;ldquo;beta&amp;rdquo;, and any user or organization is expected to have some technical capability and be motivated to participate in improving our product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Mobile Security Platform&lt;/strong&gt;&lt;br /&gt;
The Guardian Project offers developers looking to enhance the security of their applications through APIs, code libraries, and sample source code. As an example, the ORLib &amp;ldquo;Onion Routing Library&amp;rdquo; is a simple add-in for any application that would benefit from anonymity and circumvention capability through Tor. For instance, an blogging or media delivery tool might use ORlib to automatically handle any local filtering or censorship in the local region. Our SQLCipher for Android project provides pin-protected data encryption on the device, safeguarding sensitive information from access by malware apps or&lt;br /&gt;
physical theft. Organizations that have mobile developers skilled at building apps, but without the capability or confidence to implement their own security features, can partner with Guardian, confident in our open-source tools. We are currently partnering with Witness.org on the SecureSmartCamera, which utilizes a number of our libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Open-Source Project&lt;/strong&gt;&lt;br /&gt;
The extended Guardian Project open-source development team and user community is a growing, valuable resource for many non-governmental and human rights-oriented organizations to interface with. We currently have ten core development team members, and even larger group of users around the world who help test, support and inform our work. We partner with the Tor Project in this manner, and support work by other efforts on mobile support for disk encryption, mobile public key cryptography and encrypted voice communication. Through academic relationships with New York University’s Interactive Telecommunication Program, Columbia University, the New School, and other academic institutions in the New York area, we have a strong ability to tap into a growing pool of talented students and research. In addition, New York City is fast becoming the established center for mobile+social entrepreneurial activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Guardian as Platform (ala Drupal)&lt;/strong&gt;&lt;br /&gt;
Through some of our team&amp;rsquo;s experience using Drupal as a platform, we are investigating ways as how to make Drupal a secure backend for communicating. This is currently in development.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>April 26: “Advancing the New Machine” at UC Berkeley</title>
      <link>https://guardianproject.info/2011/03/22/april-26-advancing-the-new-machine-at-uc-berkeley/</link>
      <pubDate>Tue, 22 Mar 2011 20:20:56 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/03/22/april-26-advancing-the-new-machine-at-uc-berkeley/</guid>
      <description>&lt;p&gt;I, along with a number of others from the Guardian Project core dev team, will be at the UC Berkeley’s Human Rights Center “Advancing the New Machine” conference at the end of April. I am on a panel regarding security in the context of human rights. We will also be presenting the Secure Smart Cam project with our partners at Witness. (&lt;a href=&#34;https://guardianproject.info/apps/securecam/&#34;&gt;https://guardianproject.info/apps/securecam/&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;You can learn more about the event here:&lt;br /&gt;
&lt;a href=&#34;http://www.law.berkeley.edu/HRCweb/events/TechConference2011/index.html&#34;&gt;http://www.law.berkeley.edu/HRCweb/events/TechConference2011/index.html&lt;/a&gt;&lt;br /&gt;
&lt;img class=&#34;alignnone&#34; src=&#34;https://www.law.berkeley.edu/HRCweb/events/TechConference2011/images/Conference-Logo-Large.jpg&#34; alt=&#34;&#34; width=&#34;394&#34; height=&#34;224&#34; /&gt;&lt;/p&gt;

&lt;p&gt;It was the 2009 version of the same conference hosted by UC Berkeley’s Human Rights Conference, the “Soul of the New Machine”, where I initially pitched the idea of Guardian, and happily won a $15,000 grant which acted as our seed funding.&lt;br /&gt;
&lt;a href=&#34;http://www.netsquared.org/challenges/hrc-mobile/uc-berkeley-human-rights-center-mobile-challenge-winners&#34;&gt;http://www.netsquared.org/challenges/hrc-mobile/uc-berkeley-human-rights-center-mobile-challenge-winners&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are also planning to have an all-day open collaborative hack session on Friday, April 29th, somewhere in the bay area. Reaching out to friends at EFF, Tor, Whispersys, Google, etc to host and/or join us. More information as we have it, but I can definitely say that we will have stickers!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Guardian Project: General Update March 2011</title>
      <link>https://guardianproject.info/2011/03/21/guardian-project-general-update-march-2011/</link>
      <pubDate>Mon, 21 Mar 2011 05:18:48 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/03/21/guardian-project-general-update-march-2011/</guid>
      <description>&lt;p&gt;We have recently updated our general presentation on the project, and thought we would share it with you here. Please post any comments, questions or feedback right here, and we will get back to you shortly.&lt;br /&gt;
&lt;a href=&#34;https://docs.google.com/present/view?id=ddr5dm94_493gvh263gt&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-910&#34; title=&#34;gp2011&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/03/gp2011.png&#34; alt=&#34;&#34; width=&#34;472&#34; height=&#34;348&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/03/gp2011.png 786w, https://guardianproject.info/wp-content/uploads/2011/03/gp2011-300x221.png 300w&#34; sizes=&#34;(max-width: 472px) 100vw, 472px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can find this &lt;a href=&#34;https://docs.google.com/present/view?id=ddr5dm94_493gvh263gt&#34;&gt;presentation on Google Docs&lt;/a&gt;, where you can also find it in downloadable, offline formats.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Photos from our January Hackday</title>
      <link>https://guardianproject.info/2011/03/10/photos-from-our-january-hackday/</link>
      <pubDate>Thu, 10 Mar 2011 17:41:18 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/03/10/photos-from-our-january-hackday/</guid>
      <description>&lt;p&gt;Back in January, we held a very excellent hackday at &lt;a href=&#34;http://eyebeam.org&#34;&gt;Eyebeam&lt;/a&gt; in New York. We rooted a NookColor, made encrypted calls over SIP, and generally had a full day of talking about the state of mobile security and privacy. Thanks to everyone who attended, and many thanks to _hc and Eyebeam for hosting!&lt;/p&gt;

&lt;p&gt;View the full &lt;a href=&#34;http://www.flickr.com/photos/eyebeam/sets/72157625808310021/&#34;&gt;Flickr photo set&lt;/a&gt;.&lt;br /&gt;
&lt;a href=&#34;http://www.flickr.com/photos/eyebeam/5398828041/&#34; title=&#34;DSC_0083 by eyebeam, on Flickr&#34;&gt;&lt;img src=&#34;https://farm6.static.flickr.com/5053/5398828041_83c603319d.jpg&#34; alt=&#34;DSC_0083&#34; width=&#34;500&#34; height=&#34;335&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/eyebeam/5399436072/&#34; title=&#34;DSC_0121 by eyebeam, on Flickr&#34;&gt;&lt;img src=&#34;https://farm6.static.flickr.com/5172/5399436072_d9bcbbab50.jpg&#34; alt=&#34;DSC_0121&#34; width=&#34;500&#34; height=&#34;335&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Proxy Mobile Add-on 0.0.7 for Firefox on Android</title>
      <link>https://guardianproject.info/2011/03/04/proxy-mobile-add-on-0.0.7-for-firefox-on-android/</link>
      <pubDate>Fri, 04 Mar 2011 00:01:24 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/03/04/proxy-mobile-add-on-0.0.7-for-firefox-on-android/</guid>
      <description>&lt;p&gt;We’ve updated our &lt;a href=&#34;https://addons.mozilla.org/en-US/mobile/addon/proxy-mobile/&#34;&gt;Proxy Mobile&lt;/a&gt; add-on for &lt;a href=&#34;https://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox on Android&lt;/a&gt; that allows user to configure their proxy settings. We first released this &lt;a href=&#34;https://guardianproject.info/2010/11/08/proxy-settings-add-on-for-firefox-mobile/&#34;&gt;back in November of last year&lt;/a&gt;, and have done our best to keep up with all the various beta updates of the browser. There are no features in this release, just a few small changes to make sure everything is running smoothly out there.&lt;/p&gt;

&lt;p&gt;To install the add-on, just search for “Proxy” from the add-on search menu within the Firefox settings screen. You can also point your Firefox mobile browser to this link: &lt;a href=&#34;https://guardianproject.info/downloads/proxymob-addon-0.0.7.xpi&#34;&gt;https://guardianproject.info/downloads/proxymob-addon-0.0.7.xpi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are a developer interested in writing mobile browser add-ons, please check out &lt;a href=&#34;https://github.com/guardianproject/proxymob&#34;&gt;our source code&lt;/a&gt;, and let us know if you’d like to pitch to add even more awesome privacy-enhancing features!&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Addressing a “Privacy Challenge” with Guardian</title>
      <link>https://guardianproject.info/2011/03/02/addressing-a-privacy-challenge-with-guardian/</link>
      <pubDate>Wed, 02 Mar 2011 20:39:18 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/03/02/addressing-a-privacy-challenge-with-guardian/</guid>
      <description>&lt;p&gt;Organized by the &lt;a href=&#34;http://aclunc.org/&#34;&gt;ACLU&lt;/a&gt;, &lt;a href=&#34;https://www.torproject.org/&#34;&gt;Tor Project&lt;/a&gt;, and &lt;a href=&#34;http://privacybydesign.ca/&#34;&gt;PrivacyByDesign.c&lt;/a&gt;a, the &lt;a href=&#34;http://www.develop4privacy.org/&#34;&gt;“Develop for Privacy Challenge”&lt;/a&gt; is an interesting new software development challenge that was announced last month. Developers (teams or individuals) have until May 31st to come up with apps which address this goal:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Develop apps for smartphones or other mobile devices that educate users about mobile privacy and give them the ability to claim or demand greater control of their own personal information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We don’t plan to compete in this contest ourselves, as we would rather support and encourage other developers to take a shot at it. Along those lines, we would really like to see developers use some of the &lt;a href=&#34;https://guardianproject.info/apps&#34;&gt;apps we have built&lt;/a&gt;, and &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;code we have released&lt;/a&gt;, as part of their solutions. We have been putting together a large number of “lego” building blocks over the last year, just waiting for someone to come and put them together in a revolutionary way. Here is a breakdown of some of our more useful components:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.torproject.org/images/THS-4.png&#34;&gt;&lt;img class=&#34;alignleft&#34; style=&#34;margin-left: 3px; margin-right: 3px;&#34; src=&#34;https://www.torproject.org/images/THS-4.png&#34; alt=&#34;&#34; width=&#34;162&#34; height=&#34;111&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;ORbot -More than just Circumvention&lt;/a&gt;: beyond just being a great way to connect to Tor on Android, Orbot also supports &lt;a href=&#34;https://www.torproject.org/docs/hidden-services.html.en&#34;&gt;Tor Hidden Services&lt;/a&gt;. This means you can run local servers on your Android device, and access them via a .onion hostname from any other device or computer on the Tor network. We have been looking at building all sorts of cool anonymous peer-to-peer apps using this capability, but haven’t found the time yet.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/code/orlib/&#34;&gt;ORlib – Privacy-powered HTTP and Sockets:&lt;/a&gt; This an Android Library for use by any application that wishes to route its network traffic through the Tor network. If your app uses this library, and Orbot is installed and activated on the device, it will automatically handle routing your connections, DNS requests and traffic through the Tor network. By building this into your device, it means your users do not need to have a rooted device in order to have their network traffic anonymized and otherwise protected from filtering and surveillence.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/proxymob-firefox-add-on/&#34;&gt;ProxyMob&lt;/a&gt;: We have the beginnings of a Firefox for Android add-on that allows user to control the proxy settings for their browser. However, this add-on needs to fully evolve into a mobile version of &lt;a href=&#34;https://www.torproject.org/torbutton/&#34;&gt;TorButton&lt;/a&gt;. This alone would be a great project to tackle, discovering what unique challenges their are to anonymizing mobile web access, such as constant geolocation tracking!&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/guardianproject/SecureSmartCam/raw/master/doc/comps/Still/11_blur.jpg&#34;&gt;&lt;img class=&#34;alignright&#34; style=&#34;margin-left: 3px; margin-right: 3px;&#34; src=&#34;https://github.com/guardianproject/SecureSmartCam/raw/master/doc/comps/Still/11_blur.jpg&#34; alt=&#34;&#34; width=&#34;173&#34; height=&#34;288&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/apps/securecam/&#34;&gt;SecureSmartCam&lt;/a&gt;: Visual privacy is an emerging area of research and development, specifically with the growing problem/benefit of cameras being everywhere, in our pockets, on our streets, at all times. We are partnering with &lt;a href=&#34;https://www.witness.org&#34;&gt;Witness.org&lt;/a&gt; to build camera software that is capable of protecting identities, securing sensitive metadata stored in photos, and empowering the documenter and subjects of photos, video and audio recordings to maintain more control of media that they have consented to be a part of. With all that in mind, we need some serious media hackers who are interested in thing liks OpenCV, GStreamer, EXIF and more to contribute to this project, and to come up with some new brilliant secure cam apps of their own.&lt;/p&gt;

&lt;p&gt;We have a number of other ongoing projects that you can find on our &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;Github site&lt;/a&gt;, including encrypted SQL databases and file system tools, and our secure instant messaging app, &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;Gibberbot&lt;/a&gt;. All in all, there is a quite a bit of work on which any interest in improving mobile privacy can build upon. We would be very happy to provide support via &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;email or IRC&lt;/a&gt; to any dev interested in working with us, as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good luck, and &lt;a href=&#34;http://www.develop4privacy.org/&#34;&gt;game on&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;**&lt;a href=&#34;http://www.develop4privacy.org/&#34;&gt;http://www.develop4privacy.org/&lt;/a&gt;&lt;br /&gt;
**&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SECURED: HTC Wildfires get Guardian</title>
      <link>https://guardianproject.info/2011/03/01/secured-htc-wildfires-get-guardian/</link>
      <pubDate>Tue, 01 Mar 2011 23:23:14 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/03/01/secured-htc-wildfires-get-guardian/</guid>
      <description>&lt;p&gt;As we’ve &lt;a href=&#34;https://guardianproject.info/2010/11/09/secured-t-mobile-mytouch-4g-gets-guardian/&#34;&gt;posted&lt;/a&gt; in the past, one of the services we provide at The Guardian Project is customizing off-the-shelf Android phones to be generally more secure, privacy minded and updated with a powerful suite of trusted apps. We’ve gotten our mitts on a number of devices over the last few months in this regard, including: myTouch 4G, Motorola Milestone (GSM Droid), HTC Desire GSM, TMobile G2, Samsung Galaxy S, Nook Color, and Viewsonic 10″ GTablet. Whew! And if there’s one thing we’ve learned, it’s that some devices are much much harder to crack than others (cough cough… &lt;a href=&#34;http://alpharev.nl/&#34;&gt;Desire GSM’s hardened bootloader&lt;/a&gt;). With that in mind, we’ve recently added a &lt;a href=&#34;https://guardianproject.info/hardware/&#34;&gt;Hardware&lt;/a&gt; page to our site that lists the devices that we recommend for ‘Guardianization’.&lt;/p&gt;

&lt;p&gt;This weekend we got our hands on one of the devices that has recently made our list – the &lt;a href=&#34;http://www.htc.com/uk/product/wildfire/overview.html&#34;&gt;HTC Wildfire A3333&lt;/a&gt;. As far as trade-offs are concerned, the Wildfire is like a ‘mini me’ version of our trusted Nexus One – a smaller, lower resolution capacitive screen along with a processor with half the speed means much improved battery life and a fuller wallet (just $300 / ea.!).&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/03/DSC01246.jpg&#34;&gt;&lt;img class=&#34;aligncenter size-medium wp-image-771&#34; title=&#34;HTC Wildfires&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/03/DSC01246-300x199.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;199&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/03/DSC01246-300x199.jpg 300w, https://guardianproject.info/wp-content/uploads/2011/03/DSC01246-1024x681.jpg 1024w, https://guardianproject.info/wp-content/uploads/2011/03/DSC01246.jpg 1600w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our app suite has been evolving along with our hardware preferences: we still rely on Orbot (Tor on Android), TextSecure, K9 &amp;amp; APG. OtRChat has become Gibberbot and is currently in alpha status, and SipDroid has been replaced with CSipSimple, a very powerful sip client that provides SRTP-encrypted voice over TLS. More on CSip in a future blog posting.&lt;/p&gt;

&lt;p&gt;We’re very happy with how these Wildfires have turned out – Cyanogenmod 6 firmware is very responsive and stable and the hardware is very convenient. As long as they stay straightforward to customize they’ll be staying on our ‘good list’ down the road.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hardware Guide</title>
      <link>https://guardianproject.info/archive/hardware/</link>
      <pubDate>Thu, 24 Feb 2011 03:47:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/hardware/</guid>
      <description>&lt;p&gt;&lt;strong style=&#34;font-style: italic;&#34;&gt;January 2013: We recognize this page is quite out of date and are working to update it.&lt;/strong&gt;&lt;span style=&#34;line-height: 13px;&#34;&gt;&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;While we don&amp;rsquo;t (yet) produce our own hardware, we do offer custom configured versions of off-the-shelf devices. We&amp;rsquo;re also often asked &amp;ldquo;which phone should I get?&amp;rdquo; or &amp;ldquo;which carrier should I choose?&amp;rdquo;, so we decided to gather that information here for you.&lt;/p&gt;

&lt;p&gt;If you would like more information on our custom configured Guardian devices, please &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;contact us&lt;/a&gt;. Otherwise, read on below&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Android Devices We Like&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;_&lt;img class=&#34;alignright&#34; style=&#34;margin-left: 6px; margin-right: 6px;&#34; title=&#34;nexusone&#34; alt=&#34;&#34; src=&#34;https://docs.google.com/document/pubimage?id=1XRbMDFnRQYLGhVMVoc-TbE0M2goB2FZ2mr-Ml8_z_KY&amp;image_id=1E-aS8PAE1a1ey-z-STcaAEQ_nVIy_Q&#34; width=&#34;110&#34; height=&#34;215&#34; /&gt;_&lt;/p&gt;

&lt;p&gt;There is certainly no shortage of Android devices out there - some say &lt;a href=&#34;http://www.zdnet.com/blog/gadgetreviews/android-ambivalence-the-plight-of-too-many-google-phones/20485&#34;&gt;too many&lt;/a&gt;. To combat confusion, we&amp;rsquo;re going to keep this list short and sweet. Our main criteria in compiling the list follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the general user experience? How responsive is the user interface?&lt;/li&gt;
&lt;li&gt;What is the general battery life? Are you constantly tethered to an outlet?&lt;/li&gt;
&lt;li&gt;How easy is it to root the device?&lt;/li&gt;
&lt;li&gt;Does the device support external memory? &amp;lt;-  important for storing and disposing of sensitive materials&lt;/li&gt;
&lt;li&gt;Lastly, we have to had &lt;em&gt;used&lt;/em&gt; a device hands-on for it to make our list - oherwise it makes our wish list below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without further ado, here is our Top 3 List for Android handsets and tablets. If you know of any devices that you feel should take a place on the podium, please let us know!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Baseline Handsets****&lt;/em&gt;**&lt;br /&gt;
**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Galaxy Nexus for $349 is hard to beat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Affordable Handsets&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ZTE devices can be ordered directly from China for $100-150 USD and are able to run CyanogenMOD on them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Tablets&lt;/em&gt;&lt;strong&gt;_&lt;/strong&gt; _&lt;img class=&#34;alignright&#34; title=&#34;nook&#34; alt=&#34;&#34; src=&#34;https://docs.google.com/document/pubimage?id=1XRbMDFnRQYLGhVMVoc-TbE0M2goB2FZ2mr-Ml8_z_KY&amp;image_id=1HQoRKDXuEOBtX3QYoKcKkePHj6ISMA&#34; width=&#34;186&#34; height=&#34;274&#34; /&gt;&lt;em&gt;**&lt;/em&gt;**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nexus 7 is the gold standard for affordable, but powerful.&lt;/li&gt;
&lt;li&gt;Kindle Fires provide good value for price and are easy to root and rom.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;_&lt;/strong&gt; __**&lt;br /&gt;
_ Other Root Friendly Devices&lt;br /&gt;
**&lt;/p&gt;

&lt;p&gt;The folks over at Unrevoked have a very cool &amp;lsquo;Root Friendly&amp;rsquo; list that provides great detail on a whole range of Android devices: &lt;a href=&#34;http://unrevoked.com/rootwiki/doku.php/public/root_friendly&#34;&gt;Root Friendly List&lt;/a&gt;. You can also review the &lt;a href=&#34;http://www.cyanogenmod.com/devices&#34;&gt;CyanogenMod Supported Devices&lt;/a&gt; page for a good overview of the handsets that best support custom, after-market tweaking.&lt;/p&gt;

&lt;p&gt;For step-by-step information on how to root, please check out and contribute to our &amp;ldquo;Device Rooting Guide&amp;rdquo; on the &lt;a href=&#34;https://guardianproject.info/wiki/Device_Rooting_Guides&#34;&gt;Guardian Project Wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where to Buy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The explosion of Android devices in the market has resulted in a number of secondary electronics markets. Aside from the usual options like eBay and Craigslist, we&amp;rsquo;ve found that it&amp;rsquo;s often easy to get our hands on a good-as-new handset from any of the below vendors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://swappa.com/&#34;&gt;Swappa Android marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mobilecityonline.com/wireless/store/android_phones.asp&#34;&gt;Mobile City (New York)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://jandr.com&#34;&gt;J&amp;amp;R (New York)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div&gt;
  &lt;em&gt;&lt;br /&gt; &lt;/em&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;strong&gt;&lt;em&gt;&lt;br /&gt; &lt;/em&gt;&lt;/strong&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Hardware Guide</title>
      <link>https://guardianproject.info/archive/hardware/</link>
      <pubDate>Thu, 24 Feb 2011 03:47:39 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/hardware/</guid>
      <description>&lt;p&gt;&lt;strong style=&#34;font-style: italic;&#34;&gt;January 2013: We recognize this page is quite out of date and are working to update it.&lt;/strong&gt;&lt;span style=&#34;line-height: 13px;&#34;&gt;&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;While we don&amp;rsquo;t (yet) produce our own hardware, we do offer custom configured versions of off-the-shelf devices. We&amp;rsquo;re also often asked &amp;ldquo;which phone should I get?&amp;rdquo; or &amp;ldquo;which carrier should I choose?&amp;rdquo;, so we decided to gather that information here for you.&lt;/p&gt;

&lt;p&gt;If you would like more information on our custom configured Guardian devices, please &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;contact us&lt;/a&gt;. Otherwise, read on below&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Android Devices We Like&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;_&lt;img class=&#34;alignright&#34; style=&#34;margin-left: 6px; margin-right: 6px;&#34; title=&#34;nexusone&#34; alt=&#34;&#34; src=&#34;https://docs.google.com/document/pubimage?id=1XRbMDFnRQYLGhVMVoc-TbE0M2goB2FZ2mr-Ml8_z_KY&amp;image_id=1E-aS8PAE1a1ey-z-STcaAEQ_nVIy_Q&#34; width=&#34;110&#34; height=&#34;215&#34; /&gt;_&lt;/p&gt;

&lt;p&gt;There is certainly no shortage of Android devices out there - some say &lt;a href=&#34;http://www.zdnet.com/blog/gadgetreviews/android-ambivalence-the-plight-of-too-many-google-phones/20485&#34;&gt;too many&lt;/a&gt;. To combat confusion, we&amp;rsquo;re going to keep this list short and sweet. Our main criteria in compiling the list follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the general user experience? How responsive is the user interface?&lt;/li&gt;
&lt;li&gt;What is the general battery life? Are you constantly tethered to an outlet?&lt;/li&gt;
&lt;li&gt;How easy is it to root the device?&lt;/li&gt;
&lt;li&gt;Does the device support external memory? &amp;lt;-  important for storing and disposing of sensitive materials&lt;/li&gt;
&lt;li&gt;Lastly, we have to had &lt;em&gt;used&lt;/em&gt; a device hands-on for it to make our list - oherwise it makes our wish list below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without further ado, here is our Top 3 List for Android handsets and tablets. If you know of any devices that you feel should take a place on the podium, please let us know!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Baseline Handsets****&lt;/em&gt;**&lt;br /&gt;
**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Galaxy Nexus for $349 is hard to beat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Affordable Handsets&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ZTE devices can be ordered directly from China for $100-150 USD and are able to run CyanogenMOD on them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Tablets&lt;/em&gt;&lt;strong&gt;_&lt;/strong&gt; _&lt;img class=&#34;alignright&#34; title=&#34;nook&#34; alt=&#34;&#34; src=&#34;https://docs.google.com/document/pubimage?id=1XRbMDFnRQYLGhVMVoc-TbE0M2goB2FZ2mr-Ml8_z_KY&amp;image_id=1HQoRKDXuEOBtX3QYoKcKkePHj6ISMA&#34; width=&#34;186&#34; height=&#34;274&#34; /&gt;&lt;em&gt;**&lt;/em&gt;**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nexus 7 is the gold standard for affordable, but powerful.&lt;/li&gt;
&lt;li&gt;Kindle Fires provide good value for price and are easy to root and rom.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;_&lt;/strong&gt; __**&lt;br /&gt;
_ Other Root Friendly Devices&lt;br /&gt;
**&lt;/p&gt;

&lt;p&gt;The folks over at Unrevoked have a very cool &amp;lsquo;Root Friendly&amp;rsquo; list that provides great detail on a whole range of Android devices: &lt;a href=&#34;http://unrevoked.com/rootwiki/doku.php/public/root_friendly&#34;&gt;Root Friendly List&lt;/a&gt;. You can also review the &lt;a href=&#34;http://www.cyanogenmod.com/devices&#34;&gt;CyanogenMod Supported Devices&lt;/a&gt; page for a good overview of the handsets that best support custom, after-market tweaking.&lt;/p&gt;

&lt;p&gt;For step-by-step information on how to root, please check out and contribute to our &amp;ldquo;Device Rooting Guide&amp;rdquo; on the &lt;a href=&#34;https://guardianproject.info/wiki/Device_Rooting_Guides&#34;&gt;Guardian Project Wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where to Buy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The explosion of Android devices in the market has resulted in a number of secondary electronics markets. Aside from the usual options like eBay and Craigslist, we&amp;rsquo;ve found that it&amp;rsquo;s often easy to get our hands on a good-as-new handset from any of the below vendors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://swappa.com/&#34;&gt;Swappa Android marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mobilecityonline.com/wireless/store/android_phones.asp&#34;&gt;Mobile City (New York)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://jandr.com&#34;&gt;J&amp;amp;R (New York)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div&gt;
  &lt;em&gt;&lt;br /&gt; &lt;/em&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;strong&gt;&lt;em&gt;&lt;br /&gt; &lt;/em&gt;&lt;/strong&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>A note on funding and our mention in Wired</title>
      <link>https://guardianproject.info/2011/02/23/a-note-on-funding-and-our-mention-in-wired/</link>
      <pubDate>Wed, 23 Feb 2011 16:50:38 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/02/23/a-note-on-funding-and-our-mention-in-wired/</guid>
      <description>&lt;p&gt;&lt;em&gt;A message from Nathan Freitas, lead developer on Guardian, who has a life long bad habit of being misquoted or selectively quoted, a phenomenon he must now blame on himself, and not the reporters who interview him.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Some of you might have seen a &lt;a href=&#34;http://www.wired.com/dangerroom/2011/02/mobile-tech-activists-wary-of-state-department-cash/&#34;&gt;story on Wired.com&lt;/a&gt; on which I am quoted, regarding the &lt;a href=&#34;http://www.state.gov/e/eeb/cip/netfreedom/index.htm&#34;&gt;US State Department’s “Internet Freedom” agenda&lt;/a&gt;. In particular, I was asked to comment on the entrepreneurial angle they are taking. Overall, I think the article is good in laying out the challenges for activist technology projects to take funding from the Government. I also think the motivations of the State Department’s effort are authentic and there is great potential to benefit the overall health of the Internet.&lt;/p&gt;

&lt;p&gt;However, I just want to clarify this portion:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Nathan Freitas of the Guardian Project, which designs Android-based tools for mobile anonymity, says he’s not going to apply for any of State’s money. “Accounting complexity of process means we’d have to spend 25 percent of it” on an accountant, he says, while praising the idea in theory&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To get to the point, I just wish it had said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;While he is not going to apply direct for any of this round of State’s money, the project has received funding and support from US Gov’t funded organizations in the past.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am not faulting the reporter on accuracy (as they will always just edit down to the most direct statement), and I hope I am not parsing words, but somewhere in my “praising the idea in theory”, I did mention that we had received small grants from US government funded organizations. The last thing I want to do is sound like a hypocrite, and so I decided to write this post to clarify the statement, while also helping shed light on how a project like ours is able to exist and grow. While the work we are doing is &lt;a href=&#34;https://en.wikipedia.org/wiki/Gratis_versus_Libre&#34;&gt;free as in speech, and free as in beer&lt;/a&gt;, paying rent and putting food on the table is definitely NOT free.&lt;/p&gt;

&lt;p&gt;From my participation as a developer on the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor Project&lt;/a&gt; (who is completely transparent with their &lt;a href=&#34;https://www.torproject.org/about/sponsors.html.en&#34;&gt;funding sources here&lt;/a&gt;) and through conversations with other organizations (university research groups, Washington DC-based NGOs), I have been exposed to the significant complexity it takes to receive, process and account for this type of government funding. As mentioned in the article, it is nothing out of order for a government, which should have strong oversight on tax payer dollars, but their approach seems still pretty far from the more dynamic, flexible entrepreneurial-style we are seeing from &lt;a href=&#34;http://www.firstround.com/&#34;&gt;seed and angel round venture capitalists&lt;/a&gt; today or efforts like &lt;a href=&#34;http://ycombinator.com/&#34;&gt;YCombinator&lt;/a&gt; and the &lt;a href=&#34;http://www.newschallenge.org/&#34;&gt;Knight News Challenge&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Guardian at this point is just an &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;open-source project&lt;/a&gt;. We are not a non-profit or a corporation, and are not tied to a university. We exist on the coattails of a variety of other organizations, whose support we greatly benefit from. Based on this, I again just want to clarify that while this project is not applying for “any of State’s money” in this next round of $25 Million, &lt;span style=&#34;text-decoration: underline;&#34;&gt;we have received small grant funding and contract consulting work from groups funded by State department funding&lt;/span&gt;. The type of funding we have received historically are small grants from larger NGOs in the $10-20k range, and most of that money has gone to pay developers. The contract work we do (which is actually done as independent contractors, not through Guardian) includes training activists around the world in our how to secure their communications better, setting up specific hardware/software kits for use by NGOs in the field, and software development work for other organizations that need our expertise. At this point however, the &lt;em&gt;majority&lt;/em&gt; of our relatively small funding comes from private donors and foundations, and not the US Government.&lt;/p&gt;

&lt;p&gt;In the end, these are all new waters for me and the project to navigate. We believe that by keeping all of our &lt;a href=&#34;https://guardianproject.info/code/&#34;&gt;code, designs and communications&lt;/a&gt; completely open to the world for scrutiny, we can help address any concerns over our motivations or the trustworthiness of our software. We hope that by taking funding from a variety of sources and &lt;a href=&#34;https://guardianproject.info/about/partners&#34;&gt;being as transparent about those sources&lt;/a&gt; as we can, we can keep the projects vision and ideals whole.&lt;/p&gt;

&lt;p&gt;Feel free to chime in below with your thoughts. You can also keep an eye on our &lt;a href=&#34;https://guardianproject.info/about/partners/&#34;&gt;partners and funding&lt;/a&gt; page to see who we are working with and how. Finally, if you want to work with us, we are eager to &lt;a href=&#34;https://guardianproject.info/contact/join/&#34;&gt;fund talented developers and designers&lt;/a&gt; to help us build the open-source mobile security apps the world very much needs.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Interviewed CHOMP.FM 007 Podcast</title>
      <link>https://guardianproject.info/2011/02/19/interviewed-chomp.fm-007-podcast/</link>
      <pubDate>Sat, 19 Feb 2011 09:58:04 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/02/19/interviewed-chomp.fm-007-podcast/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://chomp.fm&#34;&gt;CHOMP.FM&lt;/a&gt; is a weekly broadcast on information freedom, internet privacy and cyberculture.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://chomp.fm/img/chomp.gif&#34; alt=&#34;chomp.fm logo&#34; /&gt;&lt;/p&gt;

&lt;p&gt;We were excited to be interviewed and including in the latest episode, &lt;a href=&#34;http://chomp.fm/007/&#34;&gt;CHOMP.FM 007&lt;/a&gt;. Many thanks to Nadim Kobeissi for featuring us in his super-interesting and relevant show.&lt;/p&gt;

&lt;p&gt;You can listen to and &lt;a href=&#34;http://chomp.fm/audio/007.mp3&#34;&gt;download the mp3 directly&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>LUKS: Disk Encryption</title>
      <link>https://guardianproject.info/archive/luks/</link>
      <pubDate>Sat, 19 Feb 2011 09:05:06 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/luks/</guid>
      <description>

&lt;p&gt;If you are looking for the homepage for LUKS, you can find it here: &lt;a href=&#34;https://gitlab.com/cryptsetup/cryptsetup/&#34;&gt;&lt;strong&gt;https://gitlab.com/cryptsetup/cryptsetup/&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are not the creators or maintainers of LUKS. We simply got it working on Android a long, long time ago!&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;LUKS is the standard for Linux hard disk encryption. By providing a standard on-disk-format, it does not only facilitate compatibility among distributions, but also provides secure management of multiple user passwords. In contrast to existing solution, LUKS stores all setup necessary setup information in the partition header, enabling the user to transport or migrate his data seamlessly.&lt;/p&gt;

&lt;p&gt;This project is the port of LUKS to Android. You can find more information on the current status here: &lt;a href=&#34;https://github.com/guardianproject/luks/wiki&#34;&gt;https://github.com/guardianproject/luks/wiki&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-966&#34; title=&#34;luks-logo-cropped&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped.png&#34; alt=&#34;&#34; width=&#34;330&#34; height=&#34;112&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped.png 330w, https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped-300x101.png 300w&#34; sizes=&#34;(max-width: 330px) 100vw, 330px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;design&#34;&gt;Design&lt;/h3&gt;

&lt;p&gt;LUKS was designed according to TKS1, a template design developed in &lt;a href=&#34;https://code.google.com/p/cryptsetup/wiki/TKS1&#34;&gt;TKS1&lt;/a&gt; for secure key setup. LUKS closely reassembles the structure recommended in the TKS1 paper, but also adds meta data for cipher setup management and LUKS also supports for multiple keys/passphrases.&lt;/p&gt;

&lt;h3 id=&#34;a-name-why-luks-a-why-luks&#34;&gt;&lt;a name=&#34;Why_LUKS?&#34;&gt;&lt;/a&gt;Why LUKS?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;compatiblity via standardization,&lt;/li&gt;
&lt;li&gt;secure against low entropy attacks,&lt;/li&gt;
&lt;li&gt;support for multiple keys,&lt;/li&gt;
&lt;li&gt;effective passphrase revocation,&lt;/li&gt;
&lt;li&gt;free&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The original LUKS CryptSetup project is here: &lt;a href=&#34;https://code.google.com/p/cryptsetup/&#34;&gt;https://code.google.com/p/cryptsetup/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>LUKS: Disk Encryption</title>
      <link>https://guardianproject.info/archive/luks/</link>
      <pubDate>Sat, 19 Feb 2011 09:05:06 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/luks/</guid>
      <description>

&lt;p&gt;If you are looking for the homepage for LUKS, you can find it here: &lt;a href=&#34;https://gitlab.com/cryptsetup/cryptsetup/&#34;&gt;&lt;strong&gt;https://gitlab.com/cryptsetup/cryptsetup/&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are not the creators or maintainers of LUKS. We simply got it working on Android a long, long time ago!&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;LUKS is the standard for Linux hard disk encryption. By providing a standard on-disk-format, it does not only facilitate compatibility among distributions, but also provides secure management of multiple user passwords. In contrast to existing solution, LUKS stores all setup necessary setup information in the partition header, enabling the user to transport or migrate his data seamlessly.&lt;/p&gt;

&lt;p&gt;This project is the port of LUKS to Android. You can find more information on the current status here: &lt;a href=&#34;https://github.com/guardianproject/luks/wiki&#34;&gt;https://github.com/guardianproject/luks/wiki&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-966&#34; title=&#34;luks-logo-cropped&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped.png&#34; alt=&#34;&#34; width=&#34;330&#34; height=&#34;112&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped.png 330w, https://guardianproject.info/wp-content/uploads/2011/02/luks-logo-cropped-300x101.png 300w&#34; sizes=&#34;(max-width: 330px) 100vw, 330px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;design&#34;&gt;Design&lt;/h3&gt;

&lt;p&gt;LUKS was designed according to TKS1, a template design developed in &lt;a href=&#34;https://code.google.com/p/cryptsetup/wiki/TKS1&#34;&gt;TKS1&lt;/a&gt; for secure key setup. LUKS closely reassembles the structure recommended in the TKS1 paper, but also adds meta data for cipher setup management and LUKS also supports for multiple keys/passphrases.&lt;/p&gt;

&lt;h3 id=&#34;a-name-why-luks-a-why-luks&#34;&gt;&lt;a name=&#34;Why_LUKS?&#34;&gt;&lt;/a&gt;Why LUKS?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;compatiblity via standardization,&lt;/li&gt;
&lt;li&gt;secure against low entropy attacks,&lt;/li&gt;
&lt;li&gt;support for multiple keys,&lt;/li&gt;
&lt;li&gt;effective passphrase revocation,&lt;/li&gt;
&lt;li&gt;free&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The original LUKS CryptSetup project is here: &lt;a href=&#34;https://code.google.com/p/cryptsetup/&#34;&gt;https://code.google.com/p/cryptsetup/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SQLCipher: Encrypted Database</title>
      <link>https://guardianproject.info/code/sqlcipher/</link>
      <pubDate>Sat, 19 Feb 2011 08:27:13 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/sqlcipher/</guid>
      <description>

&lt;p&gt;&lt;img class=&#34;alignnone size-medium wp-image-1329&#34; title=&#34;logo-sqlcipher-android&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-android-300x50.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;50&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-android-300x50.png 300w, https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-android.png 522w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;div class=&#34;source-code&#34; style=&#34;width: 30%; margin: 0 auto;&#34;&gt;
  &lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher&#34; target=&#34;_blank&#34; title=&#34;SQLCipher for Android&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://guardianproject.info/tags/sqlcipher&#34; target=&#34;_blank&#34; title=&#34;SQLCipher blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;&lt;/p&gt;

&lt;p&gt;In an environment where mobile data privacy is increasingly &lt;a href=&#34;https://www.reuters.com/article/2011/05/08/us-privacy-congress-idUSTRE7471SA20110508&#34;&gt;in the headlines&lt;/a&gt;, this project will make it easier than ever for mobile developers to properly secure their local application data, and in turn better protect the privacy of their users. The data stored by Android apps protected by this type of encryption will be less vulnerable to access by malicious apps, protected in case of device loss or theft, and highly resistant to &lt;a href=&#34;https://www.cellebrite.com/&#34;&gt;mobile data forensics tools&lt;/a&gt; that are increasingly used to mass copy a mobile device during &lt;a href=&#34;https://www.thenewspaper.com/news/34/3458.asp&#34;&gt;routine traffic stops&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;SQLCipher is a &lt;a href=&#34;https://sqlite.org/&#34;&gt;SQLite&lt;/a&gt; extension that provides transparent 256-bit AES encryption of database files. To date, it has been open-sourced, sponsored and maintained by &lt;a href=&#34;https://zetetic.net/&#34;&gt;Zetetic LLC&lt;/a&gt;. In the mobile space, SQLCipher has enjoyed widespread use in Apple’s &lt;a href=&#34;https://www.zetetic.net/sqlcipher/documentation/ios.html&#34;&gt;iOS&lt;/a&gt;, as well as &lt;a href=&#34;https://www.qtcentre.org/wiki/index.php?title=Building_QSQLITE_driver_with_AES-256_encryption_support&#34;&gt;Nokia / QT&lt;/a&gt; for quite some time. Given that Android &lt;a href=&#34;https://developer.android.com/guide/topics/data/data-storage.html#db&#34;&gt;by default&lt;/a&gt; provides integrated support for SQLite databases, our goal was to create an almost identical API for SQLCipher, so that developers of all skill level could use it, without a steep learning curve.&lt;/p&gt;

&lt;h2 id=&#34;learn-more-and-download&#34;&gt;Learn More and Download&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;SQLCipher for Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;source: &lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher&#34;&gt;https://github.com/sqlcipher/android-database-sqlcipher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;an-illustrative-terminal-listing&#34;&gt;An Illustrative Terminal Listing&lt;/h3&gt;

&lt;p&gt;A typical SQLite database in unencrypted, and visually parseable even as encoded text. The following example shows the difference between hexdumps of a standard SQLite db and one implementing SQLCipher.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;~ sjlombardo$ hexdump -C sqlite.db&lt;br /&gt;
00000000 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 |SQLite format 3.|&lt;br /&gt;
&amp;hellip;&lt;br /&gt;
000003c0 65 74 32 74 32 03 43 52 45 41 54 45 20 54 41 42 |et2t2.CREATE TAB|&lt;br /&gt;
000003d0 4c 45 20 74 32 28 61 2c 62 29 24 01 06 17 11 11 |LE t2(a,b)$&amp;hellip;..|&lt;br /&gt;
&amp;hellip;&lt;br /&gt;
000007e0 20 74 68 65 20 73 68 6f 77 15 01 03 01 2f 01 6f | the show&amp;hellip;./.o|&lt;br /&gt;
000007f0 6e 65 20 66 6f 72 20 74 68 65 20 6d 6f 6e 65 79 |ne for the money|&lt;/p&gt;

&lt;p&gt;~ $ sqlite3 sqlcipher.db&lt;br /&gt;
sqlite&amp;gt; PRAGMA KEY=&amp;lsquo;test123&amp;rsquo;;&lt;br /&gt;
sqlite&amp;gt; CREATE TABLE t1(a,b);&lt;br /&gt;
sqlite&amp;gt; INSERT INTO t1(a,b) VALUES (&amp;lsquo;one for the money&amp;rsquo;, &amp;lsquo;two for the show&amp;rsquo;);&lt;br /&gt;
sqlite&amp;gt; .quit&lt;/p&gt;

&lt;p&gt;~ $ hexdump -C sqlite.db&lt;br /&gt;
00000000 84 d1 36 18 eb b5 82 90 c4 70 0d ee 43 cb 61 87 |.?6.?..?p.?C?a.|&lt;br /&gt;
00000010 91 42 3c cd 55 24 ab c6 c4 1d c6 67 b4 e3 96 bb |.B&lt;!--?U$???.?g??.?| ... 00000be0  dc 77 5c 6c de c6 d3 be  43 49 48 3e f3 02 94 a9  |?w\l??ӾCIH--&gt;?..?|&lt;/p&gt;

&lt;p&gt;00000bf0 8e 99 ee 28 23 43 ab a4 97 cd 63 42 8a 8e 7c c6 |..?(#C??.?cB..|?|&lt;/p&gt;

&lt;p&gt;~ $ sqlite3 sqlcipher.db&lt;br /&gt;
sqlite&amp;gt; SELECT * FROM t1;&lt;br /&gt;
Error: file is encrypted or is not a database&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(example courtesy of &lt;a href=&#34;https://www.zetetic.net/sqlcipher/design&#34;&gt;SQLCipher&lt;/a&gt;)&lt;/p&gt;

&lt;h4 id=&#34;details-for-developers&#34;&gt;Details for Developers&lt;/h4&gt;

&lt;p&gt;We&amp;rsquo;ve packaged up a very simple SDK for any Android developer to add SQLCipher into their app with the following three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a single sqlcipher.jar and a few .so&amp;rsquo;s to the application libs directory&lt;/li&gt;
&lt;li&gt;Update the import path from &lt;em&gt;android.database.sqlite.*&lt;/em&gt; to &lt;em&gt;info.guardianproject.database.sqlite.*&lt;/em&gt; in any source files that reference it. The original android.database.Cursor can still be used unchanged.&lt;/li&gt;
&lt;li&gt;Init the database in onCreate() and pass a variable argument to the open database method with a password*:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;SQLiteDatabase.loadLibs(this); //first init the db libraries with the context&lt;/li&gt;
&lt;li&gt;SQLiteOpenHelper.getWritableDatabase(“thisismysecret”):&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;*&lt;strong&gt;Note:&lt;/strong&gt; we are working on some dialog builder helper methods for password and PIN input, password caching, and other features that we would like to standardize across all applications that use SQLCipher.&lt;/p&gt;

&lt;h4 id=&#34;compatibility&#34;&gt;Compatibility&lt;/h4&gt;

&lt;p&gt;The Developer Preview implements SQLCipher v1, is compatible with Android 2.2 &amp;amp; 2.3, and works only within one process (you can&amp;rsquo;t pass a Cursor from a remote Service to an Activity).&lt;/p&gt;

&lt;h4 id=&#34;notepad-sqlcipher-notepadbot&#34;&gt;Notepad + SQLCipher = Notepadbot&lt;/h4&gt;

&lt;p&gt;Notepadbot is a sample application pulled from the standard Android samples code and updated to use SQLCipher. You can browse the source &lt;a href=&#34;https://github.com/guardianproject/notepadbot&#34;&gt;here&lt;/a&gt; and download the apk &lt;a href=&#34;https://github.com/guardianproject/notepadbot/Notepadbot-0.0.1c-dev.apk/qr_code&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/05/prompt.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;&lt;img class=&#34;alignnone&#34; title=&#34;successful authentication&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/05/notes.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;
&lt;/p&gt;

&lt;h4 id=&#34;final-notes&#34;&gt;Final Notes&lt;/h4&gt;

&lt;p&gt;It&amp;rsquo;s important to note that this project is not intended to be a distinct, long-term fork of SQLCipher. We&amp;rsquo;ve been working closely with the SQLCipher team at &lt;a href=&#34;https://zetetic.net/&#34;&gt;Zetetic&lt;/a&gt; and fully intent to closely maintain the project as SQLCipher evolves, re-integrating changes in upcoming releases such as &lt;a href=&#34;https://github.com/sjlombardo/sqlcipher/tree/v2beta&#34;&gt;SQLCipher v2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Android support libraries are licensed under &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/LICENSE&#34;&gt;Apache 2.0&lt;/a&gt;, in line with the Android OS code on which they are based. The SQLCipher code itself is licensed under a &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/SQLCIPHER_LICENSE&#34;&gt;BSD-style license from Zetetic LLC.&lt;/a&gt; Finally, the original SQLite code itself is in the &lt;a href=&#34;https://www.sqlite.org/copyright.html&#34;&gt;public domain&lt;/a&gt;.&lt;/p&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>SQLCipher: Encrypted Database</title>
      <link>https://guardianproject.info/code/sqlcipher/</link>
      <pubDate>Sat, 19 Feb 2011 08:27:13 -0400</pubDate>
      
      <guid>https://guardianproject.info/code/sqlcipher/</guid>
      <description>

&lt;p&gt;&lt;img class=&#34;alignnone size-medium wp-image-1329&#34; title=&#34;logo-sqlcipher-android&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-android-300x50.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;50&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-android-300x50.png 300w, https://guardianproject.info/wp-content/uploads/2011/02/logo-sqlcipher-android.png 522w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;div class=&#34;source-code&#34; style=&#34;width: 30%; margin: 0 auto;&#34;&gt;
  &lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher&#34; target=&#34;_blank&#34; title=&#34;SQLCipher for Android&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://guardianproject.info/tags/sqlcipher&#34; target=&#34;_blank&#34; title=&#34;SQLCipher blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;&lt;/p&gt;

&lt;p&gt;In an environment where mobile data privacy is increasingly &lt;a href=&#34;https://www.reuters.com/article/2011/05/08/us-privacy-congress-idUSTRE7471SA20110508&#34;&gt;in the headlines&lt;/a&gt;, this project will make it easier than ever for mobile developers to properly secure their local application data, and in turn better protect the privacy of their users. The data stored by Android apps protected by this type of encryption will be less vulnerable to access by malicious apps, protected in case of device loss or theft, and highly resistant to &lt;a href=&#34;https://www.cellebrite.com/&#34;&gt;mobile data forensics tools&lt;/a&gt; that are increasingly used to mass copy a mobile device during &lt;a href=&#34;https://www.thenewspaper.com/news/34/3458.asp&#34;&gt;routine traffic stops&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;SQLCipher is a &lt;a href=&#34;https://sqlite.org/&#34;&gt;SQLite&lt;/a&gt; extension that provides transparent 256-bit AES encryption of database files. To date, it has been open-sourced, sponsored and maintained by &lt;a href=&#34;https://zetetic.net/&#34;&gt;Zetetic LLC&lt;/a&gt;. In the mobile space, SQLCipher has enjoyed widespread use in Apple’s &lt;a href=&#34;https://www.zetetic.net/sqlcipher/documentation/ios.html&#34;&gt;iOS&lt;/a&gt;, as well as &lt;a href=&#34;https://www.qtcentre.org/wiki/index.php?title=Building_QSQLITE_driver_with_AES-256_encryption_support&#34;&gt;Nokia / QT&lt;/a&gt; for quite some time. Given that Android &lt;a href=&#34;https://developer.android.com/guide/topics/data/data-storage.html#db&#34;&gt;by default&lt;/a&gt; provides integrated support for SQLite databases, our goal was to create an almost identical API for SQLCipher, so that developers of all skill level could use it, without a steep learning curve.&lt;/p&gt;

&lt;h2 id=&#34;learn-more-and-download&#34;&gt;Learn More and Download&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.zetetic.net/sqlcipher/sqlcipher-for-android/&#34;&gt;SQLCipher for Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;source: &lt;a href=&#34;https://github.com/sqlcipher/android-database-sqlcipher&#34;&gt;https://github.com/sqlcipher/android-database-sqlcipher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;an-illustrative-terminal-listing&#34;&gt;An Illustrative Terminal Listing&lt;/h3&gt;

&lt;p&gt;A typical SQLite database in unencrypted, and visually parseable even as encoded text. The following example shows the difference between hexdumps of a standard SQLite db and one implementing SQLCipher.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;~ sjlombardo$ hexdump -C sqlite.db&lt;br /&gt;
00000000 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 |SQLite format 3.|&lt;br /&gt;
&amp;hellip;&lt;br /&gt;
000003c0 65 74 32 74 32 03 43 52 45 41 54 45 20 54 41 42 |et2t2.CREATE TAB|&lt;br /&gt;
000003d0 4c 45 20 74 32 28 61 2c 62 29 24 01 06 17 11 11 |LE t2(a,b)$&amp;hellip;..|&lt;br /&gt;
&amp;hellip;&lt;br /&gt;
000007e0 20 74 68 65 20 73 68 6f 77 15 01 03 01 2f 01 6f | the show&amp;hellip;./.o|&lt;br /&gt;
000007f0 6e 65 20 66 6f 72 20 74 68 65 20 6d 6f 6e 65 79 |ne for the money|&lt;/p&gt;

&lt;p&gt;~ $ sqlite3 sqlcipher.db&lt;br /&gt;
sqlite&amp;gt; PRAGMA KEY=&amp;lsquo;test123&amp;rsquo;;&lt;br /&gt;
sqlite&amp;gt; CREATE TABLE t1(a,b);&lt;br /&gt;
sqlite&amp;gt; INSERT INTO t1(a,b) VALUES (&amp;lsquo;one for the money&amp;rsquo;, &amp;lsquo;two for the show&amp;rsquo;);&lt;br /&gt;
sqlite&amp;gt; .quit&lt;/p&gt;

&lt;p&gt;~ $ hexdump -C sqlite.db&lt;br /&gt;
00000000 84 d1 36 18 eb b5 82 90 c4 70 0d ee 43 cb 61 87 |.?6.?..?p.?C?a.|&lt;br /&gt;
00000010 91 42 3c cd 55 24 ab c6 c4 1d c6 67 b4 e3 96 bb |.B&lt;!--?U$???.?g??.?| ... 00000be0  dc 77 5c 6c de c6 d3 be  43 49 48 3e f3 02 94 a9  |?w\l??ӾCIH--&gt;?..?|&lt;/p&gt;

&lt;p&gt;00000bf0 8e 99 ee 28 23 43 ab a4 97 cd 63 42 8a 8e 7c c6 |..?(#C??.?cB..|?|&lt;/p&gt;

&lt;p&gt;~ $ sqlite3 sqlcipher.db&lt;br /&gt;
sqlite&amp;gt; SELECT * FROM t1;&lt;br /&gt;
Error: file is encrypted or is not a database&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(example courtesy of &lt;a href=&#34;https://www.zetetic.net/sqlcipher/design&#34;&gt;SQLCipher&lt;/a&gt;)&lt;/p&gt;

&lt;h4 id=&#34;details-for-developers&#34;&gt;Details for Developers&lt;/h4&gt;

&lt;p&gt;We&amp;rsquo;ve packaged up a very simple SDK for any Android developer to add SQLCipher into their app with the following three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a single sqlcipher.jar and a few .so&amp;rsquo;s to the application libs directory&lt;/li&gt;
&lt;li&gt;Update the import path from &lt;em&gt;android.database.sqlite.*&lt;/em&gt; to &lt;em&gt;info.guardianproject.database.sqlite.*&lt;/em&gt; in any source files that reference it. The original android.database.Cursor can still be used unchanged.&lt;/li&gt;
&lt;li&gt;Init the database in onCreate() and pass a variable argument to the open database method with a password*:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;SQLiteDatabase.loadLibs(this); //first init the db libraries with the context&lt;/li&gt;
&lt;li&gt;SQLiteOpenHelper.getWritableDatabase(“thisismysecret”):&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;*&lt;strong&gt;Note:&lt;/strong&gt; we are working on some dialog builder helper methods for password and PIN input, password caching, and other features that we would like to standardize across all applications that use SQLCipher.&lt;/p&gt;

&lt;h4 id=&#34;compatibility&#34;&gt;Compatibility&lt;/h4&gt;

&lt;p&gt;The Developer Preview implements SQLCipher v1, is compatible with Android 2.2 &amp;amp; 2.3, and works only within one process (you can&amp;rsquo;t pass a Cursor from a remote Service to an Activity).&lt;/p&gt;

&lt;h4 id=&#34;notepad-sqlcipher-notepadbot&#34;&gt;Notepad + SQLCipher = Notepadbot&lt;/h4&gt;

&lt;p&gt;Notepadbot is a sample application pulled from the standard Android samples code and updated to use SQLCipher. You can browse the source &lt;a href=&#34;https://github.com/guardianproject/notepadbot&#34;&gt;here&lt;/a&gt; and download the apk &lt;a href=&#34;https://github.com/guardianproject/notepadbot/Notepadbot-0.0.1c-dev.apk/qr_code&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/05/prompt.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;&lt;img class=&#34;alignnone&#34; title=&#34;successful authentication&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2011/05/notes.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;
&lt;/p&gt;

&lt;h4 id=&#34;final-notes&#34;&gt;Final Notes&lt;/h4&gt;

&lt;p&gt;It&amp;rsquo;s important to note that this project is not intended to be a distinct, long-term fork of SQLCipher. We&amp;rsquo;ve been working closely with the SQLCipher team at &lt;a href=&#34;https://zetetic.net/&#34;&gt;Zetetic&lt;/a&gt; and fully intent to closely maintain the project as SQLCipher evolves, re-integrating changes in upcoming releases such as &lt;a href=&#34;https://github.com/sjlombardo/sqlcipher/tree/v2beta&#34;&gt;SQLCipher v2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Android support libraries are licensed under &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/LICENSE&#34;&gt;Apache 2.0&lt;/a&gt;, in line with the Android OS code on which they are based. The SQLCipher code itself is licensed under a &lt;a href=&#34;https://github.com/guardianproject/android-database-sqlcipher/blob/master/SQLCIPHER_LICENSE&#34;&gt;BSD-style license from Zetetic LLC.&lt;/a&gt; Finally, the original SQLite code itself is in the &lt;a href=&#34;https://www.sqlite.org/copyright.html&#34;&gt;public domain&lt;/a&gt;.&lt;/p&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>Stickers!</title>
      <link>https://guardianproject.info/2011/02/17/stickers/</link>
      <pubDate>Thu, 17 Feb 2011 13:44:05 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/02/17/stickers/</guid>
      <description>&lt;p&gt;If you see us in person, make sure to ask for one. Otherwise, if you really, really want some, we can mail them to you. Just fill out our “contact” form with your address, and we’ll do our best to pop a few in this thing called an envelope and they should get there in a week(!).&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2011/02/stickers.jpg&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2011/02/stickers.jpg&#34; alt=&#34;&#34; title=&#34;stickers&#34; width=&#34;451&#34; height=&#34;600&#34; class=&#34;alignleft size-full wp-image-631&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2011/02/stickers.jpg 451w, https://guardianproject.info/wp-content/uploads/2011/02/stickers-225x300.jpg 225w&#34; sizes=&#34;(max-width: 451px) 100vw, 451px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Create an encrypted file system on Android with LUKS</title>
      <link>https://guardianproject.info/2011/02/02/create-an-encrypted-file-system-on-android-with-luks/</link>
      <pubDate>Wed, 02 Feb 2011 23:29:15 -0400</pubDate>
      
      <guid>https://guardianproject.info/2011/02/02/create-an-encrypted-file-system-on-android-with-luks/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://code.google.com/p/cryptsetup/&#34;&gt;LUKS&lt;/a&gt; is the standard for Linux hard disk encryption. By providing a standard on-disk-format, it not only facilitates compatibility among distributions, but also provides secure management of multiple user passwords.&lt;/p&gt;

&lt;p&gt;Building off the work from other &lt;a href=&#34;https://androidvoid.wordpress.com/2009/09/30/android-encryption-using-cryptsetup-and-luks/&#34;&gt;great&lt;/a&gt; &lt;a href=&#34;http://forum.xda-developers.com/showthread.php?t=866131&#34;&gt;sources&lt;/a&gt;, the Guardian Project hack team decided to take a crack at porting LUKS to Android recently, with the goal of creating a proof of concept build process that can be easily adapted to future projects.&lt;/p&gt;

&lt;p&gt;On our stock Guardian hardware (rooted NexusOne running &lt;a href=&#34;http://www.cyanogenmod.com/&#34;&gt;CyanogenMod&lt;/a&gt;) we were able to create a 50MB “secretagentman.mp3” file on the device sdcard to store our encrypted filesystem. We think the possibilities for enhanced privacy here are great: to the average phone snooper, this would appear as just another harmless media file on your device storage!&lt;/p&gt;

&lt;p&gt;You can give it a shot by following the instructions over at the project &lt;a href=&#34;https://github.com/guardianproject/LUKS/wiki&#34;&gt;wiki&lt;/a&gt;. Note that the build process requires setting up the &lt;a href=&#34;http://developer.android.com/sdk/ndk/index.html&#34;&gt;Android NDK&lt;/a&gt; on your machine, and the current setup process must be done through adb shell or terminal, requiring root permissions. Work on a GUI is just getting started.&lt;/p&gt;

&lt;p&gt;As usual we encourage those wishing to get involved to check out our projects on &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;Git&lt;/a&gt;, &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;get in touch&lt;/a&gt; with us, and join us on IRC at #guardianproject on &lt;a href=&#34;http://freenode.net/irc_servers.shtml&#34;&gt;freenode&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Firefox Mobile: Privacy Enhanced</title>
      <link>https://guardianproject.info/archive/firefoxprivacy/</link>
      <pubDate>Mon, 15 Nov 2010 13:48:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/firefoxprivacy/</guid>
      <description>

&lt;!--:--&gt;

&lt;!--:en--&gt;

&lt;p&gt;&lt;strong&gt;Fall 2016: We no longer promote the user of Firefox with add-ons, as the solution can be insecure still and easily misconfigured.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please use our new &lt;a href=&#34;https://guardianproject.info/apps/orfox/&#34;&gt;Orfox browser for Android&lt;/a&gt;, based on Tor Browser.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;!--:de--&gt;The latest releases of&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox on Android&lt;/a&gt; are proving to be very usable, stable and an increasingly viable alternative to the built-in webkit browser. However, it unfortunately lacks the ability to manually configure proxy settings through any sort of standard user interface. This is a common problem for Android, which also lacks the ability to set browser or system-wide proxy settings. To solve this problem, we have created a very simple Firefox add-on &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/?browse=featured&#34;&gt;Proxy Mobile&lt;/a&gt; that exposes the Firefox browser&amp;rsquo;s proxy settings through a simple, graphical options menu.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/proxymob.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/proxymob-180x300.png&#34; alt=&#34;proxymob&#34; width=&#34;126&#34; height=&#34;211&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means any user can easily set the HTTP and SOCKS proxy settings for Firefox, enabling access to web browsing on networks which require a proxy to access the web. This also means that users can connect Firefox to Orbot on Android devices and browse the web using the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network &lt;/a&gt;or any other HTTP or SOCKS proxy.&lt;/p&gt;

&lt;h3 id=&#34;span-style-color-aa0000-simply-proxying-through-tor-is-not-the-same-as-the-full-a-href-https-www-torproject-org-projects-torbrowser-html-en-torbrowser-feature-set-a-and-does-not-provide-any-strong-anonymity-protections-against-directed-attacks-span&#34;&gt;&lt;span style=&#34;color: #aa0000;&#34;&gt;Simply proxying through Tor is not the same as the full &lt;a href=&#34;https://www.torproject.org/projects/torbrowser.html.en&#34;&gt;TorBrowser feature set&lt;/a&gt;, and does not provide any strong anonymity protections against directed attacks. &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;That said, there are many things you can do to configure Firefox for Android to be more privacy-preserving and secure.&lt;/p&gt;

&lt;p&gt;First, you will need to get Firefox for Android:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34; rel=&#34;nofollow&#34;&gt;Install Firefox from the Google Play Store&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;or go to &lt;strong&gt;&lt;a href=&#34;https://firefox.com/m&#34; rel=&#34;nofollow&#34;&gt;firefox.com/m&lt;/a&gt;&lt;/strong&gt; in your phone&amp;rsquo;s web browser.&lt;/li&gt;
&lt;li&gt;or download the Firefox APK file &lt;strong&gt;&lt;a href=&#34;https://ftp.mozilla.org/pub/mozilla.org/mobile/releases/latest/android/multi/&#34; rel=&#34;nofollow&#34;&gt;directly from the Mozilla FTP server&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then follow the 10 steps below to enhance your mobile web privacy!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;a href=&#34;https://support.mozilla.org/en-US/kb/mobile-private-browsing-browse-web-without-saving-syncing-info&#34;&gt;Mobile Private Browsing&lt;/a&gt; which &amp;ldquo;&lt;strong&gt;allows you to browse the internet without saving any information about which sites and pages you&amp;rsquo;ve visited&amp;rdquo;.&lt;/strong&gt; Learn more in this &lt;a href=&#34;https://support.mozilla.org/en-US/kb/mobile-private-browsing-browse-web-without-saving-syncing-info&#34;&gt;detailed article&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Use the &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/phony/?src=hp-dl-featured&#34;&gt;Phony Add-on&lt;/a&gt; to change your user-agent, to impersonate a different mobile device or browser. &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/phony/?src=hp-dl-featured&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use the &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/cleanquit/&#34;&gt;Clean Quit Add-on&lt;/a&gt; to ensure your browsing history, cookies and other data are deleted when you want them to be. &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/cleanquit/&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use the &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/self-destructing-cookies/&#34;&gt;Self-Destructing Cookies Add-on&lt;/a&gt; to only keep cookies around as long as you need them. &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/self-destructing-cookies/&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In Firefox Settings, set &amp;ldquo;Plugins&amp;rdquo; to &amp;ldquo;Disabled&amp;rdquo; under the Content section.&lt;/li&gt;
&lt;li&gt;Under &amp;ldquo;Privacy &amp;amp; Security&amp;rdquo;, set Cookies to &amp;ldquo;Enabled, excluding 3rd Party&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Also under &amp;rdquo;Privacy &amp;amp; Security&amp;rdquo;, set Tracking to &amp;ldquo;Tell sites that I do not want to be tracked&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;If you want the browser to remember your passwords, make sure to &amp;ldquo;Use master password&amp;rdquo; to secure them.&lt;/li&gt;
&lt;li&gt;Switch your search engine to &lt;a href=&#34;https://addons.mozilla.org/en-us/firefox/addon/duckduckgo-for-firefox/&#34;&gt;DuckDuckGo&lt;/a&gt; (a search engine that does not track) using their SSL mode search add-on. &lt;a href=&#34;https://addons.mozilla.org/en-us/firefox/addon/duckduckgo-for-firefox/&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Obviously, if you haven&amp;rsquo;t done so, already, install ProxyMob to proxy your traffic through Tor, protecting it from logging, interception and targeting. &lt;a href=&#34;https://guardianproject.info/downloads/proxymob.xpi&#34;&gt;INSTALL ADD-ON&lt;/a&gt;. It requires that Tor is already running, so make sure to get &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot: Tor for Android&lt;/a&gt; and turn it on. ProxyMob will have all of the settings configured automagically. To test that it&amp;rsquo;s working, goto &lt;a href=&#34;http://check.torproject.org/&#34; target=&#34;_blank&#34;&gt;check.torproject.org&lt;/a&gt; and look for the congratulations message saying that it&amp;rsquo;s configured properly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/privatebrowsing.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/privatebrowsing-180x300.png&#34; alt=&#34;privatebrowsing&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt;  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/phony.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/phony-180x300.png&#34; alt=&#34;phony&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt; &lt;img class=&#34;wp-image-11589 alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies-180x300.png&#34; alt=&#34;selfdestructingcookies&#34; width=&#34;126&#34; height=&#34;210&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies-614x1024.png 614w, https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies.png 768w&#34; sizes=&#34;(max-width: 126px) 100vw, 126px&#34; /&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/duckduckgo.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/duckduckgo-180x300.png&#34; alt=&#34;duckduckgo&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/cleanquit.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/cleanquit-180x300.png&#34; alt=&#34;cleanquit&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h3 id=&#34;how-to-contribute-alignnone&#34;&gt;How to Contribute {.alignnone}&lt;/h3&gt;

&lt;p&gt;As with all of our work, this is open-source, and we encourage you to contribute to and improve upon what we&amp;rsquo;ve done via our Github project: &lt;a href=&#34;https://github.com/guardianproject/ProxyMob&#34;&gt;https://github.com/guardianproject/ProxyMob&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Firefox Mobile: Privacy Enhanced</title>
      <link>https://guardianproject.info/archive/firefoxprivacy/</link>
      <pubDate>Mon, 15 Nov 2010 13:48:35 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/firefoxprivacy/</guid>
      <description>

&lt;!--:--&gt;

&lt;!--:en--&gt;

&lt;p&gt;&lt;strong&gt;Fall 2016: We no longer promote the user of Firefox with add-ons, as the solution can be insecure still and easily misconfigured.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please use our new &lt;a href=&#34;https://guardianproject.info/apps/orfox/&#34;&gt;Orfox browser for Android&lt;/a&gt;, based on Tor Browser.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;!--:de--&gt;The latest releases of&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox on Android&lt;/a&gt; are proving to be very usable, stable and an increasingly viable alternative to the built-in webkit browser. However, it unfortunately lacks the ability to manually configure proxy settings through any sort of standard user interface. This is a common problem for Android, which also lacks the ability to set browser or system-wide proxy settings. To solve this problem, we have created a very simple Firefox add-on &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/?browse=featured&#34;&gt;Proxy Mobile&lt;/a&gt; that exposes the Firefox browser&amp;rsquo;s proxy settings through a simple, graphical options menu.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/proxymob.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/proxymob-180x300.png&#34; alt=&#34;proxymob&#34; width=&#34;126&#34; height=&#34;211&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means any user can easily set the HTTP and SOCKS proxy settings for Firefox, enabling access to web browsing on networks which require a proxy to access the web. This also means that users can connect Firefox to Orbot on Android devices and browse the web using the &lt;a href=&#34;https://torproject.org&#34;&gt;Tor network &lt;/a&gt;or any other HTTP or SOCKS proxy.&lt;/p&gt;

&lt;h3 id=&#34;span-style-color-aa0000-simply-proxying-through-tor-is-not-the-same-as-the-full-a-href-https-www-torproject-org-projects-torbrowser-html-en-torbrowser-feature-set-a-and-does-not-provide-any-strong-anonymity-protections-against-directed-attacks-span&#34;&gt;&lt;span style=&#34;color: #aa0000;&#34;&gt;Simply proxying through Tor is not the same as the full &lt;a href=&#34;https://www.torproject.org/projects/torbrowser.html.en&#34;&gt;TorBrowser feature set&lt;/a&gt;, and does not provide any strong anonymity protections against directed attacks. &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;That said, there are many things you can do to configure Firefox for Android to be more privacy-preserving and secure.&lt;/p&gt;

&lt;p&gt;First, you will need to get Firefox for Android:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34; rel=&#34;nofollow&#34;&gt;Install Firefox from the Google Play Store&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;or go to &lt;strong&gt;&lt;a href=&#34;https://firefox.com/m&#34; rel=&#34;nofollow&#34;&gt;firefox.com/m&lt;/a&gt;&lt;/strong&gt; in your phone&amp;rsquo;s web browser.&lt;/li&gt;
&lt;li&gt;or download the Firefox APK file &lt;strong&gt;&lt;a href=&#34;https://ftp.mozilla.org/pub/mozilla.org/mobile/releases/latest/android/multi/&#34; rel=&#34;nofollow&#34;&gt;directly from the Mozilla FTP server&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then follow the 10 steps below to enhance your mobile web privacy!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;a href=&#34;https://support.mozilla.org/en-US/kb/mobile-private-browsing-browse-web-without-saving-syncing-info&#34;&gt;Mobile Private Browsing&lt;/a&gt; which &amp;ldquo;&lt;strong&gt;allows you to browse the internet without saving any information about which sites and pages you&amp;rsquo;ve visited&amp;rdquo;.&lt;/strong&gt; Learn more in this &lt;a href=&#34;https://support.mozilla.org/en-US/kb/mobile-private-browsing-browse-web-without-saving-syncing-info&#34;&gt;detailed article&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Use the &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/phony/?src=hp-dl-featured&#34;&gt;Phony Add-on&lt;/a&gt; to change your user-agent, to impersonate a different mobile device or browser. &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/phony/?src=hp-dl-featured&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use the &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/cleanquit/&#34;&gt;Clean Quit Add-on&lt;/a&gt; to ensure your browsing history, cookies and other data are deleted when you want them to be. &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/cleanquit/&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use the &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/self-destructing-cookies/&#34;&gt;Self-Destructing Cookies Add-on&lt;/a&gt; to only keep cookies around as long as you need them. &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/self-destructing-cookies/&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In Firefox Settings, set &amp;ldquo;Plugins&amp;rdquo; to &amp;ldquo;Disabled&amp;rdquo; under the Content section.&lt;/li&gt;
&lt;li&gt;Under &amp;ldquo;Privacy &amp;amp; Security&amp;rdquo;, set Cookies to &amp;ldquo;Enabled, excluding 3rd Party&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Also under &amp;rdquo;Privacy &amp;amp; Security&amp;rdquo;, set Tracking to &amp;ldquo;Tell sites that I do not want to be tracked&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;If you want the browser to remember your passwords, make sure to &amp;ldquo;Use master password&amp;rdquo; to secure them.&lt;/li&gt;
&lt;li&gt;Switch your search engine to &lt;a href=&#34;https://addons.mozilla.org/en-us/firefox/addon/duckduckgo-for-firefox/&#34;&gt;DuckDuckGo&lt;/a&gt; (a search engine that does not track) using their SSL mode search add-on. &lt;a href=&#34;https://addons.mozilla.org/en-us/firefox/addon/duckduckgo-for-firefox/&#34;&gt;INSTALL ADD-ON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Obviously, if you haven&amp;rsquo;t done so, already, install ProxyMob to proxy your traffic through Tor, protecting it from logging, interception and targeting. &lt;a href=&#34;https://guardianproject.info/downloads/proxymob.xpi&#34;&gt;INSTALL ADD-ON&lt;/a&gt;. It requires that Tor is already running, so make sure to get &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot: Tor for Android&lt;/a&gt; and turn it on. ProxyMob will have all of the settings configured automagically. To test that it&amp;rsquo;s working, goto &lt;a href=&#34;http://check.torproject.org/&#34; target=&#34;_blank&#34;&gt;check.torproject.org&lt;/a&gt; and look for the congratulations message saying that it&amp;rsquo;s configured properly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/privatebrowsing.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/privatebrowsing-180x300.png&#34; alt=&#34;privatebrowsing&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt;  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/phony.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/phony-180x300.png&#34; alt=&#34;phony&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt; &lt;img class=&#34;wp-image-11589 alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies-180x300.png&#34; alt=&#34;selfdestructingcookies&#34; width=&#34;126&#34; height=&#34;210&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies-614x1024.png 614w, https://guardianproject.info/wp-content/uploads/2010/11/selfdestructingcookies.png 768w&#34; sizes=&#34;(max-width: 126px) 100vw, 126px&#34; /&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/duckduckgo.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/duckduckgo-180x300.png&#34; alt=&#34;duckduckgo&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/cleanquit.png&#34;&gt;&lt;img class=&#34;alignleft&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/cleanquit-180x300.png&#34; alt=&#34;cleanquit&#34; width=&#34;126&#34; height=&#34;210&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h3 id=&#34;how-to-contribute-alignnone&#34;&gt;How to Contribute {.alignnone}&lt;/h3&gt;

&lt;p&gt;As with all of our work, this is open-source, and we encourage you to contribute to and improve upon what we&amp;rsquo;ve done via our Github project: &lt;a href=&#34;https://github.com/guardianproject/ProxyMob&#34;&gt;https://github.com/guardianproject/ProxyMob&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Seeking Slightly Paranoid Android Developers for Hire and Internships</title>
      <link>https://guardianproject.info/2010/11/10/seeking-slightly-paranoid-android-developers-for-hire-and-internships/</link>
      <pubDate>Wed, 10 Nov 2010 18:59:10 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/11/10/seeking-slightly-paranoid-android-developers-for-hire-and-internships/</guid>
      <description>&lt;p&gt;The Guardian Project is kicking off a three month project focused on finishing up our secure chat app, codenamed &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;Gibber&lt;/a&gt; but also known as “OtRChat”. We are looking for developers of all levels to join us in this work. We have already implemented the primary  &lt;a href=&#34;http://www.cypherpunks.ca/otr/&#34;&gt;“Off the Record” messaging&lt;/a&gt; functionality, and achieved interoperability with desktop clients such as Pidgin and AdiumX. From here, there is work to be done on implementing some unique features, cleaning up the user experience, and ensuring that the implementation is as secure as possible, providing all the necessary features for verifying and managing secure identities and sessions.&lt;/p&gt;

&lt;p&gt;We have a few contract positions available, but are also looking for interns and students interested in getting real-world production development under their belt. &lt;em&gt;All in all, you should be keenly interested in work that strives to find the right balance of usability and security on mobile devices.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you are interested, please &lt;a href=&#34;https://guardianproject.info/contact/join/&#34;&gt;get in touch with us&lt;/a&gt;, and we will go from there. We are looking for individuals or small teams. For the paid positions, we would expect you have at least one Android app released in public on the Android Market, and would prefer you have experience with open-source projects, as well. There is much more work to do beyond this specific app, but this is a good place to start. Work can be done anywhere, anytime, assuming your are familiar with the tools and culture of open-source+agile development.&lt;/p&gt;

&lt;p&gt;Below are some screenshots of the work so far. You can learn more and check out the source on the &lt;a href=&#34;https://guardianproject.info/apps/gibber&#34;&gt;Gibber app page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/06/account.jpg&#34; title=&#34;account&#34;&gt;&lt;img class=&#34;alignleft&#34; title=&#34;account&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/account-150x150.jpg&#34; alt=&#34;account&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;dt style=&#34;font-style: italic;&#34;&gt;
&lt;/dt&gt;&lt;/p&gt;

&lt;p&gt;&lt;dt style=&#34;font-style: italic;&#34;&gt;
&lt;/dt&gt;&lt;/p&gt;

&lt;p&gt;&lt;dt style=&#34;font-style: italic;&#34;&gt;
&lt;/dt&gt;&lt;/p&gt;

&lt;p&gt;&lt;dt style=&#34;display: inline !important;&#34;&gt;
  &lt;em&gt;&lt;a title=&#34;contacts&#34; href=&#34;https://guardianproject.info/wp-content/uploads/2010/06/contacts.jpg&#34;&gt;&lt;img class=&#34;alignleft&#34; title=&#34;contacts&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/contacts-150x150.jpg&#34; alt=&#34;contacts&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;&lt;/a&gt;&lt;/em&gt;
&lt;/dt&gt;&lt;/p&gt;

&lt;p&gt;&lt;dt style=&#34;display: inline !important;&#34;&gt;
  &lt;em&gt;&lt;a title=&#34;secured&#34; href=&#34;https://guardianproject.info/wp-content/uploads/2010/06/secured.jpg&#34;&gt;&lt;img class=&#34;alignleft&#34; title=&#34;secured&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/secured-150x150.jpg&#34; alt=&#34;secured&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;&lt;/a&gt;&lt;/em&gt;
&lt;/dt&gt;&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p style=&#34;font-style: italic;&#34;&gt;
  &lt;em&gt; &lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SECURED: T-Mobile myTouch 4G gets Guardian</title>
      <link>https://guardianproject.info/2010/11/09/secured-t-mobile-mytouch-4g-gets-guardian/</link>
      <pubDate>Tue, 09 Nov 2010 23:26:59 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/11/09/secured-t-mobile-mytouch-4g-gets-guardian/</guid>
      <description>&lt;p&gt;One of the services we provide at the Guardian Project is taking any off the shelf Android phone and setting it up to be generally more secure, privacy minded and updated with a powerful suite of trusted apps. Today we were excited to get our hands on a myTouch 4G, manufactured by HTC and sold by T-Mobile. Really beautiful piece of hardware, and once we got our hands on it, a powerhouse of encrypted, anonymous and circumventing communications.&lt;/p&gt;

&lt;p&gt;Brief list of our current trusted app suite (not all are open-source but they are tested/vetted as best we can otherwise): Orbot (Tor on Android), Firefox with ProxyMob add-on, TextSecure, OtRChat, RedPhone, SipDroid with VPN, DroidTracker, Norton Mobile Security Suite, Android Privacy Guard with K9Mail for GPG, OISafe and OINotes for locally encrypted data collection and more!&lt;/p&gt;

&lt;p&gt;All in all, through our own development work and the larger Android security community, things are really coming together. With hardware like the 4G, it can all be put into a shiny, blazing package.&lt;/p&gt;

&lt;p&gt;&lt;img style=&#34;display: block; margin-right: auto; margin-left: auto;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/wpid-IMG_20101109_174732.jpg&#34; alt=&#34;image&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img style=&#34;display: block; margin-right: auto; margin-left: auto;&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/wpid-IMG_20101109_174618.jpg&#34; alt=&#34;image&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Proxy Settings Add-on for Firefox Mobile</title>
      <link>https://guardianproject.info/2010/11/08/proxy-settings-add-on-for-firefox-mobile/</link>
      <pubDate>Mon, 08 Nov 2010 03:43:24 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/11/08/proxy-settings-add-on-for-firefox-mobile/</guid>
      <description>&lt;p&gt;The latest beta of &lt;a href=&#34;https://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox 4 on Android&lt;/a&gt; is proving to be very usable, stable and an increasingly viable alternative to the built-in webkit browser. However, it is unfortunately lacking the ability to manually configure proxy settings through any sort of standard user interface. This is a common problem for Android, which also lacks the ability to set browser or system wide proxy settings. This has caused real issues for us with getting &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt; (aka “Tor on Android”) to work for un-rooted Android devices, because for routing through Tor to work, you must be able to set the HTTP or SOCKS proxy settings. Why this &lt;a href=&#34;https://code.google.com/p/android/issues/detail?id=1273&#34;&gt;very basic feature&lt;/a&gt; keeps getting missed or ignored is a mystery to us.&lt;/p&gt;

&lt;p&gt;To solve this problem, we at the Guardian Project have created a very simple &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/?browse=featured&#34;&gt;Firefox add-on&lt;/a&gt; which exposes the proxy settings through a simple, graphical options menu. This means any user can easily set the HTTP and SOCKS proxy settings for Firefox, enabling access to web browsing on networks which require a proxy to access the we. This also means, that users can connect Firefox to Orbot on Android 2.x devices and &lt;a href=&#34;https://torproject.org&#34;&gt;browse the web using the Tor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/11/fennecoptions.png&#34;&gt;&lt;img class=&#34;size-full wp-image-579 alignnone&#34; title=&#34;fennecoptions&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/11/fennecoptions.png&#34; alt=&#34;&#34; width=&#34;792&#34; height=&#34;499&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/11/fennecoptions.png 792w, https://guardianproject.info/wp-content/uploads/2010/11/fennecoptions-300x189.png 300w&#34; sizes=&#34;(max-width: 792px) 100vw, 792px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;However, it must be stressed that this not a full port of the &lt;a href=&#34;http://www.torproject.org/torbutton/index.html.en&#34;&gt;TorButton add-on&lt;/a&gt;, and does not provide for strong anonymity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We are working on porting TorButton to Firefox mobile, so stay tuned for that release. In addition, while there are &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/search/?q=proxy&amp;amp;cat=all&amp;amp;lver=any&amp;amp;pid=1&amp;amp;sort=&amp;amp;pp=20&amp;amp;lup=&amp;amp;advanced=&#34;&gt;many, many Proxy add-ons for Firefox&lt;/a&gt; on the desktop, none have been ported to mobile. We hope this small release will encourage one or more of them to port those add-ons to a mobile version. For now though, if you are eager to play and really need to access the web via a proxy, you can find the “ProxyMob” add-on at the following URL. Just navigate to this address from your Firefox mobile browser, and it will handle the add-on installation process:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://tinyurl.com/proxymob&#34;&gt;http://tinyurl.com/proxymob&lt;/a&gt;&lt;br /&gt;
aka: &lt;a href=&#34;https://guardianproject.info/downloads/proxymob-addon-0.0.5.xpi&#34;&gt;https://guardianproject.info/downloads/proxymob-addon-0.0.5.xpi&lt;/a&gt; (&lt;a href=&#34;https://guardianproject.info/downloads/proxymob-addon-0.0.5.xpi.asc&#34;&gt;gpg sig&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;As with all of our work, this is open-source, and we encourage you to contribute to and improve upon what we’ve done via our Github project: &lt;a href=&#34;https://github.com/guardianproject/ProxyMob&#34;&gt;https://github.com/guardianproject/ProxyMob&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>OnionKit for Android</title>
      <link>https://guardianproject.info/archive/onionkit/</link>
      <pubDate>Thu, 07 Oct 2010 21:11:55 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/onionkit/</guid>
      <description>

&lt;h1 id=&#34;a-style-font-size-13px-href-https-github-com-guardianproject-onionkit-https-github-com-guardianproject-onionkit-a&#34;&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;https://github.com/guardianproject/onionkit&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit&#34;&gt;https://github.com/guardianproject/onionkit&lt;/a&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;p&gt;This is an Android Library Project that provides multiple means to improve network security in mobile applications. The &amp;ldquo;Onion&amp;rdquo; name refers to not only the Onion Routing concept used by Tor (which provides anonymity and resistance to traffic surveillance), but also the idea of multiple layers of security that any application should utilize.&lt;/p&gt;

&lt;p&gt;More specifically this library provides:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;StrongTrustManager: a robust implementation of an TLS/SSL certificate verifier, that can be customized with any set of certificate authorities&lt;/li&gt;
&lt;li&gt;Proxied Connection Support: HTTP and SOCKS proxy connection support for HTTP and HTTP/S traffic through specific configuration of the Apache HTTPClient library&lt;/li&gt;
&lt;li&gt;OrbotHelper: a utility class to support application integration with Orbot: Tor for Android. Check if its installed, running, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;IT MUST BE NOTED, that you can use this library without using Orbot/Tor, but obviously we think using strong TLS/SSL connections over Tor is just about the best thing in the world.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-strongtrustmanager-name-strongtrustmanager-a-strongtrustmanager&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#strongtrustmanager&#34; name=&#34;strongtrustmanager&#34;&gt;&lt;/a&gt;StrongTrustManager&lt;/h1&gt;

&lt;p&gt;We have implemented a TrustManager for SSL Certificate verification that we believe is better than the default one provided by Android. For app developers, it provides for a consistent implementation of TLS/SSL verification and trust across various versions and devices.&lt;/p&gt;

&lt;p&gt;It supports full chain verification, limited pinning, and a custom cacerts store based on the Debian set of certs. By providing our own cacert store, we can be assured that certificates are being validated against a known set of trusted Roots, and not compromised, expired or other non-desireable entities.&lt;/p&gt;

&lt;p&gt;Developers can create their own CACert store using the information provided by our CACertMan project:&lt;a href=&#34;https://github.com/guardianproject/cacert&#34;&gt;https://github.com/guardianproject/cacert&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can be used in combination with the MemorizingTrustManager, to support user prompted override for non-validating certificates.&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-proxied-connections-aka-orlib-name-proxied-connections-aka-orlib-a-proxied-connections-aka-orlib&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#proxied-connections-aka-orlib&#34; name=&#34;proxied-connections-aka-orlib&#34;&gt;&lt;/a&gt;Proxied Connections (aka Orlib)&lt;/h1&gt;

&lt;p&gt;Once Orbot connects successfully to the Tor network, it offers two proxy servers running on localhost that applications can route their traffic through.&lt;/p&gt;

&lt;p&gt;HTTP Proxy: localhost:8118 SOCKS &lt;sup&gt;4&lt;/sup&gt;&amp;frasl;&lt;sub&gt;5&lt;/sub&gt; Proxy: localhost:9050&lt;/p&gt;

&lt;p&gt;The sample project shows the basics of how to use this library to open sockets and make HTTP requests via the SOCKS and HTTP proxies available from Orbot The standard Apache HTTPClient libraries provide calls to setup proxying. This sample code demonstrates that. All applications using the SOCKS proxy should not resolve their DNS locally, and instead should pass the hostnames through the SOCKS proxy.&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-orbot-helper-name-orbot-helper-a-orbot-helper&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#orbot-helper&#34; name=&#34;orbot-helper&#34;&gt;&lt;/a&gt;Orbot Helper&lt;/h1&gt;

&lt;p&gt;Provides simple helper to check if Orbot (Tor for Android) is installed, and whether it is currently running or not. Allows your app to request Orbot to start (user is prompted whether to start or not). Finally, it can show a user prompt to install Orbot, either from Google Play, or via direct APK download from torproject.org or the guardianproject.info site.&lt;/p&gt;

&lt;p&gt;For apps with on-device servers, it can also assists in requesting a Tor Hidden Service from Orbot, and discovering the assigned .ONION address.&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-strongtrustmanager-name-strongtrustmanager-a&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#strongtrustmanager&#34; name=&#34;strongtrustmanager&#34;&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-proxied-connections-aka-orlib-name-proxied-connections-aka-orlib-a&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#proxied-connections-aka-orlib&#34; name=&#34;proxied-connections-aka-orlib&#34;&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-orbot-helper-name-orbot-helper-a&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#orbot-helper&#34; name=&#34;orbot-helper&#34;&gt;&lt;/a&gt;&lt;/h1&gt;
</description>
    </item>
    
    <item>
      <title>OnionKit for Android</title>
      <link>https://guardianproject.info/archive/onionkit/</link>
      <pubDate>Thu, 07 Oct 2010 21:11:55 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/onionkit/</guid>
      <description>

&lt;h1 id=&#34;a-style-font-size-13px-href-https-github-com-guardianproject-onionkit-https-github-com-guardianproject-onionkit-a&#34;&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;https://github.com/guardianproject/onionkit&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit&#34;&gt;https://github.com/guardianproject/onionkit&lt;/a&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;p&gt;This is an Android Library Project that provides multiple means to improve network security in mobile applications. The &amp;ldquo;Onion&amp;rdquo; name refers to not only the Onion Routing concept used by Tor (which provides anonymity and resistance to traffic surveillance), but also the idea of multiple layers of security that any application should utilize.&lt;/p&gt;

&lt;p&gt;More specifically this library provides:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;StrongTrustManager: a robust implementation of an TLS/SSL certificate verifier, that can be customized with any set of certificate authorities&lt;/li&gt;
&lt;li&gt;Proxied Connection Support: HTTP and SOCKS proxy connection support for HTTP and HTTP/S traffic through specific configuration of the Apache HTTPClient library&lt;/li&gt;
&lt;li&gt;OrbotHelper: a utility class to support application integration with Orbot: Tor for Android. Check if its installed, running, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;IT MUST BE NOTED, that you can use this library without using Orbot/Tor, but obviously we think using strong TLS/SSL connections over Tor is just about the best thing in the world.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-strongtrustmanager-name-strongtrustmanager-a-strongtrustmanager&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#strongtrustmanager&#34; name=&#34;strongtrustmanager&#34;&gt;&lt;/a&gt;StrongTrustManager&lt;/h1&gt;

&lt;p&gt;We have implemented a TrustManager for SSL Certificate verification that we believe is better than the default one provided by Android. For app developers, it provides for a consistent implementation of TLS/SSL verification and trust across various versions and devices.&lt;/p&gt;

&lt;p&gt;It supports full chain verification, limited pinning, and a custom cacerts store based on the Debian set of certs. By providing our own cacert store, we can be assured that certificates are being validated against a known set of trusted Roots, and not compromised, expired or other non-desireable entities.&lt;/p&gt;

&lt;p&gt;Developers can create their own CACert store using the information provided by our CACertMan project:&lt;a href=&#34;https://github.com/guardianproject/cacert&#34;&gt;https://github.com/guardianproject/cacert&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can be used in combination with the MemorizingTrustManager, to support user prompted override for non-validating certificates.&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-proxied-connections-aka-orlib-name-proxied-connections-aka-orlib-a-proxied-connections-aka-orlib&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#proxied-connections-aka-orlib&#34; name=&#34;proxied-connections-aka-orlib&#34;&gt;&lt;/a&gt;Proxied Connections (aka Orlib)&lt;/h1&gt;

&lt;p&gt;Once Orbot connects successfully to the Tor network, it offers two proxy servers running on localhost that applications can route their traffic through.&lt;/p&gt;

&lt;p&gt;HTTP Proxy: localhost:8118 SOCKS &lt;sup&gt;4&lt;/sup&gt;&amp;frasl;&lt;sub&gt;5&lt;/sub&gt; Proxy: localhost:9050&lt;/p&gt;

&lt;p&gt;The sample project shows the basics of how to use this library to open sockets and make HTTP requests via the SOCKS and HTTP proxies available from Orbot The standard Apache HTTPClient libraries provide calls to setup proxying. This sample code demonstrates that. All applications using the SOCKS proxy should not resolve their DNS locally, and instead should pass the hostnames through the SOCKS proxy.&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-orbot-helper-name-orbot-helper-a-orbot-helper&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#orbot-helper&#34; name=&#34;orbot-helper&#34;&gt;&lt;/a&gt;Orbot Helper&lt;/h1&gt;

&lt;p&gt;Provides simple helper to check if Orbot (Tor for Android) is installed, and whether it is currently running or not. Allows your app to request Orbot to start (user is prompted whether to start or not). Finally, it can show a user prompt to install Orbot, either from Google Play, or via direct APK download from torproject.org or the guardianproject.info site.&lt;/p&gt;

&lt;p&gt;For apps with on-device servers, it can also assists in requesting a Tor Hidden Service from Orbot, and discovering the assigned .ONION address.&lt;/p&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-strongtrustmanager-name-strongtrustmanager-a&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#strongtrustmanager&#34; name=&#34;strongtrustmanager&#34;&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-proxied-connections-aka-orlib-name-proxied-connections-aka-orlib-a&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#proxied-connections-aka-orlib&#34; name=&#34;proxied-connections-aka-orlib&#34;&gt;&lt;/a&gt;&lt;/h1&gt;

&lt;h1 id=&#34;a-href-https-github-com-guardianproject-onionkit-orbot-helper-name-orbot-helper-a&#34;&gt;&lt;a href=&#34;https://github.com/guardianproject/onionkit#orbot-helper&#34; name=&#34;orbot-helper&#34;&gt;&lt;/a&gt;&lt;/h1&gt;
</description>
    </item>
    
    <item>
      <title>Open Video Conference: Panel and Hackday</title>
      <link>https://guardianproject.info/2010/09/30/open-video-conference-panel-and-hackday/</link>
      <pubDate>Thu, 30 Sep 2010 02:00:07 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/09/30/open-video-conference-panel-and-hackday/</guid>
      <description>&lt;p&gt;Nathan Freitas will be on a panel at the 2nd annual &lt;a href=&#34;http://www.openvideoconference.org/&#34;&gt;Open Video Conference&lt;/a&gt; in New York this Friday and Saturday. He will be on the panel entitled “Cameras Everywhere” led by our partners at &lt;a href=&#34;https://www.witness.org&#34;&gt;Witness&lt;/a&gt;, on Saturday at 3pm.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Cameras Everywhere: Human Rights and Web Video – (&lt;em&gt;2:45 PM – 3:30 PM&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;: Once upon a time, video cameras were rare. Now they are ubiquitous—as are the opportunities to share, use, and re-use video. What are the limits and possibilities of an ethics of openness when it comes to human rights footage?&lt;/p&gt;

&lt;p&gt;Videos (particularly mobile and online video) make it possible to document and publicize human rights struggles – from monks marching for freedom in Rangoon and Lhasa, and the election protestors in Tehran, to individual voices speaking out against injustice on YouTube and other online spaces. But despite the growing circulation of images of human rights violations, of victims and survivors, there is limited discussion of crucial safety, consent and ethical concerns – particularly for people who are filmed.&lt;/p&gt;

&lt;p&gt;Issues around consent, representation and re-victimization and retaliation have emerged even more clearly in an open and networked online environment, as have concerns about intentionality and authenticity. Video is being reworked, remixed and recirculated by many more people. New possibilities for action by a global citizenry have arisen, but these carry with them substantial challenges, opportunities and dangers.&lt;/p&gt;

&lt;p&gt;Presenters:&lt;br /&gt;
Sam Gregory — WITNESS&lt;br /&gt;
Gabriella Coleman — NYU&lt;br /&gt;
Nathan Freitas — The Guardian Project&lt;br /&gt;
Steve Grove – News and Politics, YouTube&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Following the panel, there will be an open workshop, to continue the discussion and brainstorm new approaches and tools to address the issues raised. This feedback will be gathered and fed into the &lt;a href=&#34;http://www.openvideoconference.org/hacklabs/&#34;&gt;OVC Hackday&lt;/a&gt;, held at &lt;a href=&#34;http://itp.nyu.edu&#34;&gt;NYU ITP&lt;/a&gt; on Sunday. Team Guardian will join in with whoever shows up at the hackday, take the ideas from the previous day, and build prototyped mobile video solutions in response to them.&lt;/p&gt;

&lt;p&gt;You can get more information and register for the hackday here: &lt;a href=&#34;http://www.openvideoconference.org/hacklabs/&#34;&gt;http://www.openvideoconference.org/hacklabs/&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;OVC hack labs: Sunday, October 3&lt;/p&gt;

&lt;p&gt;Join us at NYU’s Interactive Telecommunications Program for an all-day open space gathering for innovators of all stripes. Meet and collaborate with conference attendees, HTML5 developers, transmedia storytelling experts, and more. Among the planned activities:&lt;/p&gt;

&lt;p&gt;Make interactive HTML5 video using WebMadeMovies technology like popcorn.js&lt;br /&gt;
Map out a transmedia strategy for your content&lt;br /&gt;
Build a custom HTML5 player for your site&lt;br /&gt;
Create robust video sites using the free+open source Kaltura CE 2.0 self-hosted software stack&lt;br /&gt;
or just grab a room and hack on your project!&lt;/p&gt;

&lt;p&gt;OVC hack labs are free and open to the public.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Orbot Release 1.0 in the Android Market!</title>
      <link>https://guardianproject.info/2010/09/23/orbot-release-1.0-in-the-android-market/</link>
      <pubDate>Thu, 23 Sep 2010 22:21:06 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/09/23/orbot-release-1.0-in-the-android-market/</guid>
      <description>&lt;p&gt;It’s here! We’d like to officially announce the release of &lt;a href=&#34;https://guardianproject.info/apps/orbot/&#34;&gt;Orbot&lt;/a&gt; to the Android Market. After &lt;a href=&#34;https://guardianproject.info/2010/03/04/orbot-goes-beta/&#34;&gt;going beta&lt;/a&gt; back in March, we’ve seriously re-doubled our efforts for this release. By releasing Orbot to the Android Market, we suspect that our user base will eventually evolve towards the more ‘every day’ Android user – so our goal has been to create an experience that is simple yet informative, straightforward yet powerful. As a step towards that goal, we’ve spent some time creating a new &lt;a href=&#34;https://guardianproject.info/2010/07/29/orbot-update-new-setup-wizard-at-startup/&#34;&gt;setup wizard at Orbot start-up&lt;/a&gt; that walks you through the basics of what Orbot does and does not do. The last thing we want is for someone to be endangered because they didn’t understand how to protect themselves.&lt;/p&gt;

&lt;p&gt;We’ve also spent the time fixing bugs, patching potential security holes, and bringing a bunch of new features to Orbot, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;‘Start on boot’ option &amp;lt;– set to ‘on’ by default&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13.1944px;&#34;&gt;Support for Hidden Services (!!)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13.1944px;&#34;&gt;Re-designed per-app torification and application settings&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13.1944px;&#34;&gt;Easy access to the official Tor ‘check’ site through application menu&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;font-size: 13.1944px;&#34;&gt;…not to mention a complete application architecture overhaul! (hopefully translating to increased stability)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’re especially excited about Hidden Services support in this release, and we’ve been hacking away at a proof of concept application that shows how powerful this tool can become – hopefully we will be posting about it soon.&lt;/p&gt;

&lt;p&gt;So now for the juicy stuff. Grab the 1.0 release from the doubletwist Android web app store &lt;a href=&#34;http://www.doubletwist.com/apps/android/orbot-tor-on-android/-8175007413332940359&#34;&gt;here&lt;/a&gt;, by scanning the QR Code below, or just searching the Market for ‘Orbot.’&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/09/qr_orbot.png&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-526&#34; title=&#34;qr_orbot&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/09/qr_orbot.png&#34; alt=&#34;&#34; width=&#34;135&#34; height=&#34;135&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/09/qr_orbot.png 135w, https://guardianproject.info/wp-content/uploads/2010/09/qr_orbot-64x64.png 64w&#34; sizes=&#34;(max-width: 135px) 100vw, 135px&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
If you’re new to the Guardian Project, we’d like to make sure you know that all of our official builds are available from the Tor &lt;a href=&#34;http://www.torproject.org/dist/android/&#34;&gt;website&lt;/a&gt;. We’re also proud to be an open-source project – if you’d like to read more about Orbot or would like to reproduce our builds from source, check out the &lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/&#34;&gt;subversion repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As always we’d like to thank the dedicated team of developers, testers and enthusiasts that have provided feedback throughout Orbot’s development. We’ve tested on Android 1.x and 2.x devices such as the MyTouch, Nexus One and Motorola Droid [we also did port to a Nook 😉 ] – so we’d love to get feedback on performance and functionality on any and all of the ever growing family of Android devices. Please report bugs and feedback &lt;a href=&#34;https://trac.torproject.org/projects/tor&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot Update: New Setup Wizard at Startup</title>
      <link>https://guardianproject.info/2010/07/29/orbot-update-new-setup-wizard-at-startup/</link>
      <pubDate>Thu, 29 Jul 2010 17:17:08 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/07/29/orbot-update-new-setup-wizard-at-startup/</guid>
      <description>&lt;p&gt;We’ve been working away at the 0.0.9 release of &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt; over the last few months, and have put a decent amount of effort into usability. Specifically, we hoped to better communicate to users what it means to run Tor on your Android phone. In addition, we wanted to clearly lay out how the various configuration options help to improve your mobile web anonymity and ability to circumvent web filters and tracking by your mobile service provider.&lt;/p&gt;

&lt;p&gt;The screenshots below are what you see the first time you install and run Orbot, and also whenever you open the “Help” menu. One important thing to point out is that Orbot can run with or without root, and our setup UI responds to having the capability or not accordingly.&lt;/p&gt;

&lt;p&gt;Ultimately our goal is to provide a useful bootstrap experience for novice and advanced users alike. We welcome your feedback.&lt;/p&gt;

&lt;div id=&#39;gallery-3&#39; class=&#39;gallery galleryid-488 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-1.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-1-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-489&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-1-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-1-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-489&#39;&gt;
      permissions… we actually will only be asking for INTERNET – so don’t mind the “phone status” permission
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-2.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-2-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-490&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-2-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-2-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-490&#39;&gt;
      Your basic install screen
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-3.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-3-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-491&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-3-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-3-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-491&#39;&gt;
      A friendly welcome
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-4.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-4-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-492&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-4-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-4-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-492&#39;&gt;
      About Orbot!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-5.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-5-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-493&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-5-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-5-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-493&#39;&gt;
      we ask nicely to get root permissions, if possible
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-7.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-7-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-495&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-7-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-7-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-495&#39;&gt;
      if the user doesn’t have root, we make sure they understand the implications
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-8.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-8-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-496&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-8-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-8-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-496&#39;&gt;
      Offer direct downloads of Orbot/Tor enabled apps
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.5.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.5-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-497&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.5-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.5-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-497&#39;&gt;
      (Root only) choose whether to “Torify All” or choose app by app
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.6.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.6-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-498&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.6-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.6-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-498&#39;&gt;
      (Root only) Select to send all network traffic through Tor
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.7.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.7-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-499&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.7-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.7-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-499&#39;&gt;
      (Root only) Select which apps you want to route through Tor
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-500&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-9-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-9-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-500&#39;&gt;
      This is the final step
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/07/orbot-10.png&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-10-150x150.png&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; aria-describedby=&#34;gallery-3-501&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/07/orbot-10-150x150.png 150w, https://guardianproject.info/wp-content/uploads/2010/07/orbot-10-64x64.png 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
    
    &lt;dd class=&#39;wp-caption-text gallery-caption&#39; id=&#39;gallery-3-501&#39;&gt;
      We’ve got root!
    &lt;/dd&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Calling all Guardians – Alpha Testers Needed!</title>
      <link>https://guardianproject.info/2010/07/13/calling-all-guardians-alpha-testers-needed/</link>
      <pubDate>Tue, 13 Jul 2010 20:50:31 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/07/13/calling-all-guardians-alpha-testers-needed/</guid>
      <description>&lt;p&gt;Recently here at the Guardian Project we’ve been brainstorming &amp;amp; designing a new tool that we think will be core to enabling truly protected mobile communications . We think it will a big step in improving the user-friendliness of making your communications secure, anonymous and private , but we need your help to make it great.&lt;/p&gt;

&lt;p&gt;While it may give some of us a certain satisfaction to manually cobble together a suite of secure applications that suites our needs, this is by no means a long-term, wider-market solution. The tech community often forget (willfully or otherwise) that there is a huge group of non tech-savvy users for whom security and privacy are top level priorities. The ability to secure ones mobile communications should be accessible to all, through a solution that is beautiful, engaging and idiot-proof in its design. As we try to build that solution, we’re looking for your help in making sure that it meets each of those criteria.&lt;/p&gt;

&lt;p&gt;As an alpha tester, your job will be to help us shape the product. We’ll want to know everything about your mobile device(s), how you use them to communicate,  what concerns you have about privacy, and how you interact with the products we’re building. In turn we’ll provide you with expert assistance and knowledge about mobile privacy. You’ll get the latest glimpses at our designs and beta versions of our component applications. You will live and breathe mobile anonymity (if you so choose), and you’ll play a key role in defining the future of Guardian.&lt;/p&gt;

&lt;p&gt;Prerequisites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Has Android mobile device(s)&lt;/li&gt;
&lt;li&gt;Highly invested in mobile privacy&lt;/li&gt;
&lt;li&gt;Willing to regularly engage with the Guardian team through phone calls, online forums &amp;amp; surveys, etc. (at least once per week)&lt;/li&gt;
&lt;li&gt;Preferably a part of an organization &amp;gt;3 people also matching the above criteria&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this sounds like you, we want to hear from you. Fill out a quick contact form &lt;a href=&#34;https://guardianproject.info/contact/alpha-testers-apply-here/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How To: Lockdown Your Mobile E-Mail</title>
      <link>https://guardianproject.info/2010/07/09/how-to-lockdown-your-mobile-e-mail/</link>
      <pubDate>Fri, 09 Jul 2010 11:00:25 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/07/09/how-to-lockdown-your-mobile-e-mail/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update 2015-04-27&lt;/strong&gt;: _We now recommend &lt;a href=&#34;http://www.openkeychain.org/&#34; target=&#34;_blank&#34;&gt;OpenKeychain&lt;/a&gt; over APG, the app described in this blog post. The set up is drastically easier, so you probably don’t even need this HOWTO anymore. Start by downloading K-9 and &lt;a href=&#34;http://www.openkeychain.org/&#34; target=&#34;_blank&#34;&gt;OpenKeychain&lt;/a&gt;, then go into OpenKeychain and start the config there._&lt;/p&gt;

&lt;p&gt;Over the past few years it’s become &lt;a href=&#34;https://www.youtube.com/watch?v=Gm8NdNy4wOM&#34;&gt;increasingly popular&lt;/a&gt; to sound the call that ‘&lt;a href=&#34;http://www.pcmag.com/article2/0,2817,2343209,00.asp&#34; title=&#34;dead&#34;&gt;email is dead&lt;/a&gt;{#y8a0}.’ And while many complementary forms of synchronous and asynchronous communication – from IM to social networking – have evolved since email first came on the scene, it’s hard to see email suddenly disappearing from its role as the most important way organizations communicate. I expect to be scooting around on my &lt;a href=&#34;https://en.wikipedia.org/wiki/Hoverboard&#34;&gt;hoverboard&lt;/a&gt; by the time email goes the way of the dinosaur.&lt;/p&gt;

&lt;p&gt;Unfortunately, many of the protocols involved in sending and receiving e-mail are not considered secure – in the sense that they are vulnerable to eavesdropping. Simple Mail Transport Protocol (SMTP) – the Internet standard for e-mail transmission across IP networks  most commonly used by client applications for sending messages to a mail server for relaying – is typically implemented without any type of transport encryption. Internet Message Access Protocol (IMAP) and Post Office Protocol (POP) suffer from the same eavesdropping issues as SMTP when implemented without transport encryption. Even when SMTP is implemented with transport encryption it does not, by default, require the authentication of e-mail message senders. As a result, mail servers cannot be sure that the senders of messages are really who they claim to be. And even though POP and IMAP require users to authenticate, messages are sent and delivered using SMTP.&lt;/p&gt;

&lt;p&gt;The result is a situation where the &lt;em&gt;recipient&lt;/em&gt; of an e-mail message can be positively identified but the &lt;em&gt;sender&lt;/em&gt; cannot. Along with the eavesdropping concerns mentioned at the top of the paragraph, this is an alarming state of affairs. Imagine if the same were true of snail mail – there would be rioting in the streets! Fortunately there has been a lot of great work done to combat these fears – the main issue being that the problem itself is  still one  that is often ignored or not fully understood by the layperson. As secure solutions for mobile platforms gain momentum, we’re hoping to change things.&lt;/p&gt;

&lt;p&gt;Enter &lt;a href=&#34;https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP&#34;&gt;OpenPGP&lt;/a&gt;, an IETF standard for encryption and decryption of data. The version of OpenPGP that exists today is the evolution of PGP, which was created in 1991 as a means for secure BBSs communication and message storage (it ironically also stands for “Pretty Good Privacy”). Why do you need PGP? In the words of its inventory, Phil Zimmerman: “&lt;a href=&#34;http://www.spectacle.org/795/byzim.html&#34;&gt;It empowers people to take their privacy into their own hands&lt;/a&gt;.” How it works is a whole other story – one too complex for the purposes of this posting – but we’ll do our  best to scrape the surface quickly. Disclaimer: The following is meant solely as an introduction. There are many people out there who are experts in these topics, and we welcome any and all comments – especially if we misstate or misrepresent anything!&lt;/p&gt;

&lt;p&gt;PGP uses a serial combination of hashing, data compression, symmetric-key cryptography, and, finally, public-key cryptography. From the user’s perspective, it creates two &lt;a href=&#34;https://en.wikipedia.org/wiki/Cryptographic_key&#34;&gt;cryptographic keys&lt;/a&gt; to encrypt and decrypt data. The first of these two is called the &lt;a href=&#34;https://en.wikipedia.org/wiki/Public-key&#34;&gt;Public Key&lt;/a&gt; – which can be freely shared with anyone the user wishes and is used by others to encrypt data so that it can be decrypted by &lt;strong&gt;only the intended recipient&lt;/strong&gt;. The second key is the Private Key, which should be kept as private and safe as possible. It is used to decrypt data that has been encrypted using a specific Public Key. As long as the Private Key is kept secret, only the owner is  able to decrypt data that has been encrypted with a Public Key. One problem with older methods of encryption was the relative ease with which codes could be broken. With increasingly powerful computers that are able to crack codes via pure ‘brute force,’ encoding methods must be incredibly complex to stand up. To combat this, PGP uses a key that is astronomically large,  meaning that the security of PGP encryption lies entirely with the key as opposed to keeping the method for key generation a secret. In fact, the methods that PGP encryption uses are known and widely documented. In addition, the size of keys can be increased whenever necessary to stay one step ahead of technological advances. And for the time being, each of the algorithms in current use by PGP is not known to have cryptanalytic weaknesses.&lt;/p&gt;

&lt;p&gt;So how secure does this make your information? Italian Police, the &lt;a href=&#34;http://www.pcworld.com/article/110841/pgp_encryption_proves_powerful.html&#34;&gt;FBI&lt;/a&gt;, and &lt;a href=&#34;http://www.theregister.co.uk/2007/11/14/ripa_encryption_key_notice/&#34;&gt;British police&lt;/a&gt; have been unable to crack its security and have resorted to demanding private keys. It’s been likened as “the closest you’re likely to get to military-grade encryption” by cryptographer &lt;a href=&#34;https://en.wikipedia.org/wiki/Bruce_Schneier&#34;&gt;Bruce Schneier&lt;/a&gt;. Short answer: pretty darn good, as long as you guard your private key wisely.&lt;/p&gt;

&lt;p&gt;You’ve probably guessed by now that the reason for this posting is to show you how to effectively use OpenPGP to secure your mobile email. And while we would’ve loved to just jump right into the tutorial, there are a few more things you should know first. &lt;a href=&#34;https://code.google.com/p/android-privacy-guard/&#34; title=&#34;Android Privacy Guard&#34;&gt;Android Privacy Guard&lt;/a&gt;{#udlg} (or APG for short), is a first step at bringing &lt;a href=&#34;https://en.wikipedia.org/wiki/Pretty_Good_Privacy&#34; title=&#34;PGP&#34;&gt;OpenPGP&lt;/a&gt;{#qtjc} to the Android platform, letting you manage OpenPGP keys directly from your Android phone – and use them to encrypt, sign and decrypt emails and files. &lt;a href=&#34;http://groups.google.com/group/k-9-mail/browse_thread/thread/921051bc0a61ed0b/d6085b925805ebf2?lnk=raot&#34;&gt;Very recently&lt;/a&gt; the teams behind APG and the popular, open-source Android email client &lt;a href=&#34;https://code.google.com/p/k9mail/&#34;&gt;K-9 Mail&lt;/a&gt; have joined forces in a limited edition &lt;a href=&#34;https://en.wikipedia.org/wiki/Marvel_Team-Up&#34;&gt;team-up&lt;/a&gt; to create a beta version of K-9 that plays nice with APG quite seamlessly. We’ve been using it as our default email solution at Guardian for weeks now and want to share it with you!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Currently APG only supports importing and deleting keys – not generating them – so you’ve got to use a desktop implementation of OpenPGP (such as &lt;a href=&#34;http://www.gnupg.org/&#34; title=&#34;GNU Privacy Guard&#34;&gt;GNU Privacy Guard&lt;/a&gt;{#vrm_}) to actually generate your keypair if you don’t already have one. A number of front-end applications and libraries are available to perform this task. If you already have a keypair set up, you should skip the first step.&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  &lt;strong&gt;1. Download and Install GnuPG Generate an OpenPGP keypair&lt;/strong&gt;
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  Install GnuPG  &lt;a href=&#34;http://www.gnupg.org/download.html&#34;&gt;here&lt;/a&gt;. There are binaries available for &lt;a href=&#34;http://www.gnupg.org/download/supported_systems.en.html&#34;&gt;whatever OS flavor&lt;/a&gt; you prefer, and since they do a great job of making documentation and &lt;a href=&#34;http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html&#34;&gt;How-To Guides&lt;/a&gt; available, we’ll skip the part where we reinvent the wheel.
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  &lt;strong&gt;2. Generate and export your keypair&lt;/strong&gt;
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  Follow the instructions &lt;a href=&#34;http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-3.html#ss3.1&#34;&gt;here&lt;/a&gt; to create a new keypair. &lt;a href=&#34;http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-3.html#ss3.2&#34;&gt;Export&lt;/a&gt; your public and private keys (re-direct from stdout to a file) and stick that file on your Android device’s SD card. Usually it’s best to create a new folder /APG to keep things organized, especially if your SD card is a mess like ours 🙂
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  &lt;strong&gt;3. Download APG and import your keys&lt;/strong&gt;
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  &lt;strong&gt; &lt;/strong&gt;If you don’t already have it, download Android Privacy Guard from its repository &lt;a href=&#34;https://code.google.com/p/android-privacy-guard/downloads/list&#34;&gt;here&lt;/a&gt; or point your barcode scanner to the QR code below. You can also find it on the Market if you prefer.
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  &lt;span style=&#34;line-height: 1px; font-size: 13.2px;&#34;&gt; &lt;/span&gt;
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px; text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/06/qrcode_apg.png&#34;&gt;&lt;img class=&#34;size-full wp-image-385 aligncenter&#34; title=&#34;qrcode_apg&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/qrcode_apg.png&#34; alt=&#34;&#34; width=&#34;120&#34; height=&#34;120&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/06/qrcode_apg.png 120w, https://guardianproject.info/wp-content/uploads/2010/06/qrcode_apg-64x64.png 64w&#34; sizes=&#34;(max-width: 120px) 100vw, 120px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px;&#34;&gt;
  Fire up APG and select ‘Manage Public Keys’ from the menu:
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px; text-align: center;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/06/apg_menu1.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-390 aligncenter&#34; title=&#34;apg_menu&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/apg_menu1-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/06/apg_menu1-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/06/apg_menu1.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;padding-left: 30px; text-align: center;&#34;&gt;
  &lt;p style=&#34;padding-left: 30px;&#34;&gt;
    From the ‘Manage Public Keys’ screen, select ‘Import Keys’:
  &lt;/p&gt;
  

&lt;p&gt;&lt;p style=&#34;padding-left: 30px; text-align: center;&#34;&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/06/apg_manage_public_keys_blur.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-391 aligncenter&#34; title=&#34;apg_manage_public_keys_blur&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/06/apg_manage_public_keys_blur-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/06/apg_manage_public_keys_blur-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/06/apg_manage_public_keys_blur.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;padding-left: 30px;&#34;&gt;
    &lt;p style=&#34;padding-left: 30px;&#34;&gt;
      From the popup dialog, select the public key that you’ve transferred to your SD card. It’s helpful to use a file browser program like Astro File Manager if you don’t already have it installed:
    &lt;/p&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p style=&amp;quot;padding-left: 30px; text-align: center;&amp;quot;&amp;gt;
  &amp;lt;span style=&amp;quot;line-height: 8px;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/06/apg_import_keys_blur.png&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;size-medium wp-image-392 aligncenter&amp;quot; title=&amp;quot;apg_import_keys_blur&amp;quot; src=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/06/apg_import_keys_blur-180x300.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;180&amp;quot; height=&amp;quot;300&amp;quot; srcset=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/06/apg_import_keys_blur-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/06/apg_import_keys_blur.png 480w&amp;quot; sizes=&amp;quot;(max-width: 180px) 100vw, 180px&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/p&amp;gt;

&amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
  &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
    Once your public key(s) are successfully imported, return to the main APG menu, select ‘Manage Secret Keys’ and repeat the steps above for your Private Key.
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
    &amp;lt;strong&amp;gt;4. Download and Configure K-9 Mail&amp;lt;/strong&amp;gt;
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
    Download the latest version of K-9 mail featuring APG integration. You can find it on the Downloads page &amp;lt;a href=&amp;quot;https://code.google.com/p/k9mail/downloads/list&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt; or, again, point your barcode scanner to the QR Code below. Whatever floats your boat.
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&amp;quot;padding-left: 30px; text-align: center;&amp;quot;&amp;gt;
    &amp;lt;img class=&amp;quot;aligncenter&amp;quot; src=&amp;quot;https://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=http://k9mail.googlecode.com/files/k9-apg-2900-beta.apk&amp;amp;chld=L|1&amp;amp;choe=UTF-8&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;125&amp;quot; height=&amp;quot;125&amp;quot; /&amp;gt;
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
    Set up your email account by entering your email address and password, then give it a name.
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
    &amp;lt;a href=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_setup1.png&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;aligncenter size-medium wp-image-451&amp;quot; title=&amp;quot;k9_setup&amp;quot; src=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_setup1-168x300.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;168&amp;quot; height=&amp;quot;300&amp;quot; srcset=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_setup1-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2010/07/k9_setup1-84x150.png 84w, https://guardianproject.info/wp-content/uploads/2010/07/k9_setup1.png 480w&amp;quot; sizes=&amp;quot;(max-width: 168px) 100vw, 168px&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
    &amp;lt;p style=&amp;quot;padding-left: 30px; text-align: center;&amp;quot;&amp;gt;
      &amp;lt;img class=&amp;quot;aligncenter&amp;quot; title=&amp;quot;k9_almost_done&amp;quot; src=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_almost_done-168x300.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;168&amp;quot; height=&amp;quot;300&amp;quot; /&amp;gt;
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      For more popular accounts such as gmail, Yahoo!, etc., K-9 will automatically detect the correct configuration. For more complex accounts such as Exchange, please check out the K-9 wiki page &amp;lt;a href=&amp;quot;https://code.google.com/p/k9mail/w/list&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      &amp;lt;strong&amp;gt;5. Send and Receive Encrypted Email!&amp;lt;/strong&amp;gt;
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      Thanks to the integration effort by the teams at APG and K-9, actually using secure mobile email becomes easy. The compose screen features a prominent checkbox and button that allow you to sign and encrypt your outbound messages, respectively.
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      &amp;lt;a href=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_compose.png&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;aligncenter size-medium wp-image-453&amp;quot; title=&amp;quot;k9_compose&amp;quot; src=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_compose-168x300.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;168&amp;quot; height=&amp;quot;300&amp;quot; srcset=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_compose-168x300.png 168w, https://guardianproject.info/wp-content/uploads/2010/07/k9_compose-84x150.png 84w, https://guardianproject.info/wp-content/uploads/2010/07/k9_compose.png 480w&amp;quot; sizes=&amp;quot;(max-width: 168px) 100vw, 168px&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      Decrypting messages with your private key is even easier and is literally a 1-touch experience:
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      &amp;lt;a href=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_almost_done.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_view_decrypt.png&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;aligncenter size-medium wp-image-455&amp;quot; title=&amp;quot;k9_view_decrypt&amp;quot; src=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_view_decrypt-180x300.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;180&amp;quot; height=&amp;quot;300&amp;quot; srcset=&amp;quot;https://guardianproject.info/wp-content/uploads/2010/07/k9_view_decrypt-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/07/k9_view_decrypt-90x150.png 90w, https://guardianproject.info/wp-content/uploads/2010/07/k9_view_decrypt.png 480w&amp;quot; sizes=&amp;quot;(max-width: 180px) 100vw, 180px&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      &amp;lt;strong&amp;gt;Enjoy! &amp;lt;/strong&amp;gt;As always, please post all questions, concerns, and jokes (only good ones please) in the Comments section. We’re very excited about the powerful combination that these two apps bring and we’d love to hear from you!
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      If you find any issues with APG, please report them &amp;lt;a href=&amp;quot;https://code.google.com/p/android-privacy-guard/issues/list&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;:
    &amp;lt;/p&amp;gt;

    &amp;lt;p style=&amp;quot;padding-left: 30px;&amp;quot;&amp;gt;
      &amp;lt;span style=&amp;quot;line-height: 13px;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;line-height: 16px;&amp;quot;&amp;gt;Likewise, report issues with K-9 &amp;lt;a href=&amp;quot;https://code.google.com/p/k9mail/issues/list&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;. &amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
    &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>aPad / iRobot / Moons e7001 Teardown</title>
      <link>https://guardianproject.info/2010/06/05/apad-/-irobot-/-moons-e7001-teardown/</link>
      <pubDate>Sat, 05 Jun 2010 13:38:23 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/06/05/apad-/-irobot-/-moons-e7001-teardown/</guid>
      <description>&lt;p&gt;This is the aPad or iRobot Android 7″ tablet device from &lt;a rel=&#34;nofollow&#34; href=&#34;http://www.hiapad.com/&#34;&gt;www.hiapad.com&lt;/a&gt;. I decided to tear mine apart, as the unit I received has a battery issue, and I hoped to see if I could find a bad solder point. In addition, I was curious to see just how hackable or extensible the hardware was. In the end, I was mostly surprised by how much of the thing is put together with tape. I suppose that is what you get for &amp;lt; $200 Android tablet! You can find the &lt;a href=&#34;http://www.hiapad.com/?p=9&amp;amp;lang=en&#34;&gt;full product overview on the Hiapad site&lt;/a&gt;. I have also pasted in the basic specs below.&lt;/p&gt;

&lt;p&gt;See the &lt;a href=&#34;http://slatedroid.com&#34;&gt;Slatedroid forums&lt;/a&gt; for more tear down and custom rom news: &lt;a rel=&#34;nofollow&#34; href=&#34;http://slatedroid.com/index.php?board=18.0&#34;&gt;slatedroid.com/index.php?board=18.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;p.s. – the older, distinguished gentleman in the photos is my father, who at age 75, is still fascinated, engaged, and into hacking with all things digital.&lt;/p&gt;

&lt;p&gt;Summary of hardware specifications for our Rockchip Apad iRobot Android Tablet, Batch 2:&lt;br /&gt;
CPU: RK2808 Chipset (ARM9 @ 600 MHz + DSP @ 550 MHz dual-core)&lt;br /&gt;
Operating System: Android 1.5&lt;br /&gt;
Supported Languages: English, Chinese, others&lt;br /&gt;
Display: 800×480 7″ LCD&lt;br /&gt;
Input: Resistive single point touchscreen&lt;br /&gt;
Sensors: Accelerometer&lt;br /&gt;
Camera: 3 Megapixel camera&lt;br /&gt;
Audio input: built-in microphone&lt;br /&gt;
Audio output: 3.5 mm jack, integrated speakers&lt;br /&gt;
Networking: 802.11 Wireless b/g&lt;br /&gt;
Peripheral Support: USB HOST (mouse, keyboard, memory stick, more untested)&lt;br /&gt;
Battery: 3000 mAH, 2 hours continuous use wifi on, 4 hours reading time wifi off&lt;br /&gt;
RAM: 128 MB&lt;br /&gt;
ROM: 2 GB&lt;br /&gt;
Expansion memory: Transflash (microSD) up to 16 GB&lt;br /&gt;
Supported video formats: MKV (H.264 HP)/RMVB/MPEG-4/FLV/MPEG-1/MPEG-2 up to 720p&lt;br /&gt;
Supported audio formats: MP3, WMA. FLAC, AAC, AC3, OGG, WAV&lt;br /&gt;
Supported picture formats: JPEG, PNG, BMP, GIF&lt;br /&gt;
The Rockchip Apad is a MID based on the Rockchip electronics RK2808 platform.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How To: Setup a Private VOIP Phone System for Android</title>
      <link>https://guardianproject.info/2010/05/26/how-to-setup-a-private-voip-phone-system-for-android/</link>
      <pubDate>Wed, 26 May 2010 05:53:54 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/05/26/how-to-setup-a-private-voip-phone-system-for-android/</guid>
      <description>&lt;div&gt;
  &lt;div&gt;
    &lt;strong&gt;MAY 2011: Learn more about our new efforts on the Open Secure Telephony Network at &lt;a href=&#34;https://guardianproject.info/wiki/OSTN&#34;&gt;https://guardianproject.info/wiki/OSTN&lt;/a&gt; – we currently recommend the &lt;a href=&#34;https://code.google.com/p/csipsimple/&#34;&gt;CSipSimple&lt;/a&gt; Android app instead of SIPDroid, for secure voice calls.&lt;/strong&gt;
  &lt;/div&gt;
  

&lt;p&gt;&lt;div&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    Near the very top of Guardian’s open-source application suite &lt;a href=&#34;https://guardianproject.info/apps/&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;wish l&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;ist&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; is something that might seem like a no-brainer for a secure mobile device: voice. When we take into account network performance and audio fidelity requirements, as well as the International nature of Guardian’s target users (everything from average citizens to multi-national journalists or humanitarian organizations), the prospect of a truly real-time secure VOIP solution starts to reveal itself as quite the challenge. Fortunately, a number of efforts have been underway for some time on the Android platform. &lt;strong&gt;The following is an introduction to one such effort, and this post provides a very easy step-by-step how to enable your very own private mobile phone system.&lt;/strong&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroidcall.png&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-337&#34; title=&#34;sipdroidcall&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroidcall.png&#34; alt=&#34;&#34; width=&#34;145&#34; height=&#34;241&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://code.google.com/p/sipdroid/&#34;&gt;Sipdroid&lt;/a&gt;&lt;/span&gt; is an open-source SIP client that adds native SIP/VOIP to Android’s default dialer / contacts applications. You can find Sipdroid in the Android Market or alternatively can &lt;a href=&#34;https://code.google.com/p/sipdroid/downloads/list&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;download it here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. SIP (&lt;a href=&#34;https://en.wikipedia.org/wiki/Session_Initiation_Protocol&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;Session Initiation Protocol&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;) is the Internet standard for real-time voice and video communications. It’s a fundamental building block for many popular consumer VOIP products that you may have used – &lt;a href=&#34;https://www.youtube.com/watch?v=1XU06zbDBBA&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;Vonage&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; or &lt;a href=&#34;http://www.magicjack.com/&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;MagicJack&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; are two examples. Once installed and configured properly, sipdroid allows you to make &amp;amp; receive calls over Wifi and 3G / EDGE data connections – which is a really powerful thing! A similar solution from &lt;a href=&#34;https://my.gizmo5.com/&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;Gizmo5&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; allowed many Android users to completely untangle themselves from mobile minutes and rely on a purely VOIP solution. Alas, new Gizmo signups were suspended after Google announced their &lt;a href=&#34;http://googlevoiceblog.blogspot.com/2009/11/google-welcomes-gizmo5.html&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;acquisition&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; – but we should all be excited to see what they can cook up as part of the official &lt;a href=&#34;https://www.google.com/voice&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;Google Voice&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; team.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    While it’s expected that SIP providers will become more &lt;a href=&#34;https://code.google.com/p/sipdroid/wiki/NewStandbyTechnique&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;interoperable&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, the simplest and most powerful solution currently available to get sipdroid running involves registering to the virtual PBX service from &lt;a href=&#34;https://www1.pbxes.com/index_e.php&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;PBXes.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. For the uninitiated, a PBX (Private Branch Exchange) is what establishes and manages the connections between the telephony products of a private organization (telephones, fax machines, etc.) – each of which is labeled with an ‘extension’. It also is the system through which these extensions are able to access the public telephone network (&lt;a href=&#34;https://en.wikipedia.org/wiki/PSTN&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;PSTN&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;). Since the 1990s, traditional PBX solutions – usually out of reach for small businesses or individuals due to cost and complexity – have evolved to IP-based and virtual or hosted PBXes, which greatly simplify the processes of building and scaling telephony services. PBXes.com is one such ‘virtual PBX.’ Once a PBXes account is established, the account owner can create multiple extensions beneath it and easily dial between those extensions. You get 5 extensions for a free account, more for paid &lt;a href=&#34;https://www1.pbxes.com/iptel_virtual-pbx.html&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;account types&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;.
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;strong&gt;Why is this solution so interesting?&lt;/strong&gt; If you have a relatively small group of colleagues (NGO, humanitarian workers, activists, journalists, etc.), it allows you to easily establish a private internal phone system that can be used over a data connection in lieu of the regular phone system. In our experience, the call quality is also quite good. &lt;span&gt;And while the following step-by-step guide will lead you through the process of setting up this simple solution, first a word of caution: t&lt;span&gt;his is &lt;strong&gt;&lt;span&gt;not&lt;span&gt; a secure solution yet&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. It is a first step, however, down that road. To achieve a more secure solution, we need to enable more features, include tunneling and encrypting traffic through a Virtual Private Network (VPN) as well as integrating to a privately maintained &lt;a href=&#34;http://www.techsteward.com/blog/dirk/?p=735&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;A&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;sterisk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; phone server running with custom security settings. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;span&gt;&lt;span&gt;We are also investigating solutions that uses a public key exchange model, such as Philip Zimmermann’s &lt;a id=&#34;s_.7&#34; title=&#34;ZFone&#34; href=&#34;http://zfoneproject.com/&#34;&gt;ZFone&lt;/a&gt;, such as the new &lt;/span&gt;&lt;a href=&#34;http://whispersys.com/&#34;&gt;RedPhone app just announced by WhisperSystems&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;strong&gt;&lt;span&gt;&lt;span&gt;1.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;&lt;span&gt;&lt;span&gt;Configure &lt;span&gt;&lt;span&gt;extensions to &lt;span&gt;&lt;span&gt;a&lt;span&gt;&lt;span&gt; PBXes.com account&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;span&gt;If you don’t already have a PBXes.com account, head over to &lt;a href=&#34;http://www.pbxes.com&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&#34;http://www.pbxes.com&#34;&gt;http://www.pbxes.com&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt; and fill out the straightfo&lt;span&gt;&lt;span&gt;rward account registration form for a free account.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/welcome.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-333&#34; title=&#34;welcome&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/welcome-300x172.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;172&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/welcome-300x172.png 300w, https://guardianproject.info/wp-content/uploads/2010/05/welcome.png 615w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
     
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;span&gt;Next, select ‘Extensions’ from the left-hand navigation menu, &lt;span&gt;&lt;span&gt;then&lt;span&gt;&lt;span&gt; choose ‘SIP’ under ‘Add an Extension.’ &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt; &lt;span&gt;Last, configure your new extension with a few critical elements. Make sure you fill out the following fields, at a minimum:&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addSIPExtension.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-334&#34; title=&#34;addSIPExtension&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addSIPExtension-300x171.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;171&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addSIPExtension-300x171.png 300w, https://guardianproject.info/wp-content/uploads/2010/05/addSIPExtension.png 619w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
    &lt;li&gt;
      &lt;ul&gt;
        &lt;li&gt;
          &lt;span&gt;&lt;span&gt;Extension number (e.g. 100, 101, 402, etc.)&lt;/span&gt;&lt;/span&gt;
        &lt;/li&gt;
        &lt;li&gt;
          &lt;span&gt;&lt;span&gt;Display name (e.g. johndoe-100)&lt;/span&gt;&lt;/span&gt;
        &lt;/li&gt;
        &lt;li&gt;
          &lt;span&gt;&lt;span&gt;Password&lt;/span&gt;&lt;/span&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    &lt;p&gt;
      &lt;span&gt;&lt;span&gt;After clicking ‘Submit,’ go ahead and repeat the process for as many extensions as  you’d like to set up. Each of these will be specific for a unique Android device. Don’t forget to APPLY your changes when finished by clicking the bright red bar – this ensures your changes take effect.&lt;/span&gt;&lt;/span&gt;
    &lt;/p&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;strong&gt;2.&lt;/strong&gt; &lt;strong&gt;Configure extensions on sipdroid&lt;/strong&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    If you don’t already have sipdroid, you can find the latest version &lt;a href=&#34;https://code.google.com/p/sipdroid/downloads/list&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, or point your barcode scanner to the following QR code:
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    &lt;a href=&#34;http://chart.apis.google.com/chart?cht=qr&amp;chs=170x170&amp;chl=http%3A%2F%2Fwww.androidzoom.com%2Fweb%2Findice%2FqrLink%3FappCode%3Dmaf%26dwnId%3D231933&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-335&#34; title=&#34;dp82z4m_35fd9f9hgz_b&#34; src=&#34;https://chart.apis.google.com/chart?cht=qr&amp;chs=170x170&amp;chl=http%3A%2F%2Fwww.androidzoom.com%2Fweb%2Findice%2FqrLink%3FappCode%3Dmaf%26dwnId%3D231933&#34; alt=&#34;&#34; width=&#34;170&#34; height=&#34;170&#34; /&gt;&lt;/a&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    &lt;p&gt;
      Within the Account Settings section of sipdroid, set up one of your extensions from step 1:
    &lt;/p&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    · Authorization Username and Password
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    · Server: pbxes.com
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    · Port: 5060
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    · Protocol: TCP
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroid_account.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-336&#34; title=&#34;sipdroid_account&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroid_account.png&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;span&gt;You should see a green dot appear in your notifications tray on successful registration like so:&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroidoptions.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-338&#34; title=&#34;sipdroidoptions&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroidoptions.png&#34; alt=&#34;&#34; width=&#34;145&#34; height=&#34;241&#34; /&gt;&lt;/a&gt;
  &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
     
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;strong&gt;3.&lt;/strong&gt; &lt;strong&gt;Trial Run – dial between extensions&lt;/strong&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    Once you’ve set up a number of extensions within your PBX, you can easily dial between them. Simply input their extension number (e.g. 100).
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroidcall.png&#34;&gt;&lt;img title=&#34;sipdroidcall&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/sipdroidcall.png&#34; alt=&#34;&#34; width=&#34;145&#34; height=&#34;241&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
     
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;strong&gt;&lt;span&gt;&lt;span&gt;4.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;&lt;span&gt;&lt;span&gt;(Optional) &lt;span&gt;&lt;span&gt;Configure VPN&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;span&gt;As mentioned above, the solution so far isn’t a secure one. A first step in the right direction is connecting to &lt;span&gt;&lt;span&gt;PBXes&lt;span&gt;&lt;span&gt;’ &lt;span&gt;&lt;span&gt;PPTP VPN. For those quicker on their feet, configuration instructions can be found &lt;a href=&#34;http://mona-lilly.de/wiki/index.php/VPN&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;. If you’d prefer to stick with us, follow these steps:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span&gt;&lt;span&gt;&lt;em&gt;4a.&lt;/em&gt; &lt;span&gt;&lt;span&gt;On&lt;span&gt;&lt;span&gt; your Android phone, access the ‘VPN settings’ section of Wireless &amp;amp; network settings.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;em&gt;4b. &lt;/em&gt;Select ‘Add VPN,’ then ‘Add PPTP VPN’
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addvpn.png&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-340&#34; title=&#34;addvpn&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addvpn.png&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addvpntype.png&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-341&#34; title=&#34;addvpntype&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/addvpntype.png&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br style=&#34;clear: both;&#34; /&gt;&lt;br /&gt; &lt;span&gt;&lt;span&gt;&lt;em&gt;4c.&lt;/em&gt; &lt;span&gt;&lt;span&gt;On&lt;span&gt;&lt;span&gt; your Android phone, access the ‘VPN settings’ section of Wireless &amp;amp; network settings.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
    &lt;li&gt;
      VPN Name – your choice
    &lt;/li&gt;
    &lt;li&gt;
      VPN server – www#.pbxes.com [for # see URL line after logging into PBXes on your browser]
    &lt;/li&gt;
    &lt;li&gt;
      Enable encryption – We haven’t had success with enabling encryption on PBXes yet. This might be due to a sipdroid &lt;a href=&#34;https://code.google.com/p/sipdroid/issues/detail?id=370&#34;&gt;&lt;span style=&#34;color: #0000ff;&#34;&gt;&lt;span&gt;issue&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; or it might not. If you have success on Android 2.0 / Éclair please let us know in the comments! &lt;span&gt;&lt;span&gt; Nathan reported issues with encryption using PBXes PPTP VPN as well.  -Derek Halliday 5/12/10 4:33 PM &lt;/span&gt;&lt;/span&gt;
    &lt;/li&gt;
    &lt;li&gt;
      DNS search domain – leave empty
    &lt;/li&gt;
    &lt;li&gt;
      Username – &lt;account name&gt;-&lt;extension no.&gt; (e.g. guardianproj-401)
    &lt;/li&gt;
    &lt;li&gt;
      Password – &lt;extension password&gt;
    &lt;/li&gt;
  &lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/add_pptp_vpn.png&#34;&gt;&lt;img class=&#34;size-full wp-image-342 alignnone&#34; title=&#34;add_pptp_vpn&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/add_pptp_vpn.png&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
     
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    &lt;span style=&#34;color: #000000;&#34;&gt;&lt;span&gt;&lt;strong&gt;That’s it! &lt;/strong&gt;&lt;span&gt;If you come across any issues or have any questions along the way, please let us know in the “Comments” below and we’ll do our best to help you out or clarify. And if you’re itching for more, here are a couple next steps. We’re not presenting a deep tutorial on these (yet), so we’d love to hear from you if you have pursued either – or even better – if you’ve used sipdroid and/or PBXes in any other creative ways!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;ol&gt;
    &lt;li&gt;
      &lt;span&gt;&lt;span&gt;Hook your PBXes account into an external DID / VOIP number to dial out to standard phone. Think of it as the equivalent of ‘Skype Out’ for sipdroid. You can use a service such as CallCentric (&lt;a href=&#34;http://www.callcentric.com/&#34;&gt;http://www.callcentric.com/&lt;/a&gt;) for this. &lt;/span&gt;&lt;/span&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;span&gt;&lt;span&gt;You can also integrate desktop VOIP programs or other mobile device client into the same PBXes accounts. Here’s a great list of &lt;/span&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_SIP_software#Free_and.2For_open_source_software&#34;&gt;free, open-source SIP clients&lt;/a&gt;&lt;span&gt;. We personally like &lt;/span&gt;&lt;a href=&#34;http://icanblink.com/&#34;&gt;Blink for Mac OS&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;span&gt;&lt;span&gt;If you have a privately maintained &lt;a id=&#34;zdnk&#34; title=&#34;Asterisk&#34; href=&#34;https://en.wikipedia.org/wiki/Asterisk_(PBX)&#34;&gt;Asterisk&lt;/a&gt; or other SIP compatible-server, you can use this same approach with that box, and integrate with your own VPN server. We will be covering this in more detail with a future post, as this is a more secure solution that using a provide such as PBXes.&lt;/span&gt;&lt;/span&gt;
    &lt;/li&gt;
  &lt;/ol&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
     
  &lt;/p&gt;
&lt;/div&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tor on a Tablet</title>
      <link>https://guardianproject.info/2010/05/25/tor-on-a-tablet/</link>
      <pubDate>Tue, 25 May 2010 16:22:01 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/05/25/tor-on-a-tablet/</guid>
      <description>&lt;p&gt;We recently acquired a Moons e-7001 “iRobot” tablet which runs Android 1.5. This device is also known as the “aPad”. It is a very basic iPad-clone, though honestly, it can’t really compare with the iPad in terms of quality of screen, build or general use. However, it does only cost $185, supports USB host mode, has a built-in camera, and it is running Android, an actual open-source operating system! It should also be pointed out that you can also now get the &lt;a href=&#34;http://www.amazon.com/Archos-Home-Tablet-Android-Black/dp/B003COZM2C/ref=sr_1_1?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1274748337&amp;amp;sr=1-1&#34;&gt;Archos 7 Android tablet&lt;/a&gt;, which is basically the same thing as this, from Amazon for $199.&lt;/p&gt;

&lt;p&gt;The reason we purchased one of these was to be able to tangibly have Orbot (aka &lt;a href=&#34;https://www.torproject.org/docs/android.html&#34;&gt;Tor on Android&lt;/a&gt;) running on a tablet “MID” style device. Since it is running Android 1.5, we were able to easily do this using Orbot and Orweb together without requiring the device to be rooted.&lt;/p&gt;

&lt;p&gt;So here you have it – Tor on a Tablet, the AnonaPad, GuardianSlate, OrTab, OnionBook, or whatever other clever name you may want to come up with!&lt;/p&gt;

&lt;div id=&#39;gallery-2&#39; class=&#39;gallery galleryid-314 gallery-columns-3 gallery-size-thumbnail&#39;&gt;
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3222.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3222-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3222-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2010/05/IMG_3222-64x64.jpg 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon portrait&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3208.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3208-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3208-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2010/05/IMG_3208-64x64.jpg 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3209.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3209-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3209-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2010/05/IMG_3209-64x64.jpg 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3214.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3214-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3214-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2010/05/IMG_3214-64x64.jpg 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3215.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3215-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3215-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2010/05/IMG_3215-64x64.jpg 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;dl class=&#39;gallery-item&#39;&gt;
    &lt;dt class=&#39;gallery-icon landscape&#39;&gt;
      &lt;a href=&#39;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3220.jpg&#39;&gt;&lt;img width=&#34;150&#34; height=&#34;150&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3220-150x150.jpg&#34; class=&#34;attachment-thumbnail size-thumbnail&#34; alt=&#34;&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/IMG_3220-150x150.jpg 150w, https://guardianproject.info/wp-content/uploads/2010/05/IMG_3220-64x64.jpg 64w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;
    &lt;/dt&gt;
  &lt;/dl&gt;
  
  &lt;br style=&#34;clear: both&#34; /&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Beem&#43;Orbot: Mobile Instant Messaging over Tor</title>
      <link>https://guardianproject.info/2010/05/10/beem-orbot-mobile-instant-messaging-over-tor/</link>
      <pubDate>Mon, 10 May 2010 16:32:01 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/05/10/beem-orbot-mobile-instant-messaging-over-tor/</guid>
      <description>&lt;p&gt;It is no secret that we are big fans of open-source here at Guardian. In fact, it is &lt;a href=&#34;https://github.com/guardianproject&#34;&gt;what we are made of&lt;/a&gt;. Guardian is not just a single app or just one phone, it is a vision for a more private and secure future for personal mobile telecommunications. As part of our work, we are constantly on the lookout other similar, like-minded projects that are developing open-source communications tools for the Android OS which we can make to work with our underlying security platform.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.beem-project.com/&#34;&gt;BEEM – Android XMPP&lt;/a&gt; happens to be one of these. You can find BEEM in the Android Market or you can &lt;a href=&#34;http://www.beem-project.com/news/11&#34;&gt;download it here&lt;/a&gt;. The goal of BEEM is to provide a full featured and easy to use Jabber client on Android. Jabber is another name for XMPP, the &lt;a href=&#34;https://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol&#34;&gt;Extensible Messaging and Presence Protocol&lt;/a&gt;, which is another name for Instant Messaging and Status Updates. XMPP is the open-protocol that grew out of the AIM vs. Yahoo vs. MSN vs. ICQ protocol wars of a few years ago. It is now managed by a &lt;a href=&#34;http://xmpp.org/&#34;&gt;standards foundation&lt;/a&gt;, and is supported by an amazing number of &lt;a href=&#34;http://xmpp.org/software/clients.shtml&#34;&gt;client&lt;/a&gt; and &lt;a href=&#34;http://xmpp.org/software/servers.shtml&#34;&gt;server&lt;/a&gt; apps.&lt;/p&gt;

&lt;p&gt;Beem, available as source code and in the Android Market, is a great looking, highly functional IM application that supports a number of advanced options including SSL/TLS support and SOCKS Proxying. These two features make it ideal for use with running over the &lt;a href=&#34;https://www.torproject.org&#34;&gt;Tor anonymity network&lt;/a&gt; and &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt;. By combining Beem with Orbot, mobile instant messaging can be more private (even anonymous if one chooses), usable without fear of eavesdropping by network operators, and made accessible in places where filtering technologies blocks access to popular instant messaging services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) Connect to the Tor network using the Orbot app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, if you do not have Orbot installed, first &lt;a href=&#34;https://www.torproject.org/docs/android.html&#34;&gt;download it from the Tor Project&lt;/a&gt; or scan the barcode below:&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://www.torproject.org/img/android/orbot-qr-code-latest.png&#34; alt=&#34;&#34; width=&#34;123&#34; height=&#34;123&#34; /&gt;&lt;/p&gt;

&lt;p&gt;The Orbot app contains an HTTP and SOCKS proxy server which allows any Android app to proxy its network traffic through Tor. By installing and activating Orbot (tap on the big power button!), this proxy server is activated and runs in the background as long as you are connected to the Tor network.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/torboot.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-295&#34; title=&#34;torboot&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/torboot-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/torboot-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/torboot.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/toron.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-294&#34; title=&#34;toron&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/toron-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/toron-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/toron.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) Configure your XMPP-compatible account using Beem settings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you don’t have BEEM installed, you can &lt;a href=&#34;http://www.beem-project.com/news/11&#34;&gt;download it here&lt;/a&gt; or scan the barcode below:&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://dev.beem-project.com/screenshot_rc1/qr-code.png&#34; alt=&#34;&#34; width=&#34;100&#34; height=&#34;100&#34; /&gt;&lt;/p&gt;

&lt;p&gt;You can use any XMPP service, but we recommend one that supports TLS or SSL security. You can use your Gmail / Google Talk account or you can find a list of public services here: &lt;a href=&#34;http://xmpp.org/services/&#34;&gt;http://xmpp.org/services/&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/beemsettings.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-293&#34; title=&#34;beemsettings&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/beemsettings-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/beemsettings-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/beemsettings.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/beemusername.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-292&#34; title=&#34;beemusername&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/beemusername-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/beemusername-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/beemusername.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) Check the SSL/TLS option in the Advanced Menu&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You must enable this option to protect your password and chat communications when they exit the Tor network. You can learn more about &lt;a href=&#34;https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/TorFAQ#CanexitnodeseavesdroponcommunicationsIsntthatbad&#34;&gt;exit node eavesdropping on the TorFAQ&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/advsetings.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-291&#34; title=&#34;advsetings&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/advsetings-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/advsetings-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/advsetings.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/tls.png&#34;&gt;&lt;img title=&#34;tls&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/tls-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4) Enable the SOCKS Proxy Setting in the Proxy Menu&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The “Use a proxy server” should be checked, the Protocol set to “SOCKS5”. The Server is “localhost” and the Port is “9050”. You must use the SOCKS5 protocol, as it ensures that domain name resolution is also routed through Tor, stopping from someone snooping on which chat service you are using.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/proxyon.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-289&#34; title=&#34;proxyon&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/proxyon-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/proxyon-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/proxyon.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/socks5.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-288&#34; title=&#34;socks5&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/socks5-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/socks5-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/socks5.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[](&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/socks5.png)[&#34;&gt;https://guardianproject.info/wp-content/uploads/2010/05/socks5.png)[&lt;/a&gt;&lt;img class=&#34;alignnone size-medium wp-image-287&#34; title=&#34;localhost&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/localhost-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/localhost-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/localhost.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;](&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/localhost.png)[&#34;&gt;https://guardianproject.info/wp-content/uploads/2010/05/localhost.png)[&lt;/a&gt;&lt;img class=&#34;alignnone size-medium wp-image-286&#34; title=&#34;port&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/port-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/port-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/port.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;](&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/port.png&#34;&gt;https://guardianproject.info/wp-content/uploads/2010/05/port.png&lt;/a&gt;)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5) Connect to the XMPP Service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If Orbot is connected, and you have configured the proxy settings correctly, you should be able to connect and see your contacts or buddy list. From here, you can use Beem as you normally would (&lt;a href=&#34;http://www.beem-project.com/documents/4&#34;&gt;download user documentation here&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANT:&lt;/strong&gt; &lt;em&gt;To ensure Beem is routing through Tor, you should deactivate Orbot, and then try connecting to your XMPP service with Beem again. This SHOULD fail, else you haven’t setup the proxying correctly.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/coonnecting.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-285&#34; title=&#34;coonnecting&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/coonnecting-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/coonnecting-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/coonnecting.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/05/friends.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-284&#34; title=&#34;friends&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/friends-180x300.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/05/friends-180x300.png 180w, https://guardianproject.info/wp-content/uploads/2010/05/friends.png 480w&#34; sizes=&#34;(max-width: 180px) 100vw, 180px&#34; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Chat away!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;span style=&#34;font-weight: normal;&#34;&gt;At this point, you should be happily chatting away with your buddies. It is important to note that this solution &lt;/span&gt;DOES NOT provide end-to-end encryption&lt;span style=&#34;font-weight: normal;&#34;&gt;, so once your chat reaches the server, it is not secure, both because the service provide can view it if they choose, and the other members of your chat may not be secured themselves.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We do plan to implement and end-to-end extension to Beem using the &lt;a href=&#34;http://www.cypherpunks.ca/otr/&#34;&gt;Pidgin+Off The Record&lt;/a&gt; approach that has provided effective on desktop systems. If anyone wishes to contribute development cycles to this effort, please let us know!&lt;/p&gt;

&lt;p&gt;If you find issues with Beem, please report them: &lt;a href=&#34;http://www.beem-project.com/projects/beem/issues/new&#34;&gt;http://www.beem-project.com/projects/beem/issues/new&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find issues with Orbot, please report them: &lt;a href=&#34;https://trac.torproject.org/projects/tor/newticket&#34;&gt;https://trac.torproject.org/projects/tor/newticket&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ultimate Droid and Orbot</title>
      <link>https://guardianproject.info/2010/04/11/ultimate-droid-and-orbot/</link>
      <pubDate>Sun, 11 Apr 2010 14:11:11 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/04/11/ultimate-droid-and-orbot/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://www.insecuresystem.org/2010/04/ultimate-droid-and-orbot.html&#34;&gt;InsecureSystem blog&lt;/a&gt; has a nice write-up on how to get Orbot running on your Droid:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve always been a supporter of net privacy and Tor in particular, and a friend of mine got me interested in &lt;a href=&#34;https://guardianproject.info/&#34;&gt;the guardian project&lt;/a&gt;, so I grabbed the beta version of &lt;a href=&#34;https://guardianproject.info/apps/orbot/&#34;&gt;Orbot&lt;/a&gt; just to try it out.. sweet, tor from my phone.&lt;/p&gt;

&lt;p&gt;Unfortunately the Smoked Glass Rom I was using didn’t support the Iptables modules necessary for the transparent proxy method orbot used for tunnelling apps through privoxy/tor. So, I was forced to try out some other Roms and their respective kernels.. okay, forced is a bad way to put it, it was a lot of fun.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&#34;http://www.insecuresystem.org/2010/04/ultimate-droid-and-orbot.html&#34;&gt;Read on…&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone&#34; title=&#34;orbot on droid&#34; src=&#34;https://1.bp.blogspot.com/_zYnlWpU7s_s/S7aqyLdAgeI/AAAAAAAAAEU/sT9KAH3F7eI/s320/CAP2010033110221.jpg&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;320&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Jobs and Internships</title>
      <link>https://guardianproject.info/contact/join/</link>
      <pubDate>Wed, 31 Mar 2010 18:30:31 -0400</pubDate>
      
      <guid>https://guardianproject.info/contact/join/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/03/teamguardianhardatwork.jpg&#34;&gt;&lt;img title=&#34;teamguardianhardatwork&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/teamguardianhardatwork.jpg&#34; alt=&#34;&#34; width=&#34;576&#34; height=&#34;384&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Don&amp;rsquo;t let the visual anonymity fool you - Team Guardian is hard at work and proud of it!&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&#34;jobs&#34;&gt;Jobs&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;You&lt;/strong&gt; - We&amp;rsquo;re looking for developers of all levels to join us - primarily mobile application developers with skills ranging from user interface design down to the core app work at the network and data level. For experienced developers we expect you to have at least one app released in public and prefer that you have experience with open-source and community-led projects. Experience with security software and standards is desired, but not required. The ability to assist in the localization of software to different regions / languages is a plus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsibilities&lt;/strong&gt; - Dependent on seniority, but ideally you&amp;rsquo;ll be able to confidently take the reins of the overall project engineering processes - specifically software build and release, version control management and software testing. Act as the lead engineer and be responsible for pushing releases to app store(s), markets and other distribution points. Be the team&amp;rsquo;s primary internal contributor of original project code.&lt;/p&gt;

&lt;p&gt;All work is contract-based and is not limited by geography.&lt;/p&gt;

&lt;p&gt;If you are interested in the opportunities below, send a resume or link to relevant work &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;through one of our contact methods&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;internships&#34;&gt;Internships&lt;/h3&gt;

&lt;p&gt;We&amp;rsquo;re always on the look-out for energetic, enthusiastic, and capable interns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You&lt;/strong&gt; - While an aptitude for development is preferred, all that is required is a passion for mobile devices, an interest in security, the eagerness to learn and the ability to be self-directed and productive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Opportunity&lt;/strong&gt; - You will be exposed to some of the most advanced work being done in the field of mobile privacy, while at the same time contributing to the general good of humanity and gaining real-world production development experience. If that isn&amp;rsquo;t enough, then you may also end up with a Guardian-enabled Android device of your own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsibilities&lt;/strong&gt; - Your work will include testing software, working with NGOs and activist groups to setup and use Guardian software, producing online tutorials and guides, and even social media promotion work.&lt;/p&gt;

&lt;p&gt;Interested? &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;Learn how to contact us here&lt;/a&gt; or email &amp;#x6a;&amp;#111;b&amp;#x73;&amp;#x40;gu&amp;#x61;&amp;#114;d&amp;#x69;&amp;#x61;np&amp;#x72;&amp;#111;j&amp;#x65;&amp;#x63;&amp;#116;.&amp;#x69;&amp;#x6e;f&amp;#x6f; with an introduction and resume.&lt;/p&gt;

&lt;h3 id=&#34;current-open-positions&#34;&gt;Current open positions&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../2024/12/06/ruby-jekyll-contractor/&#34;&gt;Seeking Ruby contractors for work on Jekyll, Fastlane, and F-Droid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../android-python-contractor/&#34;&gt;Seeking Android/Python contractors for mobile/free software/privacy work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Jobs and Internships</title>
      <link>https://guardianproject.info/contact/join/</link>
      <pubDate>Wed, 31 Mar 2010 18:30:31 -0400</pubDate>
      
      <guid>https://guardianproject.info/contact/join/</guid>
      <description>

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/03/teamguardianhardatwork.jpg&#34;&gt;&lt;img title=&#34;teamguardianhardatwork&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/teamguardianhardatwork.jpg&#34; alt=&#34;&#34; width=&#34;576&#34; height=&#34;384&#34; /&gt;&lt;br /&gt;
&lt;/a&gt; &lt;em&gt;Don&amp;rsquo;t let the visual anonymity fool you - Team Guardian is hard at work and proud of it!&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&#34;jobs&#34;&gt;Jobs&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;You&lt;/strong&gt; - We&amp;rsquo;re looking for developers of all levels to join us - primarily mobile application developers with skills ranging from user interface design down to the core app work at the network and data level. For experienced developers we expect you to have at least one app released in public and prefer that you have experience with open-source and community-led projects. Experience with security software and standards is desired, but not required. The ability to assist in the localization of software to different regions / languages is a plus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsibilities&lt;/strong&gt; - Dependent on seniority, but ideally you&amp;rsquo;ll be able to confidently take the reins of the overall project engineering processes - specifically software build and release, version control management and software testing. Act as the lead engineer and be responsible for pushing releases to app store(s), markets and other distribution points. Be the team&amp;rsquo;s primary internal contributor of original project code.&lt;/p&gt;

&lt;p&gt;All work is contract-based and is not limited by geography.&lt;/p&gt;

&lt;p&gt;If you are interested in the opportunities below, send a resume or link to relevant work &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;through one of our contact methods&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&#34;internships&#34;&gt;Internships&lt;/h3&gt;

&lt;p&gt;We&amp;rsquo;re always on the look-out for energetic, enthusiastic, and capable interns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You&lt;/strong&gt; - While an aptitude for development is preferred, all that is required is a passion for mobile devices, an interest in security, the eagerness to learn and the ability to be self-directed and productive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Opportunity&lt;/strong&gt; - You will be exposed to some of the most advanced work being done in the field of mobile privacy, while at the same time contributing to the general good of humanity and gaining real-world production development experience. If that isn&amp;rsquo;t enough, then you may also end up with a Guardian-enabled Android device of your own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsibilities&lt;/strong&gt; - Your work will include testing software, working with NGOs and activist groups to setup and use Guardian software, producing online tutorials and guides, and even social media promotion work.&lt;/p&gt;

&lt;p&gt;Interested? &lt;a href=&#34;https://guardianproject.info/contact/&#34;&gt;Learn how to contact us here&lt;/a&gt; or email &amp;#x6a;&amp;#111;b&amp;#x73;&amp;#x40;gu&amp;#x61;&amp;#114;d&amp;#x69;&amp;#x61;np&amp;#x72;&amp;#111;j&amp;#x65;&amp;#x63;&amp;#116;.&amp;#x69;&amp;#x6e;f&amp;#x6f; with an introduction and resume.&lt;/p&gt;

&lt;h3 id=&#34;current-open-positions&#34;&gt;Current open positions&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../2024/12/06/ruby-jekyll-contractor/&#34;&gt;Seeking Ruby contractors for work on Jekyll, Fastlane, and F-Droid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../android-python-contractor/&#34;&gt;Seeking Android/Python contractors for mobile/free software/privacy work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ushahidi-Linda: “Testimony” &#43; “Protection”</title>
      <link>https://guardianproject.info/2010/03/10/ushahidi-linda-testimony-protection/</link>
      <pubDate>Wed, 10 Mar 2010 19:53:00 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/03/10/ushahidi-linda-testimony-protection/</guid>
      <description>&lt;p&gt;Ushahidi-linda (“Testimony” + “Protection” – &lt;em&gt;disclaimer: we don’t speak Swahili so this was a shot in the dark!&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;This is a fork of the &lt;a href=&#34;https://github.com/ushahidi/Ushahidi_Android&#34;&gt;Ushahidi on Android&lt;/a&gt; app, done as a way to prototype the implementation of increased security, anonymity and privacy for users viewing and submitting reports through &lt;a href=&#34;http://ushahidi.com&#34;&gt;Ushahidi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/03/ushahidi_android_splash.png&#34;&gt;&lt;img class=&#34;size-full wp-image-199 alignleft&#34; title=&#34;ushahidi_android_splash&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/ushahidi_android_splash.png&#34; alt=&#34;&#34; width=&#34;224&#34; height=&#34;336&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/03/ushahidi_android_splash.png 320w, https://guardianproject.info/wp-content/uploads/2010/03/ushahidi_android_splash-200x300.png 200w&#34; sizes=&#34;(max-width: 224px) 100vw, 224px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ushahidi is a platform that crowdsources crisis information, allowing anyone to submit crisis information through text messaging using a mobile phone, email or web form.&lt;/p&gt;

&lt;p&gt;The network code for the Ushahidi app has been tied into &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt; (Tor on Android) using a SOCKS5 client. This does NOT require a rooted device to work – both it and Orbot can be run on stock, off the shelf Android devices on any mobile operator that offers at least a GPRS connection. This version of the app will ONLY work if Orbot is activated and connected to the Tor Network. Otherwise, network connections will fail.&lt;/p&gt;

&lt;p&gt;We plan/hope to work with the Ushahidi team to integrate this functionality into the main branch of code, and offer a clear, easy way for users to activate/deactivate use of the anonymity/anti-surveillence features.&lt;/p&gt;

&lt;p&gt;You can access the complete source code for Ushahidi-Linda on Android via our &lt;a href=&#34;https://github.com/guardianproject/Ushahidi_Android&#34;&gt;Git repository&lt;/a&gt; and also &lt;a href=&#34;https://github.com/guardianproject/Ushahidi_Android/downloads&#34;&gt;download test builds&lt;/a&gt; as they are available. &lt;strong&gt;PLEASE NOTE: Until further notice and formal announcements, these builds should be considered ALPHA and are for testing, proof of concept use only.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Specifically you can see how we have provided a new &lt;a href=&#34;https://github.com/guardianproject/Ushahidi_Android/tree/master/src/info/guardianproject/net/&#34;&gt;SocksHTTPClient package&lt;/a&gt; that proxies all GET and POST connections through SOCKS.&lt;/p&gt;

&lt;p&gt;From here, the plan is to implement a security pin on startup, local data encryption for storage of data both in the database and on the sdcard, as well as quick “delete all” features.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Learn more about the Tor Project and how network anonymity works at&lt;/em&gt; &lt;a href=&#34;https://www.torproject.org&#34;&gt;&lt;em&gt;https://www.torproject.org&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orweb: Private Web Browser</title>
      <link>https://guardianproject.info/archive/orweb/</link>
      <pubDate>Wed, 10 Mar 2010 19:20:33 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/orweb/</guid>
      <description>

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;strong&gt;Our new Orfox browser is now released and makes Orweb obsolete. &lt;/strong&gt;
&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;There are now three new options for you to browser easily through Tor with Orbot:&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;1) Use Orfox, the NEW browser for Orbot based on Tor Browser and Firefox, that is currently in stable BETA: &lt;a href=&#34;https://guardianproject.info/apps/orfox&#34;&gt;https://guardianproject.info/apps/orfox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Use Orbot&amp;rsquo;s VPN mode feature to proxy any app through Tor. WARNING: This does not make you anonymous, but does help you get through firewalls, filters and other network troubles that may be blocking access to a website or app. You can use Chrome browser with this, but your identity won&amp;rsquo;t be protected, ONLY your network traffic.&lt;/p&gt;

&lt;p&gt;3) Use Lightning Browser, a &amp;ldquo;light&amp;rdquo; open-source browser that supports Tor proxying with Orbot, but not all of the privacy features and security hardening of Orfox. Good for phones with less memory / storage: &lt;a href=&#34;https://github.com/anthonycr/Lightning-Browser&#34;&gt;https://github.com/anthonycr/Lightning-Browser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn more about Orfox at &lt;a href=&#34;https://guardianproject.info/apps/orfox&#34;&gt;https://guardianproject.info/apps/orfox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(see below for the archived information on Orweb)&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;★ ACCEPT NO SUBSTITUTES: Orweb is the safest browser on Android. Period. Orweb evades tracking and censorship by bouncing your encrypted traffic several times through computers around the world, instead of connecting you directly like VPNs and proxies. This process takes a little longer, but the strongest privacy and identity protection available is worth the wait.&lt;br /&gt;
★ CIRCUMVENT FIREWALLS AND RESTRICTIONS: Does your office, school, or region block certain websites? Not anymore. Orweb bypasses almost every kind of network restriction.&lt;br /&gt;
★ BROWSE ANONYMOUSLY: As the New York Times writes, “when a communication arrives from Tor, you can never know where or whom it’s from.” No technology is 100% effective, but Orweb is as close to anonymous as it’s possible to get on Android.&lt;br /&gt;
★ PRIVACY YOU CAN TRUST: The Electronic Frontier Foundation (EFF) says “the groundbreaking work from the Tor project helps users everywhere improve the safety of their online communications.”&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/Screenshot_2013-02-17-23-20-24-168x300.png&#34; alt=&#34;Orweb green&#34; width=&#34;168&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  Download Orweb: &lt;a href=&#34;https://market.android.com/details?id=info.guardianproject.browser&#34;&gt;Google Play&lt;/a&gt; | &lt;a href=&#34;https://guardianproject.info/releases/orweb-latest.apk&#34;&gt;Direct Download (.apk)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;*\&lt;em&gt;*IMPORTANT**&lt;/em&gt;&lt;br /&gt;
Requires the free Orbot plugin. Download it here: &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34;&gt;https://play.google.com/store/apps/details?id=org.torproject.android&lt;/a&gt;&lt;/p&gt;

&lt;h1 style=&#34;text-align: left;&#34;&gt;
  Features
&lt;/h1&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  ★ NO BROWSING HISTORY: Orweb does not store any information about the websites you visit.&lt;br /&gt; ★ FLEXIBLE COOKIE CONTROL: You can prevent sites you visit from installing any cookies (which could track your web activities), allow them selectively, or allow any site to create cookies.&lt;br /&gt; ★ DISGUISE YOUR DEVICE: You choose which phone or computer websites you visit think you are using.&lt;br /&gt; ★ RESISTANT TO JAVASCRIPT ATTACKS: JavaScript, a common attack method for malicious software, is disabled by default.&lt;br /&gt; ★ RESISTANT TO FLASH VULNERABILITIES: Orweb attempts to prevent Flash from loading on sites you visit, blocking many common security threats.&lt;br /&gt; ★ EASY TO USE: You’re just a few clicks away from free, anonymous web surfing. For a quick, interactive walkthrough, visit our website: &lt;a href=&#34;https://www.google.com/url?q=https://guardianproject.info/howto/browsefreely&amp;sa=D&amp;usg=AFQjCNEG7commrc67XrUxb_0tfKCMQPy2g&#34; target=&#34;_blank&#34;&gt;https://guardianproject.info/howto/browsefreely&lt;/a&gt;&lt;br /&gt; ★ OPEN-SOURCE: Our code is transparent. You can take a look or join the community to help make Orweb even better: &lt;a href=&#34;https://www.google.com/url?q=https://github.com/guardianproject/orweb&amp;sa=D&amp;usg=AFQjCNE6hCYUT7_GHfwYQvUg_Xex0TWWXg&#34; target=&#34;_blank&#34;&gt;https://github.com/guardianproject/orweb&lt;/a&gt;&lt;br /&gt; ★ FREEDOM IN YOUR LANGUAGE: Orweb is available in: Arabic (العربية), Chinese (中文简体), Dutch (Nederlands), English, Esperanto, Farsi (فارسی), French (Français), German (Deutsch), Greek (Ελληνικά), Hungarian (Magyar Nyelv), Italian (Italiano), Norwegian (Norsk), Russian (Русский), Spanish (Español), Swedish (Svensk), and Tibetan (བོད་སྐད།). Don’t see your language? Join us and help translate the app: &lt;a href=&#34;https://www.google.com/url?q=https://www.transifex.com/projects/p/orweb&amp;sa=D&amp;usg=AFQjCNEjLjUZCtAEMuiAMwMYZRC2ZoK8-Q&#34; target=&#34;_blank&#34;&gt;https://www.transifex.com/projects/p/orweb&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Orweb is based on the open-source &lt;a href=&#34;http://www.cl.cam.ac.uk/research/dtg/android/tor/&#34;&gt;Shadow browser&lt;/a&gt; from the University of Cambridge, Orweb works hand in hand with &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt; to provide web access that is able to circumvent web filters and firewalls, while also improving a users ability to remain anonymous online. Orweb also enables whitelist control of cookies, keeps no local history, disables Flash, and requires only Internet permissions, keeping you safe from malicious content. Beyond Tor, Orweb also supports any HTTP proxy server.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/2013-05-14-18.10.05-168x300.png&#34; alt=&#34;2013-05-14 18.10.05&#34; width=&#34;168&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also help us translate this howto video: &lt;a href=&#34;http://www.amara.org/en/videos/8YqG1DmIXHWs/info/howto-using-orweb-for-anonymous-browsing&#34; title=&#34;amara orweb&#34;&gt;http://www.amara.org/en/videos/8YqG1DmIXHWs/info/howto-using-orweb-for-anonymous-browsing&lt;/a&gt;&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/Dcf5sh99ze0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;h1 id=&#34;orweb-for-ios&#34;&gt;Orweb for iOS?&lt;/h1&gt;

&lt;p&gt;This doesn&amp;rsquo;t exist yet, but there is a web browser that uses Tor out for iPhones and iPads called &lt;a title=&#34;onion browser&#34; href=&#34;https://onionbrowser.com&#34; target=&#34;_blank&#34;&gt;Onion Browser&lt;/a&gt;. While not an official release from &lt;a title=&#34;Tor Project&#34; href=&#34;https://www.torproject.org/&#34; target=&#34;_blank&#34;&gt;The Tor Project&lt;/a&gt;, it is an &lt;a title=&#34;onion browser github&#34; href=&#34;https://github.com/mtigas/iOS-OnionBrowser&#34; target=&#34;_blank&#34;&gt;open source effort&lt;/a&gt;. It&amp;rsquo;s available in the Apple &lt;a title=&#34;onion browser app store&#34; href=&#34;https://itunes.apple.com/us/app/onion-browser/id519296448?mt=8&amp;partnerId=30&amp;siteID=6P4Cgxrxf*M&#34; target=&#34;_blank&#34;&gt;iTunes App Store for $0.99&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orweb: Private Web Browser</title>
      <link>https://guardianproject.info/archive/orweb/</link>
      <pubDate>Wed, 10 Mar 2010 19:20:33 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/orweb/</guid>
      <description>

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;strong&gt;Our new Orfox browser is now released and makes Orweb obsolete. &lt;/strong&gt;
&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;There are now three new options for you to browser easily through Tor with Orbot:&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;1) Use Orfox, the NEW browser for Orbot based on Tor Browser and Firefox, that is currently in stable BETA: &lt;a href=&#34;https://guardianproject.info/apps/orfox&#34;&gt;https://guardianproject.info/apps/orfox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Use Orbot&amp;rsquo;s VPN mode feature to proxy any app through Tor. WARNING: This does not make you anonymous, but does help you get through firewalls, filters and other network troubles that may be blocking access to a website or app. You can use Chrome browser with this, but your identity won&amp;rsquo;t be protected, ONLY your network traffic.&lt;/p&gt;

&lt;p&gt;3) Use Lightning Browser, a &amp;ldquo;light&amp;rdquo; open-source browser that supports Tor proxying with Orbot, but not all of the privacy features and security hardening of Orfox. Good for phones with less memory / storage: &lt;a href=&#34;https://github.com/anthonycr/Lightning-Browser&#34;&gt;https://github.com/anthonycr/Lightning-Browser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn more about Orfox at &lt;a href=&#34;https://guardianproject.info/apps/orfox&#34;&gt;https://guardianproject.info/apps/orfox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(see below for the archived information on Orweb)&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;★ ACCEPT NO SUBSTITUTES: Orweb is the safest browser on Android. Period. Orweb evades tracking and censorship by bouncing your encrypted traffic several times through computers around the world, instead of connecting you directly like VPNs and proxies. This process takes a little longer, but the strongest privacy and identity protection available is worth the wait.&lt;br /&gt;
★ CIRCUMVENT FIREWALLS AND RESTRICTIONS: Does your office, school, or region block certain websites? Not anymore. Orweb bypasses almost every kind of network restriction.&lt;br /&gt;
★ BROWSE ANONYMOUSLY: As the New York Times writes, “when a communication arrives from Tor, you can never know where or whom it’s from.” No technology is 100% effective, but Orweb is as close to anonymous as it’s possible to get on Android.&lt;br /&gt;
★ PRIVACY YOU CAN TRUST: The Electronic Frontier Foundation (EFF) says “the groundbreaking work from the Tor project helps users everywhere improve the safety of their online communications.”&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/Screenshot_2013-02-17-23-20-24-168x300.png&#34; alt=&#34;Orweb green&#34; width=&#34;168&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;
  Download Orweb: &lt;a href=&#34;https://market.android.com/details?id=info.guardianproject.browser&#34;&gt;Google Play&lt;/a&gt; | &lt;a href=&#34;https://guardianproject.info/releases/orweb-latest.apk&#34;&gt;Direct Download (.apk)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;*\&lt;em&gt;*IMPORTANT**&lt;/em&gt;&lt;br /&gt;
Requires the free Orbot plugin. Download it here: &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34;&gt;https://play.google.com/store/apps/details?id=org.torproject.android&lt;/a&gt;&lt;/p&gt;

&lt;h1 style=&#34;text-align: left;&#34;&gt;
  Features
&lt;/h1&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  ★ NO BROWSING HISTORY: Orweb does not store any information about the websites you visit.&lt;br /&gt; ★ FLEXIBLE COOKIE CONTROL: You can prevent sites you visit from installing any cookies (which could track your web activities), allow them selectively, or allow any site to create cookies.&lt;br /&gt; ★ DISGUISE YOUR DEVICE: You choose which phone or computer websites you visit think you are using.&lt;br /&gt; ★ RESISTANT TO JAVASCRIPT ATTACKS: JavaScript, a common attack method for malicious software, is disabled by default.&lt;br /&gt; ★ RESISTANT TO FLASH VULNERABILITIES: Orweb attempts to prevent Flash from loading on sites you visit, blocking many common security threats.&lt;br /&gt; ★ EASY TO USE: You’re just a few clicks away from free, anonymous web surfing. For a quick, interactive walkthrough, visit our website: &lt;a href=&#34;https://www.google.com/url?q=https://guardianproject.info/howto/browsefreely&amp;sa=D&amp;usg=AFQjCNEG7commrc67XrUxb_0tfKCMQPy2g&#34; target=&#34;_blank&#34;&gt;https://guardianproject.info/howto/browsefreely&lt;/a&gt;&lt;br /&gt; ★ OPEN-SOURCE: Our code is transparent. You can take a look or join the community to help make Orweb even better: &lt;a href=&#34;https://www.google.com/url?q=https://github.com/guardianproject/orweb&amp;sa=D&amp;usg=AFQjCNE6hCYUT7_GHfwYQvUg_Xex0TWWXg&#34; target=&#34;_blank&#34;&gt;https://github.com/guardianproject/orweb&lt;/a&gt;&lt;br /&gt; ★ FREEDOM IN YOUR LANGUAGE: Orweb is available in: Arabic (العربية), Chinese (中文简体), Dutch (Nederlands), English, Esperanto, Farsi (فارسی), French (Français), German (Deutsch), Greek (Ελληνικά), Hungarian (Magyar Nyelv), Italian (Italiano), Norwegian (Norsk), Russian (Русский), Spanish (Español), Swedish (Svensk), and Tibetan (བོད་སྐད།). Don’t see your language? Join us and help translate the app: &lt;a href=&#34;https://www.google.com/url?q=https://www.transifex.com/projects/p/orweb&amp;sa=D&amp;usg=AFQjCNEjLjUZCtAEMuiAMwMYZRC2ZoK8-Q&#34; target=&#34;_blank&#34;&gt;https://www.transifex.com/projects/p/orweb&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Orweb is based on the open-source &lt;a href=&#34;http://www.cl.cam.ac.uk/research/dtg/android/tor/&#34;&gt;Shadow browser&lt;/a&gt; from the University of Cambridge, Orweb works hand in hand with &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt; to provide web access that is able to circumvent web filters and firewalls, while also improving a users ability to remain anonymous online. Orweb also enables whitelist control of cookies, keeps no local history, disables Flash, and requires only Internet permissions, keeping you safe from malicious content. Beyond Tor, Orweb also supports any HTTP proxy server.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=info.guardianproject.browser&#34; target=&#34;_blank&#34;&gt;&lt;img class=&#34;aligncenter&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/2013-05-14-18.10.05-168x300.png&#34; alt=&#34;2013-05-14 18.10.05&#34; width=&#34;168&#34; height=&#34;300&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also help us translate this howto video: &lt;a href=&#34;http://www.amara.org/en/videos/8YqG1DmIXHWs/info/howto-using-orweb-for-anonymous-browsing&#34; title=&#34;amara orweb&#34;&gt;http://www.amara.org/en/videos/8YqG1DmIXHWs/info/howto-using-orweb-for-anonymous-browsing&lt;/a&gt;&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/Dcf5sh99ze0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;h1 id=&#34;orweb-for-ios&#34;&gt;Orweb for iOS?&lt;/h1&gt;

&lt;p&gt;This doesn&amp;rsquo;t exist yet, but there is a web browser that uses Tor out for iPhones and iPads called &lt;a title=&#34;onion browser&#34; href=&#34;https://onionbrowser.com&#34; target=&#34;_blank&#34;&gt;Onion Browser&lt;/a&gt;. While not an official release from &lt;a title=&#34;Tor Project&#34; href=&#34;https://www.torproject.org/&#34; target=&#34;_blank&#34;&gt;The Tor Project&lt;/a&gt;, it is an &lt;a title=&#34;onion browser github&#34; href=&#34;https://github.com/mtigas/iOS-OnionBrowser&#34; target=&#34;_blank&#34;&gt;open source effort&lt;/a&gt;. It&amp;rsquo;s available in the Apple &lt;a title=&#34;onion browser app store&#34; href=&#34;https://itunes.apple.com/us/app/onion-browser/id519296448?mt=8&amp;partnerId=30&amp;siteID=6P4Cgxrxf*M&#34; target=&#34;_blank&#34;&gt;iTunes App Store for $0.99&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot goes Beta</title>
      <link>https://guardianproject.info/2010/03/04/orbot-goes-beta/</link>
      <pubDate>Thu, 04 Mar 2010 16:14:01 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/03/04/orbot-goes-beta/</guid>
      <description>&lt;p&gt;As announced on the &lt;a href=&#34;https://blog.torproject.org/blog/tor-android&#34;&gt;Tor Blog&lt;/a&gt;, an important development:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Tor Project has been working very closely with &lt;a href=&#34;http://openideals.com/&#34;&gt;Nathan Freitas&lt;/a&gt; and &lt;a href=&#34;http://openideals.com/guardian/&#34;&gt;The Guardian Project&lt;/a&gt; to create an Android release. This is an early beta release and is not yet suitable for high security needs. The Android web browser is not protected by Torbutton and we have not yet developed an anonymous browser on the Android platform. Please be cautious with this release, it’s probably pretty fragile and it’s certainly not ready for serious use.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We just want to emphasize the word “fragile”. While we are proud of this work, it is a first release, and with all security, anti-censorship, anti-surveillance software, you must take each step slowly, deliberately, and seriously. So please, &lt;a href=&#34;https://blog.torproject.org/blog/tor-android&#34;&gt;download the Orbot APK build&lt;/a&gt;, test the frack out of it, &lt;a href=&#34;https://bugs.torproject.org/flyspray/index.php?tasks=all&amp;amp;project=8&#34;&gt;report bugs and feedback here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are some really cool features in Orbot, specifically “Per App Torification” if you have a modified/rooted device, running &lt;a href=&#34;http://cyanogenmod.com&#34;&gt;CyanogenMOD&lt;/a&gt; or another alternative firmware. However, even if you have a stock Android device straight from a T-Mobile, Verizon or China Mobile store, this is for you!&lt;/p&gt;

&lt;p&gt;If you’d like to do the QRCode scan install thing, point your Android camera at this:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-qr-code-latest.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-186&#34; title=&#34;orbot-qr-code-latest&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-qr-code-latest.png&#34; alt=&#34;&#34; width=&#34;123&#34; height=&#34;123&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-qr-code-latest.png 123w, https://guardianproject.info/wp-content/uploads/2010/03/orbot-qr-code-latest-64x64.png 64w&#34; sizes=&#34;(max-width: 123px) 100vw, 123px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>MobileActive Helps Secure Citizen Journalists</title>
      <link>https://guardianproject.info/2010/03/02/mobileactive-helps-secure-citizen-journalists/</link>
      <pubDate>Tue, 02 Mar 2010 17:28:30 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/03/02/mobileactive-helps-secure-citizen-journalists/</guid>
      <description>&lt;p&gt;While we appreciate the mention in this new guide from &lt;a href=&#34;http://mobileactive.org&#34;&gt;MobileActive&lt;/a&gt;, we appreciate even more the hard work put into documenting practical solutions for citizen journalists that are available today. This guide covers both low and hi-tech approaches to using a mobile phone to document and share media, while still trying to protect your identity and safeguarding communication:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Mobile phones are used to compose stories, capture multi-media evidence and disseminate content to local and international audiences. This can be accomplished extremely quickly, making mobile media tools attractive to citizens and journalists covering rapidly unfolding events such as protests or political or other crises. The rise of mobiles has also helped extend citizen journalism into transient, poor or otherwise disconnected communities.&lt;/p&gt;

&lt;p&gt;However, for those working under repressive regimes, citizen journalism can be a double-edged sword. Anything you create and disseminate can be used against you, whether through the legal system or in other more sinister forms of suppression.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Unfortunately, since our port of Tor (&lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt;), isn’t widely available or in the Android Market yet, they decided to promote the existing TorProxy+Shadow solution, which we and the Tor Project team believe to be insecure. Read more about those issue in &lt;a href=&#34;http://www.h-online.com/open/news/item/Anonymous-browsing-on-Android-Update-769920.html&#34;&gt;this article from H-Online&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you really need anonymous, secure access on an Android phone, please &lt;a href=&#34;https://guardianproject.info/contact&#34;&gt;contact us&lt;/a&gt;, and we will set you up with &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;Orbot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;View the complete guide here: &lt;a href=&#34;http://mobileactive.org/mobilesecurity-citizenjournalism&#34;&gt;http://mobileactive.org/mobilesecurity-citizenjournalism&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot main screen redesign</title>
      <link>https://guardianproject.info/2010/03/01/orbot-main-screen-redesign/</link>
      <pubDate>Mon, 01 Mar 2010 21:48:06 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/03/01/orbot-main-screen-redesign/</guid>
      <description>&lt;p&gt;Here’s a few screenshots of the new “ACTIVATE ORBOT!” user interface. Just polishing up some of the features and doing a last few days of diligent testing before we release to the wider public.&lt;/p&gt;

&lt;p&gt;Overall, we want Tor on Android to be a one touch type experience, while still offering all the necessary options for configuration of bridges, rate limiting, etc.&lt;/p&gt;

&lt;p&gt;The coolest Android-only feature, which unfortunately requires your device to be rooted, is the ability to choose which apps on your device will be “Torified” automatically and transparently.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-off.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-152&#34; title=&#34;orbot-off&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-off-203x300.jpg&#34; alt=&#34;&#34; width=&#34;203&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-off-203x300.jpg 203w, https://guardianproject.info/wp-content/uploads/2010/03/orbot-off.jpg 336w&#34; sizes=&#34;(max-width: 203px) 100vw, 203px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-on.jpg&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-153&#34; title=&#34;orbot-on&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-on-203x300.jpg&#34; alt=&#34;&#34; width=&#34;203&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/03/orbot-on-203x300.jpg 203w, https://guardianproject.info/wp-content/uploads/2010/03/orbot-on.jpg 336w&#34; sizes=&#34;(max-width: 203px) 100vw, 203px&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Partners and Funding</title>
      <link>https://guardianproject.info/partners/</link>
      <pubDate>Thu, 11 Feb 2010 05:53:10 -0400</pubDate>
      
      <guid>https://guardianproject.info/partners/</guid>
      <description>

&lt;!--:en--&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  If you are an activist or represent an NGO or other organization interested in getting access to Guardian-enabled mobile phones, please &lt;a href=&#34;https://guardianproject.info/contact&#34;&gt;let us know&lt;/a&gt;. We are always interested in finding new partners to work with.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;em&gt;Note: this project receives grants and sub-contracts from organizations (such as the Open Technology Fund) and research projects (such as the Tor Project) that receive funding from the U.S. Government and other governments around the world. None of this funding has modified or shaped our development plans, and we would never, ever put any sort of backdoor or compromised component into our software based on this funding.&lt;/em&gt;
&lt;/p&gt;

&lt;h2 id=&#34;filecoin-foundation-for-the-decentralized-web&#34;&gt;Filecoin Foundation for the Decentralized Web&lt;/h2&gt;

&lt;p&gt;In 2021, we received funding and support from the &lt;a href=&#34;https://ffdweb.org/&#34;&gt;Filecoin Foundation for the Decentralized Web&lt;/a&gt; to support our work on improving resiliency, preservation and access to essential, human rights media and content.&lt;/p&gt;

&lt;h2 id=&#34;nlnet&#34;&gt;NLnet&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://nlnet.nl/project/F-Droid-Trackers/&#34;&gt;https://nlnet.nl/project/F-Droid-Trackers/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://nlnet.nl/project/EthicalApps/&#34;&gt;https://nlnet.nl/project/EthicalApps/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;freedom-of-the-press-foundation&#34;&gt;Freedom of the Press Foundation&lt;/h2&gt;

&lt;p&gt;We received funding in 2017 and support for a &lt;a href=&#34;https://freedom.press/donate-support-haven-open-source-project/&#34;&gt;crowdfunding effort&lt;/a&gt; from FPF related to our work on Haven.&lt;/p&gt;

&lt;h2 id=&#34;vienna-science-and-technology-fund-wwtf-https-www-wwtf-at&#34;&gt;Vienna Science and Technology Fund (&lt;a href=&#34;https://www.wwtf.at/&#34;&gt;WWTF&lt;/a&gt;)&lt;/h2&gt;

&lt;p&gt;Ethics-in-an-app, in partnership with Aaron Kaplan and epicenter.works
&lt;a href=&#34;https://www.wien.gv.at/presse/2019/11/15/digitaler-humanismus-wien-als-zentrum&#34;&gt;https://www.wien.gv.at/presse/2019/11/15/digitaler-humanismus-wien-als-zentrum&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digital Humanism&lt;/p&gt;

&lt;h2 id=&#34;handshake-foundation&#34;&gt;Handshake Foundation&lt;/h2&gt;

&lt;p&gt;In 2018, we received a grant from &lt;a href=&#34;https://handshake.org/&#34;&gt;Handshake&lt;/a&gt;, an organization developing an experimental peer-to-peer root domain naming system.&lt;/p&gt;

&lt;h2 id=&#34;isc-project&#34;&gt;ISC Project&lt;/h2&gt;

&lt;p&gt;We receive some small grants from ISC Project to support localization with Weblate.&lt;/p&gt;

&lt;h2 id=&#34;eric-and-wendy-schmidt-foundation&#34;&gt;Eric and Wendy Schmidt Foundation&lt;/h2&gt;

&lt;p&gt;In 2014, we received a generous grant from the &lt;a href=&#34;https://guardianproject.info/2014/03/10/eric-schmidt-awards-guardian-project-a-new-digital-age-grant/&#34;&gt;New Digital Age Grants program&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.knightfoundation.org/grants/20123674/&#34;&gt;&lt;br /&gt;
&lt;img class=&#34;alignnone size-full wp-image-3267&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/knight-logo-300.jpg&#34; alt=&#34;knight-logo-300&#34; width=&#34;300&#34; height=&#34;50&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
In 2012, we received funding for our &lt;a href=&#34;https://guardianproject.info/apps/informacam&#34;&gt;InformaCam project&lt;/a&gt;, and related supporting technologies from &lt;a style=&#34;font-size: 13px;&#34; href=&#34;https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/&#34;&gt;Knight News Challenge&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;google&#34;&gt;Google&lt;/h2&gt;

&lt;p&gt;In January 2011, the Guardian Project received a no strings attached donation from Google. We used this funding to accelerate our development activities in various areas, host developer events, produce audits and guides, and support activists in the field. This should not be seen as any formal endorsement of our work by Google corporate, hence we are not putting their logo here.&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://www.freepressunlimited.org/&#34;&gt;&lt;img class=&#34;alignnone wp-image-3076&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/free_press_unlimited_herzien.jpg&#34; alt=&#34;free_press_unlimited_herzien&#34; width=&#34;157&#34; height=&#34;152&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  The Netherlands-based &lt;a href=&#34;https://www.freepressunlimited.org/&#34;&gt;Free Press Unlimited&lt;/a&gt; has supported our work on StoryMaker, a new project focused on creating tools to help journalists and others use mobile media publishing in a more effective and secure manner.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/otrlogo.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-3404&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/otrlogo.png&#34; alt=&#34;otrlogo&#34; width=&#34;512&#34; height=&#34;72&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/otrlogo.png 512w, https://guardianproject.info/wp-content/uploads/2010/02/otrlogo-300x42.png 300w&#34; sizes=&#34;(max-width: 512px) 100vw, 512px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  The &lt;a href=&#34;https://opentech.fund/&#34;&gt;Open Technology Fund&lt;/a&gt; has provided support for work on our core apps, the StoryMaker project, and future work on decentralized application distribution.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/logo128x128.png&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/logo128x128.png&#34; alt=&#34;&#34; width=&#34;128&#34; height=&#34;128&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  Guardian Project has received funding from an continues to collaborate with the &lt;a href=&#34;https://tibetaction.net&#34;&gt;Tibet Action Institute&lt;/a&gt;. In addition, this project wouldn&#39;t be anywhere without the early and  enthusiastic support of &lt;a href=&#34;https://studentsforafreetibet.org&#34;&gt;Students for a Free Tibet&lt;/a&gt; and the entire Tibetan community. Bhod Rangzen!
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  Guardian has collaborated with the &lt;a href=&#34;https://www.torproject.org&#34;&gt;Tor Project&lt;/a&gt; to bring their software to Android.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  We are working with &lt;a href=&#34;https://www.witness.org&#34;&gt;Witness.org&lt;/a&gt; on Proofmode (previously InformaCam) and ObscuraCam, human rights-focused secure camera applications for mobile phones. WITNESS receives funding from the International Bar Association and the &lt;a href=&#34;https://knightfoundation.org&#34;&gt;Knight Foundation&lt;/a&gt;, among other funders, to support this work.
&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://mobileactive.org&#34;&gt;&lt;img title=&#34;mLogo2&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/mLogo2.png&#34; alt=&#34;&#34; width=&#34;301&#34; height=&#34;75&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2010, we worked with &lt;a href=&#34;https://mobileactive.org&#34;&gt;MobileActive.org&lt;/a&gt; on their &lt;a href=&#34;https://safermobile.org&#34;&gt;SaferMobile&lt;/a&gt; initiative.&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://avaaz.org&#34;&gt;Avaaz&lt;/a&gt; has graciously provided grant funding through our work in support of human rights in Tibet and China.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  The &lt;a href=&#34;https://humanrights.berkeley.edu/&#34;&gt;Human Rights Center at UC Berkeley&lt;/a&gt; uses innovative technologies and scientific methods to investigate war crimes and human rights abuses. Guardian received first prize in their 2009 &#34;Soul of the New Machine&#34; Grant Competition.
&lt;/p&gt;

&lt;!--:--&gt;

&lt;!--:pt--&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>Partners and Funding</title>
      <link>https://guardianproject.info/partners/</link>
      <pubDate>Thu, 11 Feb 2010 05:53:10 -0400</pubDate>
      
      <guid>https://guardianproject.info/partners/</guid>
      <description>

&lt;!--:en--&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  If you are an activist or represent an NGO or other organization interested in getting access to Guardian-enabled mobile phones, please &lt;a href=&#34;https://guardianproject.info/contact&#34;&gt;let us know&lt;/a&gt;. We are always interested in finding new partners to work with.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;em&gt;Note: this project receives grants and sub-contracts from organizations (such as the Open Technology Fund) and research projects (such as the Tor Project) that receive funding from the U.S. Government and other governments around the world. None of this funding has modified or shaped our development plans, and we would never, ever put any sort of backdoor or compromised component into our software based on this funding.&lt;/em&gt;
&lt;/p&gt;

&lt;h2 id=&#34;filecoin-foundation-for-the-decentralized-web&#34;&gt;Filecoin Foundation for the Decentralized Web&lt;/h2&gt;

&lt;p&gt;In 2021, we received funding and support from the &lt;a href=&#34;https://ffdweb.org/&#34;&gt;Filecoin Foundation for the Decentralized Web&lt;/a&gt; to support our work on improving resiliency, preservation and access to essential, human rights media and content.&lt;/p&gt;

&lt;h2 id=&#34;nlnet&#34;&gt;NLnet&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://nlnet.nl/project/F-Droid-Trackers/&#34;&gt;https://nlnet.nl/project/F-Droid-Trackers/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://nlnet.nl/project/EthicalApps/&#34;&gt;https://nlnet.nl/project/EthicalApps/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;freedom-of-the-press-foundation&#34;&gt;Freedom of the Press Foundation&lt;/h2&gt;

&lt;p&gt;We received funding in 2017 and support for a &lt;a href=&#34;https://freedom.press/donate-support-haven-open-source-project/&#34;&gt;crowdfunding effort&lt;/a&gt; from FPF related to our work on Haven.&lt;/p&gt;

&lt;h2 id=&#34;vienna-science-and-technology-fund-wwtf-https-www-wwtf-at&#34;&gt;Vienna Science and Technology Fund (&lt;a href=&#34;https://www.wwtf.at/&#34;&gt;WWTF&lt;/a&gt;)&lt;/h2&gt;

&lt;p&gt;Ethics-in-an-app, in partnership with Aaron Kaplan and epicenter.works
&lt;a href=&#34;https://www.wien.gv.at/presse/2019/11/15/digitaler-humanismus-wien-als-zentrum&#34;&gt;https://www.wien.gv.at/presse/2019/11/15/digitaler-humanismus-wien-als-zentrum&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digital Humanism&lt;/p&gt;

&lt;h2 id=&#34;handshake-foundation&#34;&gt;Handshake Foundation&lt;/h2&gt;

&lt;p&gt;In 2018, we received a grant from &lt;a href=&#34;https://handshake.org/&#34;&gt;Handshake&lt;/a&gt;, an organization developing an experimental peer-to-peer root domain naming system.&lt;/p&gt;

&lt;h2 id=&#34;isc-project&#34;&gt;ISC Project&lt;/h2&gt;

&lt;p&gt;We receive some small grants from ISC Project to support localization with Weblate.&lt;/p&gt;

&lt;h2 id=&#34;eric-and-wendy-schmidt-foundation&#34;&gt;Eric and Wendy Schmidt Foundation&lt;/h2&gt;

&lt;p&gt;In 2014, we received a generous grant from the &lt;a href=&#34;https://guardianproject.info/2014/03/10/eric-schmidt-awards-guardian-project-a-new-digital-age-grant/&#34;&gt;New Digital Age Grants program&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.knightfoundation.org/grants/20123674/&#34;&gt;&lt;br /&gt;
&lt;img class=&#34;alignnone size-full wp-image-3267&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2012/03/knight-logo-300.jpg&#34; alt=&#34;knight-logo-300&#34; width=&#34;300&#34; height=&#34;50&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
In 2012, we received funding for our &lt;a href=&#34;https://guardianproject.info/apps/informacam&#34;&gt;InformaCam project&lt;/a&gt;, and related supporting technologies from &lt;a style=&#34;font-size: 13px;&#34; href=&#34;https://guardianproject.info/2013/01/27/informacam-wins-knight-news-challenge/&#34;&gt;Knight News Challenge&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;google&#34;&gt;Google&lt;/h2&gt;

&lt;p&gt;In January 2011, the Guardian Project received a no strings attached donation from Google. We used this funding to accelerate our development activities in various areas, host developer events, produce audits and guides, and support activists in the field. This should not be seen as any formal endorsement of our work by Google corporate, hence we are not putting their logo here.&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://www.freepressunlimited.org/&#34;&gt;&lt;img class=&#34;alignnone wp-image-3076&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/free_press_unlimited_herzien.jpg&#34; alt=&#34;free_press_unlimited_herzien&#34; width=&#34;157&#34; height=&#34;152&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  The Netherlands-based &lt;a href=&#34;https://www.freepressunlimited.org/&#34;&gt;Free Press Unlimited&lt;/a&gt; has supported our work on StoryMaker, a new project focused on creating tools to help journalists and others use mobile media publishing in a more effective and secure manner.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/otrlogo.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-3404&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/otrlogo.png&#34; alt=&#34;otrlogo&#34; width=&#34;512&#34; height=&#34;72&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/otrlogo.png 512w, https://guardianproject.info/wp-content/uploads/2010/02/otrlogo-300x42.png 300w&#34; sizes=&#34;(max-width: 512px) 100vw, 512px&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  The &lt;a href=&#34;https://opentech.fund/&#34;&gt;Open Technology Fund&lt;/a&gt; has provided support for work on our core apps, the StoryMaker project, and future work on decentralized application distribution.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://guardianproject.info/wp-content/uploads/2010/02/logo128x128.png&#34;&gt;&lt;img class=&#34;alignnone&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/logo128x128.png&#34; alt=&#34;&#34; width=&#34;128&#34; height=&#34;128&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  Guardian Project has received funding from an continues to collaborate with the &lt;a href=&#34;https://tibetaction.net&#34;&gt;Tibet Action Institute&lt;/a&gt;. In addition, this project wouldn&#39;t be anywhere without the early and  enthusiastic support of &lt;a href=&#34;https://studentsforafreetibet.org&#34;&gt;Students for a Free Tibet&lt;/a&gt; and the entire Tibetan community. Bhod Rangzen!
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  Guardian has collaborated with the &lt;a href=&#34;https://www.torproject.org&#34;&gt;Tor Project&lt;/a&gt; to bring their software to Android.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  We are working with &lt;a href=&#34;https://www.witness.org&#34;&gt;Witness.org&lt;/a&gt; on Proofmode (previously InformaCam) and ObscuraCam, human rights-focused secure camera applications for mobile phones. WITNESS receives funding from the International Bar Association and the &lt;a href=&#34;https://knightfoundation.org&#34;&gt;Knight Foundation&lt;/a&gt;, among other funders, to support this work.
&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://mobileactive.org&#34;&gt;&lt;img title=&#34;mLogo2&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/mLogo2.png&#34; alt=&#34;&#34; width=&#34;301&#34; height=&#34;75&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2010, we worked with &lt;a href=&#34;https://mobileactive.org&#34;&gt;MobileActive.org&lt;/a&gt; on their &lt;a href=&#34;https://safermobile.org&#34;&gt;SaferMobile&lt;/a&gt; initiative.&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;a href=&#34;https://avaaz.org&#34;&gt;Avaaz&lt;/a&gt; has graciously provided grant funding through our work in support of human rights in Tibet and China.
&lt;/p&gt;

&lt;p style=&#34;text-align: left;&#34;&gt;
  The &lt;a href=&#34;https://humanrights.berkeley.edu/&#34;&gt;Human Rights Center at UC Berkeley&lt;/a&gt; uses innovative technologies and scientific methods to investigate war crimes and human rights abuses. Guardian received first prize in their 2009 &#34;Soul of the New Machine&#34; Grant Competition.
&lt;/p&gt;

&lt;!--:--&gt;

&lt;!--:pt--&gt;

&lt;!--:--&gt;
</description>
    </item>
    
    <item>
      <title>One Solution for Push-to-Talk</title>
      <link>https://guardianproject.info/2010/02/11/one-solution-for-push-to-talk/</link>
      <pubDate>Thu, 11 Feb 2010 03:50:22 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/02/11/one-solution-for-push-to-talk/</guid>
      <description>&lt;p&gt;As part of rolling out the first-phase of &lt;a href=&#34;http://openideals.com/guardian&#34;&gt;The Guardian Project&lt;/a&gt;, I will be writing short reviews of existing applications for Android-based mobile phones that share our general goals or desired functionality. The goal of Guardian, in short, is to enable safe and secure communication for activists, organizers and advocates working for good around the world through the mobile phones they carry in their pockets.&lt;/p&gt;

&lt;p&gt;The Guardian project has no official relationship with these apps or their creators, but as we work towards developing our own unique software, we want to make sure to shine the spotlight on existing efforts that we admire and which are currently available. We’d also happily collaborate with any of them (or *you* if you are a developer reading this), and have them join our open-source efforts.&lt;/p&gt;

&lt;p&gt;The first application is &lt;a href=&#34;http://hit-mob.com/walkie-talkie-push-to-talk/&#34;&gt;Walkie Talkie Push to Talk&lt;/a&gt;, which is a great alternative take on real-time VOIP or standard phone calls. Physical walkie talkie radios and Nextel-style PTT services have long been a valuable tool for many activists, and this application bring that capability to a global scale. Walkie Talkie can be used over GRPS, EDGE, 3G or Wifi networks, as well – whatever is available at the time.&lt;/p&gt;

&lt;p&gt;Here’s a short description from the developer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Walkie Talkie Push to Talk is a mobile application that allows walkie talkie style voice communications. Simply hold down the “Record &amp;amp; Send” button and speak. Messages can be sent to a group of people. Received messages are automatically played. If program is running, incoming messages arrive as soon as 15 seconds. If program is not visible, it polls in the background every 1 minute (to save battery).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The back-end messaging system used by this application is actual POP or IMAP, in other words email! If you utilize a secure IMAP/S connection with the application, then the voice communications are transmitted securely over the wireless network and Internet. If you use a service like Gmail (which offers secure IMAP access), then your access is hidden within the millions of other users accessing Gmail, as well.&lt;/p&gt;

&lt;p&gt;Not drawing attention to your network traffic is often as important as securing your data. Also, while Gmail isn’t always the ideal service to use if you wish to retain full control of your data, it is much more difficult for an authority to block than a single proxy or a private server.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://hit-mob.com/walkie-talkie-push-to-talk/&#34;&gt;Learn more about Walkie Talkie&lt;/a&gt; and download it from the Android Market today.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot: Initial Release (repost)</title>
      <link>https://guardianproject.info/2010/02/10/orbot-initial-release-repost/</link>
      <pubDate>Wed, 10 Feb 2010 20:26:23 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/02/10/orbot-initial-release-repost/</guid>
      <description>&lt;p&gt;&lt;em&gt;This was originally posted in October 2009.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’d like to make this post without much fanfare. Just looking to share information on the work I’ve been doing with the fantastically radical team over at the &lt;a href=&#34;https://www.torproject.org&#34;&gt;Tor Project&lt;/a&gt;, as part of my work on the &lt;a href=&#34;http://openideals.com/guardian&#34;&gt;Guardian Project&lt;/a&gt;. We have successfully ported the native C Tor app to Android and built an Android application bundle that installs, runs and provides the glue needed to make it useful to end users…. secure, anonymous access to the web via Tor on Android is now a reality. (&lt;em&gt;Update: Tor doesn’t magically encrypt all of your Internet activities, though. You should &lt;a href=&#34;https://www.torproject.org/download.html.en#Warning&#34;&gt;understand what Tor does and does not do for you&lt;/a&gt;.&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;However, there is still much work to be done… read on!&lt;/p&gt;

&lt;p&gt;1) &lt;strong&gt;Tor 0.2.2.5-alpha release&lt;/strong&gt; contains all the necessary code for building the Tor binary exe using the Android C SDK. I utilized &lt;a href=&#34;https://github.com/tmurakam/droid-wrapper&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://github.com/tmurakam/droid-wrapper&#34;&gt;https://github.com/tmurakam/droid-wrapper&lt;/a&gt;&lt;/a&gt; toolchain wrapper scripts to make life easier. This will produce the output Tor exe that can run on Android w/o needing root.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update: Thanks to &lt;a href=&#34;http://www.appelbaum.net/&#34;&gt;Jake&lt;/a&gt;, you can now read the updated &lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/BUILD&#34;&gt;Orbot BUILD doc&lt;/a&gt; for the step by step build how to.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/ioerror/3933276410/&#34;&gt;&lt;img src=&#34;http://farm4.static.flickr.com/3510/3933276410_275a88c115_d.jpg&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;(thanks to &lt;a href=&#34;http://www.flickr.com/photos/ioerror&#34;&gt;ioerror&lt;/a&gt; for the pic)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At this point, we are pretty convinced that the performance and efficiency of the C binary is quite significantly better than the Java-based ports of Tor running within Dalvik… this translate to a better experience for the user, with no noticeable increase in battery drain or lag on the rest of the device while Tor is running in the background.&lt;/p&gt;

&lt;p&gt;2) &lt;strong&gt;Orbot&lt;/strong&gt; – this is the new Android app which bundles the Tor binary, handles its proper installation on the device and then provides a gui for starting/stopping, view the log and torrc, etc. It also provides a built-in HTTP Proxy and is licensed under the &lt;a href=&#34;https://www.torproject.org/eff/tor-legal-faq.html&#34;&gt;Tor license&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/natty/4034052788/&#34; title=&#34;home.jpg by nathanialfreitas, on Flickr&#34;&gt;&lt;img src=&#34;https://farm3.static.flickr.com/2588/4034052788_cff2aaf55c_m.jpg&#34; alt=&#34;home.jpg&#34; width=&#34;161&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://www.flickr.com/photos/natty/4033299037/&#34; title=&#34;tor-on.jpg by nathanialfreitas, on Flickr&#34;&gt;&lt;img src=&#34;https://farm3.static.flickr.com/2503/4033299037_49517e87b7_m.jpg&#34; alt=&#34;tor-on.jpg&#34; width=&#34;161&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;http://www.flickr.com/photos/natty/4034052826/&#34; title=&#34;log.jpg by nathanialfreitas, on Flickr&#34;&gt;&lt;img src=&#34;https://farm3.static.flickr.com/2484/4034052826_e326c056fc_m.jpg&#34; alt=&#34;log.jpg&#34; width=&#34;161&#34; height=&#34;240&#34; /&gt;&lt;/a&gt;&lt;br /&gt;
__&lt;/p&gt;

&lt;p&gt;_Just to be clear – we aren’t using the NDK or a shared library… we are actually extracting a binary and managing it via Runtime.getRuntime().exec() calls. This is 100% supported – who knew?! More info on how to do this &lt;a href=&#34;http://remotedroid.net/blog/2009/04/13/running-native-code-in-android/&#34;&gt;here&lt;/a&gt;&lt;br /&gt;
_&lt;/p&gt;

&lt;p&gt;The first code is up here… all is working, but def needs much polish:&lt;br /&gt;
&lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/&#34;&gt;https://svn.torproject.org/svn/projects/android/trunk/Orbot/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post is in part a call for developers to contribute to the continued development of Orbot, so we can get it to a 1.0 state. The other big task is to modify the open-source, privacy focused &lt;a href=&#34;http://www.cl.cam.ac.uk/research/dtg/android/tor/&#34;&gt;Shadow browser&lt;/a&gt;, from the University of Cambridge DTG group, in order to make it work with our HTTP proxy. That would be a really great step forward, as right now, we have to ask users to set their global APN (read: &lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/INSTALL&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://svn.torproject.org/svn/projects/android/trunk/Orbot/INSTALL&#34;&gt;https://svn.torproject.org/svn/projects/android/trunk/Orbot/INSTALL&lt;/a&gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Thanks for everyone’s help and support to get here. I’d like to keep pushing on to a public release via the App Market very soon. Let me know if you’d like to contribute in any way – code, screen designs, icons, testing….  ****&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Domo arigato, Mr. Orbot-o!&lt;/strong&gt;!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot: Tor for Android</title>
      <link>https://guardianproject.info/archive/orbot/</link>
      <pubDate>Mon, 08 Feb 2010 06:09:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/orbot/</guid>
      <description>

&lt;p&gt;&lt;img class=&#34;alignnone size-large wp-image-13245&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic-1024x500.png&#34; alt=&#34;featuregraphic&#34; width=&#34;780&#34; height=&#34;381&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic.png 1024w, https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic-300x146.png 300w, https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic-768x375.png 768w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/p&gt;

&lt;h1 id=&#34;what-is-orbot&#34;&gt;What is Orbot?&lt;/h1&gt;

&lt;p&gt;Orbot is a free proxy app that empowers other apps to use the internet more securely. Orbot uses Tor to encrypt your Internet traffic and then hides it by bouncing through a series of computers around the world. Tor is free software and an open network that helps you defend against a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security known as traffic analysis. Orbot creates a truly private mobile internet connection.&lt;br /&gt;
&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34; target=&#34;_blank&#34;&gt;&lt;br /&gt; &lt;/a&gt;&lt;strong&gt;Download Orbot&lt;/strong&gt;: &lt;a href=&#34;https://market.android.com/details?id=org.torproject.android&#34;&gt;Google Play&lt;/a&gt; | &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid&lt;/a&gt; | &lt;a href=&#34;https://guardianproject.info/releases/orbot-latest.apk&#34;&gt;Direct Download (.apk)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href=&#34;https://gitweb.torproject.org/orbot.git&#34;&gt;Tor Gitweb&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt; &lt;a href=&#34;https://github.com/n8fr8/orbot&#34;&gt;GitHub Mirror&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone wp-image-13243 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058-169x300.png&#34; alt=&#34;device-2016-01-04-021058&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;img class=&#34;alignnone size-medium wp-image-13241&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823-169x300.png&#34; alt=&#34;device-2016-01-07-014823&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/p&gt;

&lt;p&gt;★ PRIVATE CHAT MESSAGING: Use ChatSecure with Orbot to chat confidentially with anyone, anywhere for free. &lt;a href=&#34;https://guardianproject.info/apps/chatsecure&#34;&gt;GetChatSecure&lt;/a&gt;&lt;br /&gt;
★ PRIVACY ON TWITTER: It works with the &lt;a title=&#34;Official Twitter app with proxy feature&#34; href=&#34;https://play.google.com/store/apps/details?id=com.twitter.android&#34; target=&#34;_blank&#34;&gt;official Twitter app.&lt;/a&gt; To Tweet anonymously, just change the proxy settings to the following: Proxy Host: localhost: Proxy Port: 8118&lt;/p&gt;

&lt;p&gt;★ PRIVACY FOR APPS: Any installed app can use Tor if it has a proxy feature, using the settings found here: &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;https://guardianproject.info/apps/orbot&lt;/a&gt; . Try private web searching with DuckDuckGo: &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android&#34;&gt;https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;★ PRIVACY MADE EASY: Check out our easy, interactive walkthrough: &lt;a href=&#34;https://www.google.com/url?q=https://guardianproject.info/howto/browsefreely&amp;sa=D&amp;usg=AFQjCNEG7commrc67XrUxb_0tfKCMQPy2g&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/howto/browsefreely&#34;&gt;https://guardianproject.info/howto/browsefreely&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
★ IT’S OFFICIAL: This is the official version of the Tor onion routing service for Android.&lt;/p&gt;

&lt;p&gt;*\&lt;em&gt;*Expert Root Mode**&lt;/em&gt;&lt;br /&gt;
★ UNIVERSAL MODE: Orbot can be configured to transparently proxy all of your Internet traffic through Tor. You can also choose which specific apps you want to use through Tor.&lt;/p&gt;

&lt;p&gt;*\&lt;em&gt;*We Love Feedback**&lt;/em&gt;&lt;br /&gt;
★ OPEN-SOURCE: Orbot is free software. Take a look at our source code, or join the community to make it better: &lt;a href=&#34;https://www.google.com/url?q=https://gitweb.torproject.org/orbot.git&amp;sa=D&amp;usg=AFQjCNEpj_yHjh9MXieeSi2hbbd5o0P_5Q&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://gitweb.torproject.org/orbot.git&#34;&gt;https://gitweb.torproject.org/orbot.git&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
★ ABOUT TOR: &lt;a href=&#34;https://www.google.com/url?q=https://TorProject.org&amp;sa=D&amp;usg=AFQjCNHBD4XzmolnTDcgLMoDNg7Q2EREJw&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://TorProject.org&#34;&gt;https://TorProject.org&lt;/a&gt;&lt;/a&gt; . Orbot source code is available under the &lt;a href=&#34;https://gitweb.torproject.org/orbot.git/blob_plain/HEAD:/LICENSE&#34;&gt;Tor License&lt;/a&gt;&lt;br /&gt;
★ Please report bugs to our bug tracker! &lt;a href=&#34;https://trac.torproject.org/projects/tor/newticket&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://trac.torproject.org/projects/tor/newticket&#34;&gt;https://trac.torproject.org/projects/tor/newticket&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
★ MESSAGE US: Are we missing your favorite feature? Found an annoying bug? We’d love to hear from you! Send us an email: support&amp;#x40;&amp;#103;u&amp;#x61;r&amp;#x64;i&amp;#x61;&amp;#110;p&amp;#x72;o&amp;#x6a;&amp;#101;c&amp;#x74;.&amp;#x69;n&amp;#x66;&amp;#111; . Come discuss on #tor, #tor-dev and #guardianproject on irc.oftc.net or #guardianproject on freenode.&lt;/p&gt;

&lt;p&gt;★ HELP US BRING ORBOT TO YOUR COUNTRY: We’re trying to get Orbot into as many languages as possible. Right now it’s in: Arabic (العربية), Basque (Euskara), Bulgarian (български език), Chinese (中文简体), Czech (Čeština), Danish (Dansk), Dutch (Nederlands), English, Farsi (فارسی), French (Français), French (Français), German (Deutsch), Greek (Ελληνικά), Hebrew (עברית), Hungarian (Magyar Nyelv), Italian (Italiano), Japanese (日本語) Korean (조선말), Latvian (Latviešu), Malaysian (بهاس ملايو ), Polish (Polski), Portuguese (Português), Russian (Русский), Spanish (Español), Swedish (Svensk), and Vietnamese (Tiếng Việt).&lt;br /&gt;
If Orbot isn’t in your language yet, we’d love to have you join our translation team: &lt;a href=&#34;https://www.transifex.com/projects/p/orbot/&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://www.transifex.com/projects/p/orbot/&#34;&gt;https://www.transifex.com/projects/p/orbot/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;text-align: center;&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Orbot: Tor for Android</title>
      <link>https://guardianproject.info/archive/orbot/</link>
      <pubDate>Mon, 08 Feb 2010 06:09:43 -0400</pubDate>
      
      <guid>https://guardianproject.info/archive/orbot/</guid>
      <description>

&lt;p&gt;&lt;img class=&#34;alignnone size-large wp-image-13245&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic-1024x500.png&#34; alt=&#34;featuregraphic&#34; width=&#34;780&#34; height=&#34;381&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic.png 1024w, https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic-300x146.png 300w, https://guardianproject.info/wp-content/uploads/2010/02/featuregraphic-768x375.png 768w&#34; sizes=&#34;(max-width: 780px) 100vw, 780px&#34; /&gt;&lt;/p&gt;

&lt;h1 id=&#34;what-is-orbot&#34;&gt;What is Orbot?&lt;/h1&gt;

&lt;p&gt;Orbot is a free proxy app that empowers other apps to use the internet more securely. Orbot uses Tor to encrypt your Internet traffic and then hides it by bouncing through a series of computers around the world. Tor is free software and an open network that helps you defend against a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security known as traffic analysis. Orbot creates a truly private mobile internet connection.&lt;br /&gt;
&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.torproject.android&#34; target=&#34;_blank&#34;&gt;&lt;br /&gt; &lt;/a&gt;&lt;strong&gt;Download Orbot&lt;/strong&gt;: &lt;a href=&#34;https://market.android.com/details?id=org.torproject.android&#34;&gt;Google Play&lt;/a&gt; | &lt;a href=&#34;https://guardianproject.info/fdroid&#34;&gt;F-Droid&lt;/a&gt; | &lt;a href=&#34;https://guardianproject.info/releases/orbot-latest.apk&#34;&gt;Direct Download (.apk)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href=&#34;https://gitweb.torproject.org/orbot.git&#34;&gt;Tor Gitweb&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt; &lt;a href=&#34;https://github.com/n8fr8/orbot&#34;&gt;GitHub Mirror&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&#34;alignnone wp-image-13243 size-medium&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058-169x300.png&#34; alt=&#34;device-2016-01-04-021058&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-04-021058.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;img class=&#34;alignnone size-medium wp-image-13241&#34; src=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823-169x300.png&#34; alt=&#34;device-2016-01-07-014823&#34; width=&#34;169&#34; height=&#34;300&#34; srcset=&#34;https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823-169x300.png 169w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823-576x1024.png 576w, https://guardianproject.info/wp-content/uploads/2010/02/device-2016-01-07-014823.png 720w&#34; sizes=&#34;(max-width: 169px) 100vw, 169px&#34; /&gt;&lt;/p&gt;

&lt;p&gt;★ PRIVATE CHAT MESSAGING: Use ChatSecure with Orbot to chat confidentially with anyone, anywhere for free. &lt;a href=&#34;https://guardianproject.info/apps/chatsecure&#34;&gt;GetChatSecure&lt;/a&gt;&lt;br /&gt;
★ PRIVACY ON TWITTER: It works with the &lt;a title=&#34;Official Twitter app with proxy feature&#34; href=&#34;https://play.google.com/store/apps/details?id=com.twitter.android&#34; target=&#34;_blank&#34;&gt;official Twitter app.&lt;/a&gt; To Tweet anonymously, just change the proxy settings to the following: Proxy Host: localhost: Proxy Port: 8118&lt;/p&gt;

&lt;p&gt;★ PRIVACY FOR APPS: Any installed app can use Tor if it has a proxy feature, using the settings found here: &lt;a href=&#34;https://guardianproject.info/apps/orbot&#34;&gt;https://guardianproject.info/apps/orbot&lt;/a&gt; . Try private web searching with DuckDuckGo: &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android&#34;&gt;https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;★ PRIVACY MADE EASY: Check out our easy, interactive walkthrough: &lt;a href=&#34;https://www.google.com/url?q=https://guardianproject.info/howto/browsefreely&amp;sa=D&amp;usg=AFQjCNEG7commrc67XrUxb_0tfKCMQPy2g&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://guardianproject.info/howto/browsefreely&#34;&gt;https://guardianproject.info/howto/browsefreely&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
★ IT’S OFFICIAL: This is the official version of the Tor onion routing service for Android.&lt;/p&gt;

&lt;p&gt;*\&lt;em&gt;*Expert Root Mode**&lt;/em&gt;&lt;br /&gt;
★ UNIVERSAL MODE: Orbot can be configured to transparently proxy all of your Internet traffic through Tor. You can also choose which specific apps you want to use through Tor.&lt;/p&gt;

&lt;p&gt;*\&lt;em&gt;*We Love Feedback**&lt;/em&gt;&lt;br /&gt;
★ OPEN-SOURCE: Orbot is free software. Take a look at our source code, or join the community to make it better: &lt;a href=&#34;https://www.google.com/url?q=https://gitweb.torproject.org/orbot.git&amp;sa=D&amp;usg=AFQjCNEpj_yHjh9MXieeSi2hbbd5o0P_5Q&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://gitweb.torproject.org/orbot.git&#34;&gt;https://gitweb.torproject.org/orbot.git&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
★ ABOUT TOR: &lt;a href=&#34;https://www.google.com/url?q=https://TorProject.org&amp;sa=D&amp;usg=AFQjCNHBD4XzmolnTDcgLMoDNg7Q2EREJw&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://TorProject.org&#34;&gt;https://TorProject.org&lt;/a&gt;&lt;/a&gt; . Orbot source code is available under the &lt;a href=&#34;https://gitweb.torproject.org/orbot.git/blob_plain/HEAD:/LICENSE&#34;&gt;Tor License&lt;/a&gt;&lt;br /&gt;
★ Please report bugs to our bug tracker! &lt;a href=&#34;https://trac.torproject.org/projects/tor/newticket&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://trac.torproject.org/projects/tor/newticket&#34;&gt;https://trac.torproject.org/projects/tor/newticket&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;
★ MESSAGE US: Are we missing your favorite feature? Found an annoying bug? We’d love to hear from you! Send us an email: support&amp;#x40;&amp;#103;u&amp;#x61;r&amp;#x64;i&amp;#x61;&amp;#110;p&amp;#x72;o&amp;#x6a;&amp;#101;c&amp;#x74;.&amp;#x69;n&amp;#x66;&amp;#111; . Come discuss on #tor, #tor-dev and #guardianproject on irc.oftc.net or #guardianproject on freenode.&lt;/p&gt;

&lt;p&gt;★ HELP US BRING ORBOT TO YOUR COUNTRY: We’re trying to get Orbot into as many languages as possible. Right now it’s in: Arabic (العربية), Basque (Euskara), Bulgarian (български език), Chinese (中文简体), Czech (Čeština), Danish (Dansk), Dutch (Nederlands), English, Farsi (فارسی), French (Français), French (Français), German (Deutsch), Greek (Ελληνικά), Hebrew (עברית), Hungarian (Magyar Nyelv), Italian (Italiano), Japanese (日本語) Korean (조선말), Latvian (Latviešu), Malaysian (بهاس ملايو ), Polish (Polski), Portuguese (Português), Russian (Русский), Spanish (Español), Swedish (Svensk), and Vietnamese (Tiếng Việt).&lt;br /&gt;
If Orbot isn’t in your language yet, we’d love to have you join our translation team: &lt;a href=&#34;https://www.transifex.com/projects/p/orbot/&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://www.transifex.com/projects/p/orbot/&#34;&gt;https://www.transifex.com/projects/p/orbot/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p style=&#34;text-align: center;&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ideas and Inspiration</title>
      <link>https://guardianproject.info/2010/02/08/ideas-and-inspiration/</link>
      <pubDate>Mon, 08 Feb 2010 05:34:33 -0400</pubDate>
      
      <guid>https://guardianproject.info/2010/02/08/ideas-and-inspiration/</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Watch the video below to hear directly from Google&amp;rsquo;s Android Team about the benefits of an open-source mobile OS.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/7Y4thikv-OM&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;And now, another clip from one of our core, yet fictional, inspirations.&lt;/p&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;//www.youtube.com/embed/3efV2wqEjEY&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alan Bradley:&lt;/strong&gt; I still don&amp;rsquo;t get why you want to break into the system.&lt;br /&gt;
&lt;strong&gt;Kevin Flynn:&lt;/strong&gt; [frustrated] Because, man, somewhere in one of these memories is the evidence!&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://guardianproject.info/1/01/01/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/1/01/01/</guid>
      <description>&lt;p&gt;In 2010, at the Open Video Conference hackathon, I came up with a concept called &lt;a href=&#34;https://blog.witness.org/2010/10/ovc2010-opensubtitles/&#34;&gt;&amp;ldquo;auto blur the news&amp;rdquo;&lt;/a&gt;, while in a brainstorm with activists, advocates and coders, including Sam Gregory, a longtime ally from &lt;a href=&#34;https://witness.org&#34;&gt;WITNESS&lt;/a&gt;. Using the built-in face recognition features on modern smartphones, you could instantly redact faces from a photo or video, instead of tagging or tracking those same faces. Out of this came an app called &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.witness.sscphase1&amp;amp;feature=search_result&#34;&gt;ObscuraCam&lt;/a&gt;, which was always meant as a proof of concept demonstration to help lobby mainstream apps and operating systems a simple feature available for all.&lt;/p&gt;

&lt;p&gt;(Un)fortunately, ObscuraCam has been around for 10 years, become a &amp;ldquo;real&amp;rdquo; app, and growing in users and stability, though with minimal funding and resources. WITNESS did make progress  convincing YouTube to add a blur capability in some of its tools, and we had many meetings with Samsung, Google, Facebook and others, on the possibility of building this in to their camera software. We have also seen widespread use of ObscuraCam by people wanting to preserve privacy for their children, at school events, when selling cars online or to protect strangers caught in the background of a random photo. We also had the change to integrate some defensive AI image glitching as part of last year&amp;rsquo;s Assembly program.&lt;/p&gt;

&lt;p&gt;Last night, the idea of adoption of these features beyond the confines of our little PoC occurred, with Signal announcing the general availability of automatic and manual photo redaction tools in their recent update: &lt;a href=&#34;https://signal.org/blog/blur-tools/&#34;&gt;https://signal.org/blog/blur-tools/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our friends at WITNESS &lt;a href=&#34;https://twitter.com/SamGregory/status/1268512277877178368&#34;&gt;also tweeted&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;@SamGregory &amp;ldquo;10 years ago @guardianproject @witnessorg emphasized need for better easy tools to protect people&amp;rsquo;s visual #anonymity, faces on mobile, vs + #facialrecognition. We built #obscuracam, pushed 4 #blur on #YouTube. Great seeing @signalapp  introduce on their secure messaging platform!&amp;rdquo;&lt;/p&gt;

&lt;p&gt;I am beyond thrilled that this has happened, especially right now, because it means users have an option, within the secure messenger they are already using, to capture photos directly to encrypted storage, redact and blur as needed, and then instantly share them in an encrypted manner to trusted contacts. With disappearing messages enabled, the presence of that image on their phone is ephemeral, reducing risk for self-incrimination if they are detained.&lt;/p&gt;

&lt;p&gt;NOW, I write all of this to you, because as fantastic as it is that Signal&amp;rsquo;s tens of millions of users have this feature, we need this built-in as a normal capability in every device, every camera software and every messenger app. Just like with end-to-end encryption, Signal is leading the way in showing how this capability can be standardized and usable for all.&lt;/p&gt;

&lt;p&gt;We should probably create a petition or other public call to action.  Right now, I think Signal should get the acclaim they deserve for furthering this idea, and pioneering just how secure a messenger app can be. If you have any ins, sway, influence or other connections to any other messenger service, social media or camera app, or mobile operating system vendor, please forward this, and let them know that we here ready to share the insights and wisdom we&amp;rsquo;ve gained over the last decade in how to implement this critical privacy feature correctly.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Archived Apps</title>
      <link>https://guardianproject.info/archive/apps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/archive/apps/</guid>
      <description>&lt;p&gt;These are all totally unmaintained and just listed here for the record.&lt;/p&gt;


&lt;div class=&#34;container&#34;&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.otr.app.im.1423001.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on March 19, 2013
    
    &amp;nbsp;(Last modified on December 2, 2016)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/ChatSecureAndroid&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://dev.guardianproject.info/projects/gibberbot&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
      
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.browser.7010.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Privacy-enhanced browser&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on October 22, 2012
    
    &amp;nbsp;(Last modified on November 26, 2015)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/orweb&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/orweb&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Orweb is a companion browser to
&lt;a href=&#34;https://f-droid.org/packages/org.torproject.android/&#34;&gt;https://f-droid.org/packages/org.torproject.android/&lt;/a&gt;, the port of
Tor to Android.&lt;/p&gt;

&lt;p&gt;Orbot anonymizes internet traffic by routing it through many different stages
and you must have that enabled first, though root isn&amp;rsquo;t needed. Orweb disables
certain other browser features that could be used to identify you.&lt;/p&gt;

&lt;p&gt;Please note that Orweb is superseded by Tor Browser.  Orweb is no
longer maintained at all.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.lildebi.5400.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Run Debian on your phone&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on February 6, 2013
    
    &amp;nbsp;(Last modified on January 26, 2015)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://github.com/guardianproject/lildebi/wiki&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Lil&amp;rsquo; Debi builds up a whole Debian chroot on your phone entirely using
debootstrap. You choose the release, mirror, and size of the disk image, and
away it goes. It could take up to an hour on a slow device.&lt;/p&gt;

&lt;p&gt;Then it has a simple chroot manager that fscks your disk, mounts/unmounts
things, starts/stops sshd if you have it installed, etc. You can also then use
‘apt-get’ to install any package that is released for ARM processors. This
includes things like a complete real shell, Tor, TraceRouteTCP,
iwconfig/ipconfig, and other security and crypto tools. Works well with
&lt;a href=&#34;https://f-droid.org/packages/jackpal.androidterm&#34;&gt;https://f-droid.org/packages/jackpal.androidterm&lt;/a&gt; —just run &lt;code&gt;/debian/shell&lt;/code&gt; to get a Debian shell.&lt;/p&gt;

&lt;p&gt;The aim of Lil’ Debi is to provide a transparent and tightly integrated Debian
install on your Android device. It mounts all of your Android partitions in
Debian space, so you see a fusion of both systems. It&amp;rsquo;s even possible to have
Lil’ Debi launch the normal Debian init start-up scripts when it starts, so that
all you need to do is apt-get install and any servers you install will just
work.&lt;/p&gt;

&lt;p&gt;Lil&amp;rsquo; Debi works with as few modifications to the Android system as possible.
Currently, it only adds a /bin symlink, and a /debian mount directory. It does
not touch /system at all.&lt;/p&gt;

&lt;p&gt;Requires root: Yes, because it needs to run debootstrap, create dirs in /,
mount/umount, etc.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.mrapp.118.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;produce professional-grade videos with your phone&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on October 31, 2013
    
    &amp;nbsp;(Last modified on July 19, 2014)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/storymaker&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://storymaker.cc/&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    Creating great stories is now easier than ever with StoryMaker. Our unique templates, overlays, and lessons guide you through the entire creative process. StoryMaker lets you edit your content right on your mobile, making it even easier to finish your story. Once you&amp;rsquo;ve finished, StoryMaker lets you publish your story to all of your favorite platforms.
* AUDIO PHOTO &amp;amp; VIDEO *
Whether it’s a photo series, an audio story, or a video package, StoryMaker walks you through what you need to know in order to be successful.
* TEMPLATES *
Our story templates offer suggested narrative arcs, and potential questions to give you structure, but leave you enough room to tell the story you want.
* LEARN *
Designed by a group of trainers with years of experience working in the field, StoryMaker is the tool you need to tell the stories you&amp;rsquo;re passionate about, while staying safe. StoryMaker has access to a 55 lesson course in Journalism, Security, Photo, Audio, and Video production. So when you’re ready to dive deep and learn everything you can, we have the lessons to get you started.
* OVERLAYS *
Everyone recognizes an interview or a location shot when they see them on the news, but with StoryMaker’s innovative overlays it’s easy to recreate the shot you want when it matters the most, at the point of production.
* EDIT *
StoryMaker lets you rearrange and trim your clips to tweak them to perfection, it even makes it easy to record your own narration to go with your story.
* SHARE *
When your story is ready you can share it across all of your favorite platforms straight from StoryMaker.
* SECURITY *
StoryMaker takes security seriously. Our integration with Orbot allows for supported platforms to be accessed via Tor. StoryMaker relies upon Orbot, for defending against network surveillance and enabling circumvention on hostile networks.
* EXPERIENCE *
StoryMaker is successful because our creative team is filled with trainers with years of experience. People who have been in the field, and know how to break complex ideas down into easy to follow instructions.
* MULTILINGUAL *
StoryMaker supports English, Arabic, Croation/Bosnian, and Serbian languages. With experimental translations in French, Spanish, Persian, German, Macedonian and Korean.
If you find issues, or would like to participate in our localization effort,
please visit our wiki for more instructions:
&lt;a href=&#34;http://storymaker.cc/wiki/index.php?title=Translation&#34;&gt;http://storymaker.cc/wiki/index.php?title=Translation&lt;/a&gt;  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.courier.14.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on May 14, 2014
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/securereader&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://dev.guardianproject.info/projects/secure-reader&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
      
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.gpg.4.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;GnuPG via gpgcli&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on May 8, 2013
    
    &amp;nbsp;(Last modified on March 12, 2014)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/code/gnupg&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;GnuPrivacyGuard extends the gpgcli command line tool to bring an integrated
privacy engine to your Android. It gives you command line access to the entire
GnuPG suite of encryption software. It also serves as the test bed for
complete Android integration for all of GnuPG&amp;rsquo;s crypto services, including
OpenPGP, symmetric encryption, and more.&lt;/p&gt;

&lt;p&gt;GPG is GNU’s tool for end-to-end secure communication and encrypted data
storage. This trusted protocol is the free software alternative to PGP. This
app is built upon GnuPG 2.1, the new modularized version of GnuPG that now
supports S/MIME.&lt;/p&gt;

&lt;p&gt;GPG aims to provide an integrated experience, so clicking on PGP files should
&amp;ldquo;just work&amp;rdquo;. You can also share files to GPG to encrypt them. GPG will also
respond when you click on a PGP fingerprint URL (one that starts with
openpgp4fpr:).&lt;/p&gt;

&lt;p&gt;Before using GPG, be sure to launch the app and let it finish its installation
process. Once it has completed, then you&amp;rsquo;re ready to use it. The easiest way
to get started with GPG is to install &lt;a href=&#34;https://f-droid.org/packages/jackpal.androidterm&#34;&gt;https://f-droid.org/packages/jackpal.androidterm&lt;/a&gt;. GPG will
automatically configure Android Terminal Emulator as long as you have the
&amp;ldquo;Allow PATH extensions&amp;rdquo; settings enabled.&lt;/p&gt;

&lt;p&gt;Status: Unmaintained, use &lt;a href=&#34;https://f-droid.org/packages/org.sufficientlysecure.keychain/&#34;&gt;https://f-droid.org/packages/org.sufficientlysecure.keychain/&lt;/a&gt;&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.notepadbot.12.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Notepad with lock&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on January 16, 2013
    
    &amp;nbsp;(Last modified on March 10, 2014)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/notecipher&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Simple app for taking notes that encrypts everything behind a password.&lt;/p&gt;

&lt;p&gt;Status: Unmaintained.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.soundrecorder.2.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;ChatSecure Voice Messaging&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on December 13, 2013
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/ChatSecureVoicePlugin&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/chatsecure&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    This is a plugin for [[info.guardianproject.otr.app.im]]. It does not have any
function on its own.  For Your Ears Only&amp;hellip; completely private, end-to-end
encryption voice message recording, sending, receiving and playback.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For use with [[info.guardianproject.otr.app.im]]&amp;rsquo;s encrypted &amp;ldquo;Off-the-record&amp;rdquo; data stream&lt;/li&gt;
&lt;li&gt;Works over Tor - the ONLY Onion-routed voice messaging system, for total anonymity&lt;/li&gt;
&lt;/ul&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/org.witness.informacam.app.35.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;CameraV: Secure Visual Proof&lt;/h2&gt;
    &lt;p&gt;&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on December 11, 2013
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/CameraV&#34; target=&#34;_blank&#34; title=&#34;CameraV: Secure Visual Proof on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/camerav/&#34; title=&#34;CameraV: Secure Visual Proof website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
      
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.chatsecure.emoji.core.1.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;ChatSecure Open Emoji Plugin&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on December 2, 2013
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/ChatSecureVoicePlugin&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/chatsecure&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    Plugin for &lt;a href=&#34;https://f-droid.org/packages/info.guardianproject.otr.app.im/&#34;&gt;https://f-droid.org/packages/info.guardianproject.otr.app.im/&lt;/a&gt; to support for core emoji input
and display.  Based on &amp;ldquo;Phantom Open Emoji&amp;rdquo; project.  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.cacert.4.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Disable untrusted certificates&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on August 19, 2013
    
    &amp;nbsp;(Last modified on October 31, 2013)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/cacert&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/2011/09/05/cacertman-app-to-address-diginotar-other-bad-cas&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Android 4+ allows you to disable certificates from the system Settings and
root isn&amp;rsquo;t required, so try that first if you want to manually mess with the
certificates.
The app won&amp;rsquo;t work with Android 4+ anyway.&lt;/p&gt;

&lt;p&gt;An app to manage security certificates on your phone also containing a version
of the Android CACert keystore derived from Mozilla.
If a certificate has recently become untrusted you can either install an update
to this app or you can backup and remove certificates by yourself.&lt;/p&gt;

&lt;p&gt;Requires root: Yes, it writes to the system partition.
You will need a device that has the ‘grep’ command on it (via busybox:
present on most custom ROMs).
If the ‘save’ doesn’t work, then you will need to make your /system partition
read-write by using a file explorer like &lt;a href=&#34;https://f-droid.org/packages/com.ghostsq.commander&#34;&gt;https://f-droid.org/packages/com.ghostsq.commander&lt;/a&gt; or via
a command in &lt;a href=&#34;https://f-droid.org/packages/jackpal.androidterm&#34;&gt;https://f-droid.org/packages/jackpal.androidterm&lt;/a&gt;.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>Archived Apps</title>
      <link>https://guardianproject.info/archive/apps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/archive/apps/</guid>
      <description>&lt;p&gt;These are all totally unmaintained and just listed here for the record.&lt;/p&gt;


&lt;div class=&#34;container&#34;&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.otr.app.im.1423001.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on March 19, 2013
    
    &amp;nbsp;(Last modified on December 2, 2016)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/ChatSecureAndroid&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://dev.guardianproject.info/projects/gibberbot&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
      
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.browser.7010.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Privacy-enhanced browser&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on October 22, 2012
    
    &amp;nbsp;(Last modified on November 26, 2015)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/orweb&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/orweb&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Orweb is a companion browser to
&lt;a href=&#34;https://f-droid.org/packages/org.torproject.android/&#34;&gt;https://f-droid.org/packages/org.torproject.android/&lt;/a&gt;, the port of
Tor to Android.&lt;/p&gt;

&lt;p&gt;Orbot anonymizes internet traffic by routing it through many different stages
and you must have that enabled first, though root isn&amp;rsquo;t needed. Orweb disables
certain other browser features that could be used to identify you.&lt;/p&gt;

&lt;p&gt;Please note that Orweb is superseded by Tor Browser.  Orweb is no
longer maintained at all.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.lildebi.5400.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Run Debian on your phone&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on February 6, 2013
    
    &amp;nbsp;(Last modified on January 26, 2015)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/lildebi&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://github.com/guardianproject/lildebi/wiki&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Lil&amp;rsquo; Debi builds up a whole Debian chroot on your phone entirely using
debootstrap. You choose the release, mirror, and size of the disk image, and
away it goes. It could take up to an hour on a slow device.&lt;/p&gt;

&lt;p&gt;Then it has a simple chroot manager that fscks your disk, mounts/unmounts
things, starts/stops sshd if you have it installed, etc. You can also then use
‘apt-get’ to install any package that is released for ARM processors. This
includes things like a complete real shell, Tor, TraceRouteTCP,
iwconfig/ipconfig, and other security and crypto tools. Works well with
&lt;a href=&#34;https://f-droid.org/packages/jackpal.androidterm&#34;&gt;https://f-droid.org/packages/jackpal.androidterm&lt;/a&gt; —just run &lt;code&gt;/debian/shell&lt;/code&gt; to get a Debian shell.&lt;/p&gt;

&lt;p&gt;The aim of Lil’ Debi is to provide a transparent and tightly integrated Debian
install on your Android device. It mounts all of your Android partitions in
Debian space, so you see a fusion of both systems. It&amp;rsquo;s even possible to have
Lil’ Debi launch the normal Debian init start-up scripts when it starts, so that
all you need to do is apt-get install and any servers you install will just
work.&lt;/p&gt;

&lt;p&gt;Lil&amp;rsquo; Debi works with as few modifications to the Android system as possible.
Currently, it only adds a /bin symlink, and a /debian mount directory. It does
not touch /system at all.&lt;/p&gt;

&lt;p&gt;Requires root: Yes, because it needs to run debootstrap, create dirs in /,
mount/umount, etc.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.mrapp.118.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;produce professional-grade videos with your phone&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on October 31, 2013
    
    &amp;nbsp;(Last modified on July 19, 2014)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/storymaker&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://storymaker.cc/&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    Creating great stories is now easier than ever with StoryMaker. Our unique templates, overlays, and lessons guide you through the entire creative process. StoryMaker lets you edit your content right on your mobile, making it even easier to finish your story. Once you&amp;rsquo;ve finished, StoryMaker lets you publish your story to all of your favorite platforms.
* AUDIO PHOTO &amp;amp; VIDEO *
Whether it’s a photo series, an audio story, or a video package, StoryMaker walks you through what you need to know in order to be successful.
* TEMPLATES *
Our story templates offer suggested narrative arcs, and potential questions to give you structure, but leave you enough room to tell the story you want.
* LEARN *
Designed by a group of trainers with years of experience working in the field, StoryMaker is the tool you need to tell the stories you&amp;rsquo;re passionate about, while staying safe. StoryMaker has access to a 55 lesson course in Journalism, Security, Photo, Audio, and Video production. So when you’re ready to dive deep and learn everything you can, we have the lessons to get you started.
* OVERLAYS *
Everyone recognizes an interview or a location shot when they see them on the news, but with StoryMaker’s innovative overlays it’s easy to recreate the shot you want when it matters the most, at the point of production.
* EDIT *
StoryMaker lets you rearrange and trim your clips to tweak them to perfection, it even makes it easy to record your own narration to go with your story.
* SHARE *
When your story is ready you can share it across all of your favorite platforms straight from StoryMaker.
* SECURITY *
StoryMaker takes security seriously. Our integration with Orbot allows for supported platforms to be accessed via Tor. StoryMaker relies upon Orbot, for defending against network surveillance and enabling circumvention on hostile networks.
* EXPERIENCE *
StoryMaker is successful because our creative team is filled with trainers with years of experience. People who have been in the field, and know how to break complex ideas down into easy to follow instructions.
* MULTILINGUAL *
StoryMaker supports English, Arabic, Croation/Bosnian, and Serbian languages. With experimental translations in French, Spanish, Persian, German, Macedonian and Korean.
If you find issues, or would like to participate in our localization effort,
please visit our wiki for more instructions:
&lt;a href=&#34;http://storymaker.cc/wiki/index.php?title=Translation&#34;&gt;http://storymaker.cc/wiki/index.php?title=Translation&lt;/a&gt;  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.courier.14.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on May 14, 2014
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/securereader&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://dev.guardianproject.info/projects/secure-reader&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
      
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.gpg.4.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;GnuPG via gpgcli&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on May 8, 2013
    
    &amp;nbsp;(Last modified on March 12, 2014)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/gnupg-for-android&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/code/gnupg&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;GnuPrivacyGuard extends the gpgcli command line tool to bring an integrated
privacy engine to your Android. It gives you command line access to the entire
GnuPG suite of encryption software. It also serves as the test bed for
complete Android integration for all of GnuPG&amp;rsquo;s crypto services, including
OpenPGP, symmetric encryption, and more.&lt;/p&gt;

&lt;p&gt;GPG is GNU’s tool for end-to-end secure communication and encrypted data
storage. This trusted protocol is the free software alternative to PGP. This
app is built upon GnuPG 2.1, the new modularized version of GnuPG that now
supports S/MIME.&lt;/p&gt;

&lt;p&gt;GPG aims to provide an integrated experience, so clicking on PGP files should
&amp;ldquo;just work&amp;rdquo;. You can also share files to GPG to encrypt them. GPG will also
respond when you click on a PGP fingerprint URL (one that starts with
openpgp4fpr:).&lt;/p&gt;

&lt;p&gt;Before using GPG, be sure to launch the app and let it finish its installation
process. Once it has completed, then you&amp;rsquo;re ready to use it. The easiest way
to get started with GPG is to install &lt;a href=&#34;https://f-droid.org/packages/jackpal.androidterm&#34;&gt;https://f-droid.org/packages/jackpal.androidterm&lt;/a&gt;. GPG will
automatically configure Android Terminal Emulator as long as you have the
&amp;ldquo;Allow PATH extensions&amp;rdquo; settings enabled.&lt;/p&gt;

&lt;p&gt;Status: Unmaintained, use &lt;a href=&#34;https://f-droid.org/packages/org.sufficientlysecure.keychain/&#34;&gt;https://f-droid.org/packages/org.sufficientlysecure.keychain/&lt;/a&gt;&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.notepadbot.12.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Notepad with lock&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on January 16, 2013
    
    &amp;nbsp;(Last modified on March 10, 2014)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/notecipher&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Simple app for taking notes that encrypts everything behind a password.&lt;/p&gt;

&lt;p&gt;Status: Unmaintained.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.soundrecorder.2.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;ChatSecure Voice Messaging&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on December 13, 2013
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/ChatSecureVoicePlugin&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/chatsecure&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    This is a plugin for [[info.guardianproject.otr.app.im]]. It does not have any
function on its own.  For Your Ears Only&amp;hellip; completely private, end-to-end
encryption voice message recording, sending, receiving and playback.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For use with [[info.guardianproject.otr.app.im]]&amp;rsquo;s encrypted &amp;ldquo;Off-the-record&amp;rdquo; data stream&lt;/li&gt;
&lt;li&gt;Works over Tor - the ONLY Onion-routed voice messaging system, for total anonymity&lt;/li&gt;
&lt;/ul&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/org.witness.informacam.app.35.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;CameraV: Secure Visual Proof&lt;/h2&gt;
    &lt;p&gt;&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on December 11, 2013
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/CameraV&#34; target=&#34;_blank&#34; title=&#34;CameraV: Secure Visual Proof on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/camerav/&#34; title=&#34;CameraV: Secure Visual Proof website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
      
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.chatsecure.emoji.core.1.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;ChatSecure Open Emoji Plugin&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on December 2, 2013
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/ChatSecureVoicePlugin&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/apps/chatsecure&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    Plugin for &lt;a href=&#34;https://f-droid.org/packages/info.guardianproject.otr.app.im/&#34;&gt;https://f-droid.org/packages/info.guardianproject.otr.app.im/&lt;/a&gt; to support for core emoji input
and display.  Based on &amp;ldquo;Phantom Open Emoji&amp;rdquo; project.  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;style&gt;
img {
    float: left;
    margin-right: 15px;
}
&lt;/style&gt;
&lt;div class=&#34;archiveapp&#34; style=&#34;display: inline; width: 100%; height: 100%;&#34;&gt;
  &lt;img src=&#34;https://guardianproject.info/fdroid/archive/icons-320/info.guardianproject.cacert.4.png&#34; height=&#34;96&#34; width=&#34;96&#34;/&gt;
  &lt;div&gt;
    &lt;h2&gt;&lt;/h2&gt;
    &lt;p&gt;Disable untrusted certificates&lt;/p&gt;
    
    
    &lt;i class=&#34;fa fa-calendar&#34;&gt;&lt;/i&gt;&amp;nbsp;Posted on August 19, 2013
    
    &amp;nbsp;(Last modified on October 31, 2013)
    

    &lt;div class=&#34;source-code&#34; style=&#34;text-align: left;&#34;&gt;
      
      
      
      &lt;a href=&#34;https://github.com/guardianproject/cacert&#34; target=&#34;_blank&#34; title=&#34; on GitHub&#34;&gt;
	&lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
      &lt;/a&gt;
      
      -
      
      &lt;a href=&#34;https://guardianproject.info/tags/&#34; title=&#34; Blog Posts&#34;&gt;
	&lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; Blog Posts
      &lt;/a&gt;
      
      -
      &lt;a href=&#34;https://guardianproject.info/2011/09/05/cacertman-app-to-address-diginotar-other-bad-cas&#34; title=&#34; website&#34;&gt;
	&lt;i class=&#34;fa fa-home&#34;&gt;&lt;/i&gt; website
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p&gt;
    &lt;p&gt;Android 4+ allows you to disable certificates from the system Settings and
root isn&amp;rsquo;t required, so try that first if you want to manually mess with the
certificates.
The app won&amp;rsquo;t work with Android 4+ anyway.&lt;/p&gt;

&lt;p&gt;An app to manage security certificates on your phone also containing a version
of the Android CACert keystore derived from Mozilla.
If a certificate has recently become untrusted you can either install an update
to this app or you can backup and remove certificates by yourself.&lt;/p&gt;

&lt;p&gt;Requires root: Yes, it writes to the system partition.
You will need a device that has the ‘grep’ command on it (via busybox:
present on most custom ROMs).
If the ‘save’ doesn’t work, then you will need to make your /system partition
read-write by using a file explorer like &lt;a href=&#34;https://f-droid.org/packages/com.ghostsq.commander&#34;&gt;https://f-droid.org/packages/com.ghostsq.commander&lt;/a&gt; or via
a command in &lt;a href=&#34;https://f-droid.org/packages/jackpal.androidterm&#34;&gt;https://f-droid.org/packages/jackpal.androidterm&lt;/a&gt;.&lt;/p&gt;
  
  &lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;

&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>Live Chatrooms</title>
      <link>https://guardianproject.info/contact/chat/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/contact/chat/</guid>
      <description>&lt;ul style=&#34;line-height:150%&#34;&gt;
  &lt;li&gt;
    We welcome all questions, from the most beginner to advanced topics
  &lt;/li&gt;
  &lt;li&gt;
    Just ask your question, you don&#39;t need to ask permission first
  &lt;/li&gt;
  &lt;li&gt;
    Be patient, it might take some time for someone to see and answer your question.
  &lt;/li&gt;
  &lt;li&gt;
    We want your questions, and we try to answer as many as we can!
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://matrix.to/#/%23guardianproject%3amatrix.org&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/chat.jpg&#34; alt=&#34;#guardianproject:matrix.org&#34; /&gt;&lt;/a&gt;
&lt;br/&gt;
&lt;center&gt;&lt;a href=&#34;https://matrix.to/#/%23guardianproject%3amatrix.org&#34;&gt;#guardianproject:matrix.org&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Live Chatrooms</title>
      <link>https://guardianproject.info/contact/chat/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/contact/chat/</guid>
      <description>&lt;ul style=&#34;line-height:150%&#34;&gt;
  &lt;li&gt;
    We welcome all questions, from the most beginner to advanced topics
  &lt;/li&gt;
  &lt;li&gt;
    Just ask your question, you don&#39;t need to ask permission first
  &lt;/li&gt;
  &lt;li&gt;
    Be patient, it might take some time for someone to see and answer your question.
  &lt;/li&gt;
  &lt;li&gt;
    We want your questions, and we try to answer as many as we can!
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://matrix.to/#/%23guardianproject%3amatrix.org&#34;&gt;&lt;img src=&#34;https://guardianproject.info/wp-content/uploads/2010/05/chat.jpg&#34; alt=&#34;#guardianproject:matrix.org&#34; /&gt;&lt;/a&gt;
&lt;br/&gt;
&lt;center&gt;&lt;a href=&#34;https://matrix.to/#/%23guardianproject%3amatrix.org&#34;&gt;#guardianproject:matrix.org&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Seeking Android/Python contractors</title>
      <link>https://guardianproject.info/contact/android-python-contractor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/contact/android-python-contractor/</guid>
      <description>

&lt;p&gt;Guardian Project is seeking Android/Python contractors for mobile/free software/privacy work!&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;re looking for self-motivated, free software hackers to work with Guardian Project on privacy and internet freedom for mobile devices. Our work is 100% free software and we have a steady stream of projects that tie into F-Droid, Tor, IPFS, Debian, and censorship circumvention.  We work to support people and communities around the world.  This is a flexible, remote position but we also like to work in person when possible.&lt;/p&gt;

&lt;h3 id=&#34;about-you&#34;&gt;About you&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Have at least a few years of experience with native Android development and/or Python.&lt;/li&gt;
&lt;li&gt;Demonstrated the ability to work collaboratively.&lt;/li&gt;
&lt;li&gt;Understand public, free software workflows&lt;/li&gt;
&lt;li&gt;Are proactive and self-directed.&lt;/li&gt;
&lt;li&gt;Fluent in Git.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;bonus-points-for&#34;&gt;Bonus points for&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ruby/Go/C/Rust skills&lt;/li&gt;
&lt;li&gt;Debian (and derivatives)&lt;/li&gt;
&lt;li&gt;Ansible/Docker/Vagrant/Kubernetes&lt;/li&gt;
&lt;li&gt;Experience with GitLab and its API&lt;/li&gt;
&lt;li&gt;Understanding privacy implications of metadata&lt;/li&gt;
&lt;li&gt;Life experiences that are underrepresented in tech work&lt;/li&gt;
&lt;li&gt;Fluency in more than one language&lt;/li&gt;
&lt;li&gt;User research and UX design&lt;/li&gt;
&lt;li&gt;Blogging and writing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;about-us&#34;&gt;About us&lt;/h2&gt;

&lt;p&gt;This is for projects managed by Hans-Christoph Steiner. We work in Vienna, Austria so ideally you work in a similar time zone, but that is not a requirement. We work in English but our team members speak many languages. Work is contract-based but with the possibility to shift into full-time employment in the future.&lt;/p&gt;

&lt;p&gt;Please reply to &lt;a href=&#34;mailto:jobs@guardianproject.info&#34;&gt;jobs@guardianproject.info&lt;/a&gt; or find us in any of the regular channels!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Seeking Android/Python contractors</title>
      <link>https://guardianproject.info/contact/android-python-contractor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/contact/android-python-contractor/</guid>
      <description>

&lt;p&gt;Guardian Project is seeking Android/Python contractors for mobile/free software/privacy work!&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;re looking for self-motivated, free software hackers to work with Guardian Project on privacy and internet freedom for mobile devices. Our work is 100% free software and we have a steady stream of projects that tie into F-Droid, Tor, IPFS, Debian, and censorship circumvention.  We work to support people and communities around the world.  This is a flexible, remote position but we also like to work in person when possible.&lt;/p&gt;

&lt;h3 id=&#34;about-you&#34;&gt;About you&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Have at least a few years of experience with native Android development and/or Python.&lt;/li&gt;
&lt;li&gt;Demonstrated the ability to work collaboratively.&lt;/li&gt;
&lt;li&gt;Understand public, free software workflows&lt;/li&gt;
&lt;li&gt;Are proactive and self-directed.&lt;/li&gt;
&lt;li&gt;Fluent in Git.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;bonus-points-for&#34;&gt;Bonus points for&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ruby/Go/C/Rust skills&lt;/li&gt;
&lt;li&gt;Debian (and derivatives)&lt;/li&gt;
&lt;li&gt;Ansible/Docker/Vagrant/Kubernetes&lt;/li&gt;
&lt;li&gt;Experience with GitLab and its API&lt;/li&gt;
&lt;li&gt;Understanding privacy implications of metadata&lt;/li&gt;
&lt;li&gt;Life experiences that are underrepresented in tech work&lt;/li&gt;
&lt;li&gt;Fluency in more than one language&lt;/li&gt;
&lt;li&gt;User research and UX design&lt;/li&gt;
&lt;li&gt;Blogging and writing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;about-us&#34;&gt;About us&lt;/h2&gt;

&lt;p&gt;This is for projects managed by Hans-Christoph Steiner. We work in Vienna, Austria so ideally you work in a similar time zone, but that is not a requirement. We work in English but our team members speak many languages. Work is contract-based but with the possibility to shift into full-time employment in the future.&lt;/p&gt;

&lt;p&gt;Please reply to &lt;a href=&#34;mailto:jobs@guardianproject.info&#34;&gt;jobs@guardianproject.info&lt;/a&gt; or find us in any of the regular channels!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Team</title>
      <link>https://guardianproject.info/team/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/team/</guid>
      <description>&lt;p&gt;Over the last four years, we&amp;rsquo;ve been slowly building up our team of core contributors to the project. Below you&amp;rsquo;ll find &amp;ldquo;privatized&amp;rdquo; photos of our core team, their IRC handles, and a bit about who they are and what they do for the project.&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;d also like to recognize the many contributions of patches, bug reports, feedback and ideas we have received from members of our larger community.&lt;/p&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;abelxluck
    
    &lt;a href=&#34;https://gitlab.com/abelxluck&#34; target=&#34;_blank&#34; title=&#34;abelxluck on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/abeluck&#34; target=&#34;_blank&#34; title=&#34;abelxluck on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/abelxluck&#34; target=&#34;_blank&#34; title=&#34;abelxluck on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../abelxluck.png&#34; title=&#34;abelxluck&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Hacker &amp;amp; Researcher&lt;/li&gt;
    &lt;li&gt;Developer on Guardian ops suite&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40abel%3aneo.keanu.im&#34;&gt;&lt;tt&gt;@abel:neo.keanu.im&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x9185813DDCCD789E5D4BA51B884B649C340C81F4&#34;&gt;9185813DDCCD789E5D4BA51B884B649C340C81F4&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;rosa
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../rosa.png&#34; title=&#34;rosa&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Operations Operative&lt;/li&gt;
    &lt;li&gt;Partnership, products and for-hire services&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;n-pex
    
    &lt;a href=&#34;https://gitlab.com/n-pex&#34; target=&#34;_blank&#34; title=&#34;n-pex on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/n-pex&#34; target=&#34;_blank&#34; title=&#34;n-pex on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../n-pex.png&#34; title=&#34;n-pex&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Mobile Master&lt;/li&gt;
    
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;n8fr8
    
    &lt;a href=&#34;https://gitlab.com/n8fr8&#34; target=&#34;_blank&#34; title=&#34;n8fr8 on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/n8fr8&#34; target=&#34;_blank&#34; title=&#34;n8fr8 on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/n8fr8&#34; target=&#34;_blank&#34; title=&#34;n8fr8 on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../n8fr8.png&#34; title=&#34;n8fr8&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Founder and Director&lt;/li&gt;
    &lt;li&gt;Developer on Orbot, Haven, ProofMode, ObscuraCam, Keanu and More!&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40n8fr8%3amatrix.org&#34;&gt;&lt;tt&gt;@n8fr8:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xBBE20FD6DA48A3DD4CC7DF41A801183E69B37AA9&#34;&gt;BBE20FD6DA48A3DD4CC7DF41A801183E69B37AA9&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;threeletteracronym
    
    &lt;a href=&#34;https://gitlab.com/threeletteracronym&#34; target=&#34;_blank&#34; title=&#34;threeletteracronym on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/tladesignz&#34; target=&#34;_blank&#34; title=&#34;threeletteracronym on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/tladesignz&#34; target=&#34;_blank&#34; title=&#34;threeletteracronym on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../threeletteracronym.png&#34; title=&#34;threeletteracronym&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Programmer&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40threeletteracronym%3amatrix.org&#34;&gt;&lt;tt&gt;@threeletteracronym:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;uniq
    
    &lt;a href=&#34;https://gitlab.com/uniqx&#34; target=&#34;_blank&#34; title=&#34;uniq on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/uniqx&#34; target=&#34;_blank&#34; title=&#34;uniq on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../uniq.png&#34; title=&#34;uniq&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xEF909D4AD7079062A0BA1DD7725F386C05529A5A&#34;&gt;EF909D4AD7079062A0BA1DD7725F386C05529A5A&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;daveo
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../daveo.png&#34; title=&#34;daveo&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Operations Operative&lt;/li&gt;
    &lt;li&gt;Partnership, products and for-hire services&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;_hc
    
    &lt;a href=&#34;https://gitlab.com/eighthave&#34; target=&#34;_blank&#34; title=&#34;_hc on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/eighthave&#34; target=&#34;_blank&#34; title=&#34;_hc on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/hansstatus&#34; target=&#34;_blank&#34; title=&#34;_hc on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../_hc.png&#34; title=&#34;_hc&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Hacker &amp;amp; Researcher&lt;/li&gt;
    &lt;li&gt;Developer on Guardian developer tool suite&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40eighthave%3amatrix.org&#34;&gt;&lt;tt&gt;@eighthave:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xEE6620C7136B0D2C456C0A4DE9E28DEA00AA5556&#34;&gt;EE6620C7136B0D2C456C0A4DE9E28DEA00AA5556&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;bim
    
    &lt;a href=&#34;https://gitlab.com/bitmold&#34; target=&#34;_blank&#34; title=&#34;bim on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/bitmold&#34; target=&#34;_blank&#34; title=&#34;bim on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../bim.png&#34; title=&#34;bim&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Programmer&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40lexithesponge%3amatrix.org&#34;&gt;&lt;tt&gt;@lexithesponge:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;carrie
    
    &lt;a href=&#34;https://gitlab.com/crwinfrey&#34; target=&#34;_blank&#34; title=&#34;carrie on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../carrie.png&#34; title=&#34;carrie&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Interaction Designer&lt;/li&gt;
    &lt;li&gt;UI &amp;amp; UX Developer&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;h2&gt;Emeritus&lt;/h2&gt;

&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;miron
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../miron.png&#34; title=&#34;miron&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Futurist, computer geek, &amp;amp; entrepreneur&lt;/li&gt;
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xBF6273FAEF7CC0BA1F562E50989F6B3048A116B5&#34;&gt;BF6273FAEF7CC0BA1F562E50989F6B3048A116B5&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;vanevery
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../vanevery.png&#34; title=&#34;vanevery&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Guru of All Things Android&lt;/li&gt;
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x627180FBC6138C3E8E542D696C5B667D16790E46&#34;&gt;627180FBC6138C3E8E542D696C5B667D16790E46&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;mark
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../mark.png&#34; title=&#34;mark&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Creative Technologist&lt;/li&gt;
    &lt;li&gt;Strategy and Project Management&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xB605F087AE875CCA9B762A39EFBFA7278D8EFFDA&#34;&gt;B605F087AE875CCA9B762A39EFBFA7278D8EFFDA&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;harlo
    
    
    &lt;a href=&#34;https://github.com/harlo&#34; target=&#34;_blank&#34; title=&#34;harlo on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../harlo.png&#34; title=&#34;harlo&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Metadata Rockstar &amp;amp; App Maker&lt;/li&gt;
    &lt;li&gt;Developer on InformaCam, ObscuraCam&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x60FB69097B2A759811A86E0E67866BECA4469630&#34;&gt;60FB69097B2A759811A86E0E67866BECA4469630&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;dj
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../dj.png&#34; title=&#34;dj&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Design, User Experience and Strategy&lt;/li&gt;
    &lt;li&gt;Product Manager on Orbot, Gibberbot and beyond&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x29D99C07BEA7598B280782BE6692829CD2D2BE81&#34;&gt;29D99C07BEA7598B280782BE6692829CD2D2BE81&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;lee
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../lee.png&#34; title=&#34;lee&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Hacker &amp;amp; Phreaker&lt;/li&gt;
    &lt;li&gt;Lead Developer on Open Secure Telephony Network/Ostel&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xD16F04E928688169B64088D5A84BF48A12CA3765&#34;&gt;D16F04E928688169B64088D5A84BF48A12CA3765&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;josh
    
    &lt;a href=&#34;https://gitlab.com/vitriolix&#34; target=&#34;_blank&#34; title=&#34;josh on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/vitriolix&#34; target=&#34;_blank&#34; title=&#34;josh on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/vitriolix&#34; target=&#34;_blank&#34; title=&#34;josh on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../josh.png&#34; title=&#34;josh&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Designer and Code Ninja&lt;/li&gt;
    &lt;li&gt;Storymaker Developer&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xC1A794D89F7846996245B7CAF2726EBB38D2C97C&#34;&gt;C1A794D89F7846996245B7CAF2726EBB38D2C97C&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;noneck
    
    
    &lt;a href=&#34;https://github.com/noneck&#34; target=&#34;_blank&#34; title=&#34;noneck on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/noneck&#34; target=&#34;_blank&#34; title=&#34;noneck on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../noneck.png&#34; title=&#34;noneck&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x43CAAB63BC96216D323ED8BA0DC78D8C8A21A058&#34;&gt;43CAAB63BC96216D323ED8BA0DC78D8C8A21A058&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;jlhads
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../jlhads.png&#34; title=&#34;jlhads&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Advisor, Evangelist, Alpha User Extraordinaire&lt;/li&gt;
    &lt;li&gt;Grant writing, speaking, meeting and other outreach&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


</description>
    </item>
    
    <item>
      <title>Team</title>
      <link>https://guardianproject.info/team/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/team/</guid>
      <description>&lt;p&gt;Over the last four years, we&amp;rsquo;ve been slowly building up our team of core contributors to the project. Below you&amp;rsquo;ll find &amp;ldquo;privatized&amp;rdquo; photos of our core team, their IRC handles, and a bit about who they are and what they do for the project.&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;d also like to recognize the many contributions of patches, bug reports, feedback and ideas we have received from members of our larger community.&lt;/p&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;n8fr8
    
    &lt;a href=&#34;https://gitlab.com/n8fr8&#34; target=&#34;_blank&#34; title=&#34;n8fr8 on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/n8fr8&#34; target=&#34;_blank&#34; title=&#34;n8fr8 on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/n8fr8&#34; target=&#34;_blank&#34; title=&#34;n8fr8 on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../n8fr8.png&#34; title=&#34;n8fr8&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Founder and Director&lt;/li&gt;
    &lt;li&gt;Developer on Orbot, Haven, ProofMode, ObscuraCam, Keanu and More!&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40n8fr8%3amatrix.org&#34;&gt;&lt;tt&gt;@n8fr8:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xBBE20FD6DA48A3DD4CC7DF41A801183E69B37AA9&#34;&gt;BBE20FD6DA48A3DD4CC7DF41A801183E69B37AA9&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;uniq
    
    &lt;a href=&#34;https://gitlab.com/uniqx&#34; target=&#34;_blank&#34; title=&#34;uniq on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/uniqx&#34; target=&#34;_blank&#34; title=&#34;uniq on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../uniq.png&#34; title=&#34;uniq&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xEF909D4AD7079062A0BA1DD7725F386C05529A5A&#34;&gt;EF909D4AD7079062A0BA1DD7725F386C05529A5A&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;abelxluck
    
    &lt;a href=&#34;https://gitlab.com/abelxluck&#34; target=&#34;_blank&#34; title=&#34;abelxluck on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/abeluck&#34; target=&#34;_blank&#34; title=&#34;abelxluck on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/abelxluck&#34; target=&#34;_blank&#34; title=&#34;abelxluck on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../abelxluck.png&#34; title=&#34;abelxluck&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Hacker &amp;amp; Researcher&lt;/li&gt;
    &lt;li&gt;Developer on Guardian ops suite&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40abel%3aneo.keanu.im&#34;&gt;&lt;tt&gt;@abel:neo.keanu.im&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x9185813DDCCD789E5D4BA51B884B649C340C81F4&#34;&gt;9185813DDCCD789E5D4BA51B884B649C340C81F4&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;_hc
    
    &lt;a href=&#34;https://gitlab.com/eighthave&#34; target=&#34;_blank&#34; title=&#34;_hc on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/eighthave&#34; target=&#34;_blank&#34; title=&#34;_hc on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/hansstatus&#34; target=&#34;_blank&#34; title=&#34;_hc on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../_hc.png&#34; title=&#34;_hc&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Hacker &amp;amp; Researcher&lt;/li&gt;
    &lt;li&gt;Developer on Guardian developer tool suite&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40eighthave%3amatrix.org&#34;&gt;&lt;tt&gt;@eighthave:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xEE6620C7136B0D2C456C0A4DE9E28DEA00AA5556&#34;&gt;EE6620C7136B0D2C456C0A4DE9E28DEA00AA5556&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;n-pex
    
    &lt;a href=&#34;https://gitlab.com/n-pex&#34; target=&#34;_blank&#34; title=&#34;n-pex on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/n-pex&#34; target=&#34;_blank&#34; title=&#34;n-pex on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../n-pex.png&#34; title=&#34;n-pex&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Mobile Master&lt;/li&gt;
    
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;rosa
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../rosa.png&#34; title=&#34;rosa&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Operations Operative&lt;/li&gt;
    &lt;li&gt;Partnership, products and for-hire services&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;threeletteracronym
    
    &lt;a href=&#34;https://gitlab.com/threeletteracronym&#34; target=&#34;_blank&#34; title=&#34;threeletteracronym on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/tladesignz&#34; target=&#34;_blank&#34; title=&#34;threeletteracronym on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/tladesignz&#34; target=&#34;_blank&#34; title=&#34;threeletteracronym on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../threeletteracronym.png&#34; title=&#34;threeletteracronym&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Programmer&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40threeletteracronym%3amatrix.org&#34;&gt;&lt;tt&gt;@threeletteracronym:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;carrie
    
    &lt;a href=&#34;https://gitlab.com/crwinfrey&#34; target=&#34;_blank&#34; title=&#34;carrie on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../carrie.png&#34; title=&#34;carrie&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Interaction Designer&lt;/li&gt;
    &lt;li&gt;UI &amp;amp; UX Developer&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;bim
    
    &lt;a href=&#34;https://gitlab.com/bitmold&#34; target=&#34;_blank&#34; title=&#34;bim on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/bitmold&#34; target=&#34;_blank&#34; title=&#34;bim on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../bim.png&#34; title=&#34;bim&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Programmer&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-matrix-org&#34;&gt;&lt;/i&gt; &lt;a href=&#34;https://matrix.to/#/%40lexithesponge%3amatrix.org&#34;&gt;&lt;tt&gt;@lexithesponge:matrix.org&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;daveo
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../daveo.png&#34; title=&#34;daveo&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Operations Operative&lt;/li&gt;
    &lt;li&gt;Partnership, products and for-hire services&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;h2&gt;Emeritus&lt;/h2&gt;

&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;mark
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../mark.png&#34; title=&#34;mark&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Creative Technologist&lt;/li&gt;
    &lt;li&gt;Strategy and Project Management&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xB605F087AE875CCA9B762A39EFBFA7278D8EFFDA&#34;&gt;B605F087AE875CCA9B762A39EFBFA7278D8EFFDA&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;noneck
    
    
    &lt;a href=&#34;https://github.com/noneck&#34; target=&#34;_blank&#34; title=&#34;noneck on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/noneck&#34; target=&#34;_blank&#34; title=&#34;noneck on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../noneck.png&#34; title=&#34;noneck&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x43CAAB63BC96216D323ED8BA0DC78D8C8A21A058&#34;&gt;43CAAB63BC96216D323ED8BA0DC78D8C8A21A058&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;jlhads
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../jlhads.png&#34; title=&#34;jlhads&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Advisor, Evangelist, Alpha User Extraordinaire&lt;/li&gt;
    &lt;li&gt;Grant writing, speaking, meeting and other outreach&lt;/li&gt;
    
    
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;josh
    
    &lt;a href=&#34;https://gitlab.com/vitriolix&#34; target=&#34;_blank&#34; title=&#34;josh on Gitlab&#34;&gt;
      &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://github.com/vitriolix&#34; target=&#34;_blank&#34; title=&#34;josh on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
    &lt;a href=&#34;https://twitter.com/vitriolix&#34; target=&#34;_blank&#34; title=&#34;josh on Twitter&#34;&gt;
      &lt;i class=&#34;fa fa-twitter&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../josh.png&#34; title=&#34;josh&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Designer and Code Ninja&lt;/li&gt;
    &lt;li&gt;Storymaker Developer&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xC1A794D89F7846996245B7CAF2726EBB38D2C97C&#34;&gt;C1A794D89F7846996245B7CAF2726EBB38D2C97C&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;harlo
    
    
    &lt;a href=&#34;https://github.com/harlo&#34; target=&#34;_blank&#34; title=&#34;harlo on Github&#34;&gt;
      &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../harlo.png&#34; title=&#34;harlo&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Metadata Rockstar &amp;amp; App Maker&lt;/li&gt;
    &lt;li&gt;Developer on InformaCam, ObscuraCam&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x60FB69097B2A759811A86E0E67866BECA4469630&#34;&gt;60FB69097B2A759811A86E0E67866BECA4469630&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;miron
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../miron.png&#34; title=&#34;miron&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Futurist, computer geek, &amp;amp; entrepreneur&lt;/li&gt;
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xBF6273FAEF7CC0BA1F562E50989F6B3048A116B5&#34;&gt;BF6273FAEF7CC0BA1F562E50989F6B3048A116B5&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;vanevery
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../vanevery.png&#34; title=&#34;vanevery&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Guru of All Things Android&lt;/li&gt;
    
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x627180FBC6138C3E8E542D696C5B667D16790E46&#34;&gt;627180FBC6138C3E8E542D696C5B667D16790E46&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;dj
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../dj.png&#34; title=&#34;dj&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Design, User Experience and Strategy&lt;/li&gt;
    &lt;li&gt;Product Manager on Orbot, Gibberbot and beyond&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0x29D99C07BEA7598B280782BE6692829CD2D2BE81&#34;&gt;29D99C07BEA7598B280782BE6692829CD2D2BE81&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


&lt;div class=&#34;team-member&#34;&gt;
  &lt;h3&gt;lee
    
    
    
  &lt;/h3&gt;
  &lt;img style=&#34;float: right;&#34; src=&#34;../lee.png&#34; title=&#34;lee&#34; class=&#34;alignleft size-full&#34; width=&#34;64&#34; height=&#34;64&#34;/&gt;
  &lt;ul class=&#34;team-member&#34;&gt;
    &lt;li&gt;Hacker &amp;amp; Phreaker&lt;/li&gt;
    &lt;li&gt;Lead Developer on Open Secure Telephony Network/Ostel&lt;/li&gt;
    
    &lt;li&gt;&lt;i class=&#34;fa fa-gnupg&#34;&gt;&lt;/i&gt; PGP: &lt;a href=&#34;https://pgp.mit.edu/pks/lookup?op=get&amp;search=0xD16F04E928688169B64088D5A84BF48A12CA3765&#34;&gt;D16F04E928688169B64088D5A84BF48A12CA3765&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;


</description>
    </item>
    
    <item>
      <title>TorService: Tor library for Android</title>
      <link>https://guardianproject.info/code/tor-android/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/tor-android/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;This is native Android &lt;code&gt;TorService&lt;/code&gt; built on the Tor shared library built for
Android.  It is designed around the Android lifecycle.  The included &lt;em&gt;libtor.so&lt;/em&gt;
binaries can also be used directly as a tor daemon.  This is used in
&lt;a href=&#34;https://orbot.app/&#34;&gt;Orbot&lt;/a&gt;,
&lt;a href=&#34;https://gitlab.com/guardianproject/torservices&#34;&gt;TorServices&lt;/a&gt;,
&lt;a href=&#34;https://github.com/onionshare/onionshare-android&#34;&gt;OnionShare&lt;/a&gt;, and more.&lt;/p&gt;

&lt;h3 id=&#34;features&#34;&gt;Features&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Native Android &lt;code&gt;TorService&lt;/code&gt; for running Tor in a background service&lt;/li&gt;
&lt;li&gt;Designed around modern Android tools like &lt;a href=&#34;https://developer.android.com/topic/libraries/architecture/workmanager/advanced/long-running&#34;&gt;WorkManager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reproducible Build with included Vagrant setup for running them&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;source-code-repository&#34;&gt;Source Code Repository&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;library, helpers, tests, and sample project: &lt;a href=&#34;https://github.com/guardianproject/tor-android&#34;&gt;https://github.com/guardianproject/tor-android&lt;/a&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject:tor-android:0.4.7.14&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14.jar&#34;&gt;tor-android-0.4.7.14.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-sources.jar&#34;&gt;tor-android-0.4.7.14-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-javadoc.jar&#34;&gt;tor-android-0.4.7.14-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>TorService: Tor library for Android</title>
      <link>https://guardianproject.info/code/tor-android/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://guardianproject.info/code/tor-android/</guid>
      <description>

&lt;div class=&#34;source-code&#34; style=&#34;text-align: center;&#34;&gt;
  &lt;a href=&#34;https://gitlab.com/guardianproject/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android on Gitlab&#34;&gt;
    &lt;i class=&#34;fa fa-gitlab&#34;&gt;&lt;/i&gt; GitLab
  &lt;/a&gt;
  -
  &lt;a href=&#34;https://github.com/guardianproject/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android on Github&#34;&gt;
    &lt;i class=&#34;fa fa-github&#34;&gt;&lt;/i&gt; GitHub
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.github.io/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android javadoc&#34;&gt;
    Javadoc
  &lt;/a&gt;
  
  -
  &lt;a href=&#34;https://guardianproject.info/tags/tor-android&#34; target=&#34;_blank&#34; title=&#34;tor-android blog posts&#34;&gt;
    &lt;i class=&#34;fa fa-rss&#34;&gt;&lt;/i&gt; blog posts
  &lt;/a&gt;
&lt;/div&gt;
&lt;hr /&gt;


&lt;p&gt;This is native Android &lt;code&gt;TorService&lt;/code&gt; built on the Tor shared library built for
Android.  It is designed around the Android lifecycle.  The included &lt;em&gt;libtor.so&lt;/em&gt;
binaries can also be used directly as a tor daemon.  This is used in
&lt;a href=&#34;https://orbot.app/&#34;&gt;Orbot&lt;/a&gt;,
&lt;a href=&#34;https://gitlab.com/guardianproject/torservices&#34;&gt;TorServices&lt;/a&gt;,
&lt;a href=&#34;https://github.com/onionshare/onionshare-android&#34;&gt;OnionShare&lt;/a&gt;, and more.&lt;/p&gt;

&lt;h3 id=&#34;features&#34;&gt;Features&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Native Android &lt;code&gt;TorService&lt;/code&gt; for running Tor in a background service&lt;/li&gt;
&lt;li&gt;Designed around modern Android tools like &lt;a href=&#34;https://developer.android.com/topic/libraries/architecture/workmanager/advanced/long-running&#34;&gt;WorkManager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reproducible Build with included Vagrant setup for running them&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;source-code-repository&#34;&gt;Source Code Repository&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;library, helpers, tests, and sample project: &lt;a href=&#34;https://github.com/guardianproject/tor-android&#34;&gt;https://github.com/guardianproject/tor-android&lt;/a&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;








&lt;h2 id=&#34;downloads&#34;&gt;Downloads&lt;/h2&gt;
&lt;div class=&#34;gradle-line&#34;&gt;
&lt;p&gt;
  The binary jar, source jar, and javadoc jar are all available on
  jcenter. To include them using gradle, add this line to
  your &lt;i&gt;build.gradle&lt;/i&gt;:
&lt;/p&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;implementation &amp;#39;info.guardianproject:tor-android:0.4.7.14&amp;#39;&lt;/pre&gt;
&lt;p&gt;Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14.jar&#34;&gt;tor-android-0.4.7.14.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-sources.jar&#34;&gt;tor-android-0.4.7.14-sources.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-sources.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-javadoc.jar&#34;&gt;tor-android-0.4.7.14-javadoc.jar&lt;/a&gt; -
    (&lt;a href=&#34;https://repo1.maven.org/maven2/info/guardianproject/tor-android/0.4.7.14/tor-android-0.4.7.14-javadoc.jar.asc&#34;&gt;&lt;i&gt;PGP signature&lt;/i&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

</description>
    </item>
    
  </channel>
</rss>
