I'm not sure all Settings should be treated as either one of two levels
(accessible with no user involvement, or not accessible at all).  I think
different Settings should be handled individually.  Here are some
suggestions for a few possible Settings parameters:

-- Vibrating the phone and changing the time: Let all apps* do it, but the
default Settings app should say what app last changed this setting.

-- Changing the wallpaper or ringtone: Let all apps do it, but provide an
"undo" mechanism in Settings that changes it back to what it was prior to
that app altering it.

-- Turning the sound up or down: Let all apps do it, but have the OS throw
a short, slightly-transparent notification saying that the app is doing it
the first 5(?) times an app changes the setting.

-- Adding words to the dictionary: Only let apps do this if they are
installed as IME apps; there should only be one IME app at a time.

-- Connecting or disconnecting from bluetooth: All apps can get a list of
nearby devices. If an app initiates pairing to a new device, show a special
runtime dialog that includes information about the target device.  Whenever
a bluetooth connection is active, display a Bluetooth icon.

-- Connecting or disconnecting from WiFi: Apps can connect to known
networks, or disconnect from any network.  If an app is connecting to a new
network, ask the user with the standard OS prompt for connecting to new
networks.  The Settings WiFi control panel should have some small text that
says what app last disconnected you from the network if the current state
of the phone is disconnected.

-- Reading current WiFi state: Any app can do this, but the SSIDs should be
treated like geolocation.

*Whenever I say "apps" in this e-mail I mean trusted/certified apps, not
arbitrary web sites.

On Sun, Apr 15, 2012 at 11:16 PM, Lucas Adamski <ladam...@mozilla.com>wrote:

> Please reply-to dev-weba...@lists.mozilla.org
>
> Name of API: Settings API
> Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=678695
>
> Brief purpose of API: API to configure device settings
> General Use Cases: None
>
> Inherent threats:
> *Access sensitive configuration data (wifi passwords etc)
> *Change settings which might cost user money (data settings, roaming etc)
> *Safety implications (airplane mode? If you believe a plane can be brought
> down by a mobile phone...)
>
> Threat severity: High
>
> == Regular web content (unauthenticated) ==
> Use cases for unauthenticated code:None
> Authorization model for normal content: None
> Authorization model for installed content:None
> Potential mitigations: N/A
>
> == Trusted (authenticated by publisher) ==
> Use cases for authenticated code: Modify a specific setting - e.g. e-book
> app modifies brightness in response to lighting conditions
> Authorization model: Implicit
> Potential mitigations: Limit access to benign settings
>
> == Certified (vouched for by trusted 3rd party) ==
> Use cases for certified code: replacement settings manager app
> Authorization model: Implicit access to all settings
> Potential mitigations: None
>
> _______________________________________________
> dev-webapi mailing list
> dev-web...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-webapi
>
_______________________________________________
dev-security mailing list
dev-security@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security

Reply via email to