Adding privacy policy.

This commit is contained in:
Samuel Clay 2017-11-28 16:22:46 -08:00
parent d06b10dc75
commit 524d7f6cb9
10 changed files with 195 additions and 9 deletions

View file

@ -29,6 +29,11 @@ def api(request):
def press(request):
return render_to_response('static/press.xhtml', {},
context_instance=RequestContext(request))
def privacy(request):
return render_to_response('static/privacy.xhtml', {},
context_instance=RequestContext(request))
def feedback(request):
return render_to_response('static/feedback.xhtml', {},

View file

@ -357,6 +357,9 @@
}
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
[[NSUserDefaults standardUserDefaults] setObject:version forKey:@"version"];
}
- (void)registerForRemoteNotifications {

View file

@ -69,7 +69,7 @@
action: @selector(restorePurchase:)];
[self.navigationItem setRightBarButtonItem:restoreButton];
self.navigationItem.title = appDelegate.isPremium ? @"Premium Account" : @"Upgrade to Premium";
self.navigationItem.title = @"NewsBlur Premium";
[self loadProducts];
[self updateTheme];
[confettiView setNeedsLayout];
@ -345,7 +345,7 @@
[formatter setLocale:product.priceLocale];
cell.textLabel.text = [NSString stringWithFormat:@"%@", product.localizedTitle];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@/year (%@/month)", [formatter stringFromNumber:product.price], [formatter stringFromNumber:@(round([product.price doubleValue] / 12.f))]];;
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ per year (%@/month)", [formatter stringFromNumber:product.price], [formatter stringFromNumber:@(round([product.price doubleValue] / 12.f))]];;
UILabel *label = [[UILabel alloc] init];
label.text = @"👉🏽";

View file

@ -39,10 +39,10 @@
<rect key="frame" x="0.0" y="0.0" width="768" height="1024"/>
<subviews>
<activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" animating="YES" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="yBE-Kx-Lyj">
<rect key="frame" x="374" y="113" width="20" height="20"/>
<rect key="frame" x="374" y="131" width="20" height="20"/>
</activityIndicatorView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="fn0-sC-cuM">
<rect key="frame" x="0.0" y="175" width="768" height="849"/>
<rect key="frame" x="0.0" y="193" width="768" height="831"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<outlet property="dataSource" destination="-1" id="Hc6-OJ-jhm"/>
@ -50,7 +50,7 @@
</connections>
</tableView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" verticalCompressionResistancePriority="1000" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="0Bc-Oc-gNV">
<rect key="frame" x="0.0" y="95" width="768" height="56"/>
<rect key="frame" x="0.0" y="113" width="768" height="56"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="56" id="Gta-B6-eUD"/>
@ -66,8 +66,8 @@
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="1000" text="Your contribution helps keep NewsBlur humming." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wHV-Eo-ith">
<rect key="frame" x="24" y="53" width="720" height="18"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="1000" text="Upgrading to a NewsBlur premium subscription gives you all of these features. Cancel at any time from the App Store." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wHV-Eo-ith">
<rect key="frame" x="24" y="53" width="720" height="36"/>
<fontDescription key="fontDescription" name="GothamNarrow-Medium" family="Gotham Narrow" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>

View file

@ -58,7 +58,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>86</string>
<string>87</string>
<key>FacebookAppID</key>
<string>230426707030569</string>
<key>ITSAppUsesNonExemptEncryption</key>

View file

@ -696,6 +696,44 @@
<key>Key</key>
<string>custom_domain</string>
</dict>
<dict>
<key>Title</key>
<string>About NewsBlur</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>Version</string>
<key>Key</key>
<string>version</string>
<key>DefaultValue</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>Copyright</string>
<key>DefaultValue</key>
<string>NewsBlur, Inc.</string>
<key>Key</key>
<string>copyright</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>www.newsblur.com/privacy</string>
<key>File</key>
<string>http://www.newsblur.com/privacy</string>
<key>Title</key>
<string>Privacy Policy</string>
<key>Type</key>
<string>IASKOpenURLSpecifier</string>
<key>IASKTextAlignment</key>
<string>IASKUITextAlignmentCenter</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>

View file

@ -716,6 +716,44 @@
<key>Key</key>
<string>custom_domain</string>
</dict>
<dict>
<key>Title</key>
<string>About NewsBlur</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>Version</string>
<key>Key</key>
<string>version</string>
<key>DefaultValue</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>Copyright</string>
<key>DefaultValue</key>
<string>NewsBlur, Inc.</string>
<key>Key</key>
<string>copyright</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>www.newsblur.com/privacy</string>
<key>File</key>
<string>http://www.newsblur.com/privacy</string>
<key>Title</key>
<string>Privacy Policy</string>
<key>Type</key>
<string>IASKOpenURLSpecifier</string>
<key>IASKTextAlignment</key>
<string>IASKUITextAlignmentCenter</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>

