Compare Revisions

Security guidelines

Revision 397127:

Revision 397127 by Sheppy on

Revision 455949:

Revision 455949 by brandonyoungdale on

Title:
Security guidelines
Security guidelines
Slug:
Web/Apps/Security_guidelines
Web/Apps/Security_guidelines
Tags:
"security","Apps"
Content:

Revision 397127
Revision 455949
n11      All Firefox OS apps use <strong>standard web technologies</n11      All Firefox OS apps use <strong>standard web technologies</
>strong> like HTML, JavaScript, CSS and SVG, but <strong>sensitive>strong> like HTML, JavaScript, CSS and SVG, but <strong>sensitive
> app permissions are restricted to privileged apps</strong> which> app permissions are restricted to privileged apps</strong>, whic
> are delivered in a <strong>signed archive</strong> through the F>h are delivered in a <strong>signed archive</strong> through the 
>irefox Market rather than being deployed dynamically by an arbitr>Firefox Market, rather than being deployed dynamically by an arbi
>ary web server. The purpose is to <strong>allow these apps to be >trary web server. The purpose is to <strong>allow these apps to b
>reviewed</strong> from a security and quality perspective, to ens>e reviewed</strong> from a security and quality perspective, to e
>ure they can be trusted with increased permissions levels. This s>nsure they can be trusted with increased permissions levels. This
>ection is intended to guide developers in writing secure packaged> section is intended to guide developers in writing secure packag
> apps.>ed apps.
n20      Injected code runs with the privilege of your app, and can n20      Injected code runs with the privilege of your app, and can 
>potentially abuse any permission the app is granted. A <a href="h>potentially abuse any permission the app is granted. A <a href="h
>ttps://developer.mozilla.org/en-US/docs/Apps/CSP">default CSP pol>ttps://developer.mozilla.org/en-US/docs/Apps/CSP">default CSP pol
>icy</a> applied to all privileged apps, but this does not complet>icy</a>&nbsp;is applied to all privileged apps, but this does not
>ely rule out this attack vector (note that in particular, inline > completely rule out this attack vector (note: in particular, inl
>styles are not yet prevented).>ine styles are not yet prevented).
n48      Web activities provide a mechanism to send and receive datan48      Web activities provide a mechanism to send and receive data
> from other applications. When you start a web activity, there is> from other applications. When you start a web activity, there is
> no guarantee which app will handle it. If there are multiple act> no guarantee which app will handle it. If there are multiple act
>ivities which can fulfill your request, it is up to the user to c>ivities which can fulfill your request, it is up to the user to c
>hoose, and vice-versa when handling an activity. Any content, inc>hoose, and vice-versa, when handling an activity. Any content, in
>luding untrusted web content, can initiate an activity, so theref>cluding untrusted web content, can initiate an activity, so there
>ore all input needs to be validated and sanitized.>fore all input needs to be validated and sanitized.
n55          <li>Be careful what you functionality you expose.n55          <li>Be careful what functionality you expose.
n79      <li>Be careful with URLs (including <code>location.hash</con79      <li>Be careful with URLs (including <code>location.hash</co
>de>). Although linking from one app:// to another is prevented, s>de>). Although linking from one app:// to another is prevented, s
>ome forced-browsing scenarios are still possible, for example, if>ome forced-browsing scenarios are still possible. For exampleif
> your application sets the location via user input.> your application sets the location via user input.
t145        Especially, don't use the <em>notification</em> and <em>at145        Especially, do not use the <em>notification</em> and <em>
>larm</em> channels for longer periods of time. Don't use them to >alarm</em> channels for longer periods of time. Do not use them t
>play music.>o play music.

Back to History