View file

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>7.1</string>
<key>CFBundleVersion</key>
<string>86</string>
<string>87</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>

View file

@ -0,0 +1,101 @@
{% extends 'base.html' %}
{% load utils_tags %}
{% block bodyclass %}NB-static NB-static-press{% endblock %}
{% block title %}Privacy Policy{% endblock %}
{% block content %}
<div class="NB-static-title">
Privacy Policy
</div>
<div class="NB-module">
<div class="NB-module-content">
<p>This policy applies to all information collected or submitted on
NewsBlurs website and our apps for iPhone, Android, and any other devices and
platforms.</p>
<p>When creating an account, you will be asked to enter an email
address and a password. Email addresses are only used for logging in
and password resets. We dont sell emails.</p>
<p>If you enable notifications, we must store a token to send them. We
use push notifications to initiate background downloads and notify you
of new stories. We never use notifications for marketing.</p>
<p>We store information about the stories you've read to sync this information between the website and your
devices. We also collect anonymous statistics of training data that is available for all users under Statistics on a per feed basis.</p>
<p>We use cookies on the site and similar tokens in the app to keep you logged in. Like most websites and apps, we also store information through the use
of software that may be transparent to users. For example, we may log your IP address and general information about your browser or device.</p>
<p>NewsBlurs iOS, Android, and web apps collects aggregate, anonymous statistics, such as the percentage of users who use particular features, to improve the
app and prioritize future development efforts. Crash reports are also collected to help improve the app.</p>
<p>We do not share your personal information with outside parties except to the extent necessary to accomplish NewsBlurs functionality. In other words, your information is not sold or given away to any third-parties.</p>
<p>In the future, we may sell to, buy, merge with, or partner with other businesses. In such transactions, user information may be among the transferred assets.</p>
<p>We implement a variety of security measures to help keep your
information secure.</p>
<p>For instance, if you choose to use SSL/https, all communication with the app and website will be sent over
HTTPS, and passwords are not stored: they are hashed using advanced, well-researched methods.</p>
<p>You may access or change your information or delete your account at any time from the website. You may also choose to cancel your subscription from the website.</p>
<p>NewsBlur displays links and content from third-party feeds and
sites, and downloads images directly from each sites
third-party servers. These have their own independent privacy
policies, and we have no responsibility or liability for their content
or activities.</p>
<h3>California Online Privacy Protection Act Compliance</h3>
<p>We comply with the California Online Privacy Protection Act. We
therefore will not distribute your personal information to outside
parties without your consent.</p>
<h3>Childrens Online Privacy Protection Act Compliance</h3>
<p>We never collect or maintain information at our website from those we
actually know are under 13, and no part of our website is structured
to attract anyone under 13.</p>
<h3>Information for European Union Customers</h3>
<p>By using NewsBlur and providing your information, you authorize us to
collect, use, and store your information outside of the European
Union.</p>
<h3>International Transfers of Information</h3>
<p>Information may be processed, stored, and used outside of the country
in which you are located. Data privacy laws vary across jurisdictions,
and different laws may be applicable to your data depending on where
it is processed, stored, or used.</p>
<h3>Your Consent</h3>
<p>By using our site or apps, you consent to our privacy policy.</p>
<h3>Contacting Us</h3>
<p>If you have questions regarding this privacy policy, you may email
<a href="mailto:samuel@newsblur.com?subject=Privacy+Policy+Question">samuel@newsblur.com</a>.</p>
<h3>Changes to this policy</h3>
<p>If we decide to change our privacy policy, we will post those changes
on this page. Summary of changes so far:</p>
<ul>
<li>November 28, 2017: First published.</li>
</ul>
</div>
{% endblock content %}
{% block footer %}
{% render_footer "press" %}
{% endblock footer %}

View file

@ -51,6 +51,7 @@ urlpatterns = patterns('',
url(r'^api/?', static_views.api, name='api'),
url(r'^press/?', static_views.press, name='press'),
url(r'^feedback/?', static_views.feedback, name='feedback'),
url(r'^privacy/?', static_views.privacy, name='privacy'),
url(r'^ios/download/?', static_views.ios_download, name='ios-download'),
url(r'^ios/NewsBlur.plist', static_views.ios_plist, name='ios-download-plist'),
url(r'^ios/NewsBlur.ipa', static_views.ios_ipa, name='ios-download-ipa'),