Add /support and /support/privacy
parent
56cf890deb
commit
6533d7dd08
|
@ -401,7 +401,7 @@ PODS:
|
|||
- React-Core
|
||||
- react-native-version-number (0.3.6):
|
||||
- React
|
||||
- react-native-webview (11.26.0):
|
||||
- react-native-webview (11.26.1):
|
||||
- React-Core
|
||||
- React-perflogger (0.71.3)
|
||||
- React-RCTActionSheet (0.71.3):
|
||||
|
@ -869,7 +869,7 @@ SPEC CHECKSUMS:
|
|||
react-native-safe-area-context: 39c2d8be3328df5d437ac1700f4f3a4f75716acc
|
||||
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
|
||||
react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f
|
||||
react-native-webview: 994b9f8fbb504d6314dc40d83f94f27c6831b3bf
|
||||
react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1
|
||||
React-perflogger: af8a3d31546077f42d729b949925cc4549f14def
|
||||
React-RCTActionSheet: 57cc5adfefbaaf0aae2cf7e10bccd746f2903673
|
||||
React-RCTAnimation: 11c61e94da700c4dc915cf134513764d87fc5e2b
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
"react-native-web": "^0.18.11",
|
||||
"react-native-web-linear-gradient": "^1.1.2",
|
||||
"react-native-web-webview": "^1.0.2",
|
||||
"react-native-webview": "11.26.0",
|
||||
"react-native-webview": "^11.26.1",
|
||||
"react-native-youtube-iframe": "^2.2.2",
|
||||
"rn-fetch-blob": "^0.12.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
|
|
|
@ -35,6 +35,8 @@ import {PostUpvotedByScreen} from './view/screens/PostUpvotedBy'
|
|||
import {PostRepostedByScreen} from './view/screens/PostRepostedBy'
|
||||
import {DebugScreen} from './view/screens/Debug'
|
||||
import {LogScreen} from './view/screens/Log'
|
||||
import {SupportScreen} from './view/screens/Support'
|
||||
import {PrivacyPolicyScreen} from './view/screens/PrivacyPolicy'
|
||||
|
||||
const navigationRef = createNavigationContainerRef<AllNavigatorParams>()
|
||||
|
||||
|
@ -64,6 +66,8 @@ function commonScreens(Stack: typeof HomeTab) {
|
|||
<Stack.Screen name="PostRepostedBy" component={PostRepostedByScreen} />
|
||||
<Stack.Screen name="Debug" component={DebugScreen} />
|
||||
<Stack.Screen name="Log" component={LogScreen} />
|
||||
<Stack.Screen name="Support" component={SupportScreen} />
|
||||
<Stack.Screen name="PrivacyPolicy" component={PrivacyPolicyScreen} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ export type CommonNavigatorParams = {
|
|||
PostRepostedBy: {name: string; rkey: string}
|
||||
Debug: undefined
|
||||
Log: undefined
|
||||
Support: undefined
|
||||
PrivacyPolicy: undefined
|
||||
}
|
||||
|
||||
export type HomeTabNavigatorParams = CommonNavigatorParams & {
|
||||
|
|
|
@ -0,0 +1,608 @@
|
|||
import React from 'react'
|
||||
import {H2, H4, P, UL, LI, A} from 'view/com/util/Html'
|
||||
|
||||
export default function () {
|
||||
return (
|
||||
<>
|
||||
<H4>Last Updated: 2023/02/02</H4>
|
||||
<P>
|
||||
This Privacy Policy is designed to help you understand how Bluesky,
|
||||
PBLLC d.b.a. Bluesky (“Bluesky,” “we,” “us,” or “our”)
|
||||
collects, uses, processes, and shares your personal information, and to
|
||||
help you understand and exercise your privacy rights.{' '}
|
||||
</P>
|
||||
<P>1. SCOPE AND UPDATES TO THIS PRIVACY POLICY</P>
|
||||
<P>2. PERSONAL INFORMATION WE COLLECT</P>
|
||||
<P>3. HOW WE USE YOUR PERSONAL INFORMATION</P>
|
||||
<P>4. HOW WE DISCLOSE YOUR PERSONAL INFORMATION</P>
|
||||
<P>5. YOUR PRIVACY CHOICES AND RIGHTS</P>
|
||||
<P>6. SECURITY OF YOUR INFORMATION</P>
|
||||
<P>7. INTERNATIONAL DATA TRANSFERS</P>
|
||||
<P>8. RETENTION OF PERSONAL INFORMATION</P>
|
||||
<P>9. SUPPLEMENTAL NOTICE FOR NEVADA RESIDENTS</P>
|
||||
<P>10. CHILDREN’S INFORMATION</P>
|
||||
<P>11. OTHER PROVISIONS</P>
|
||||
<P>12. CONTACT US</P>
|
||||
|
||||
<H2>1. SCOPE AND UPDATES TO THIS PRIVACY POLICY</H2>
|
||||
<P>
|
||||
This Privacy Policy applies to personal information processed by us,
|
||||
including on our websites, mobile applications, and other online or
|
||||
offline offerings. To make this Privacy Policy easier to read, our
|
||||
websites, mobile applications, and other offerings are collectively
|
||||
called the “Services.”
|
||||
</P>
|
||||
<P>
|
||||
Changes to our Privacy Policy. We may revise this Privacy Policy from
|
||||
time to time in our sole discretion. If there are any material changes
|
||||
to this Privacy Policy, we will notify you as required by applicable
|
||||
law. You understand and agree that you will be deemed to have accepted
|
||||
the updated Privacy Policy if you continue to use our Services after the
|
||||
new Privacy Policy takes effect.
|
||||
</P>
|
||||
<H2>2. PERSONAL INFORMATION WE COLLECT</H2>
|
||||
<P>
|
||||
The categories of personal information we collect depend on how you
|
||||
interact with us, our Services, and the requirements of applicable law.
|
||||
We collect information that you provide to us, information we obtain
|
||||
automatically when you use our Services, and information from other
|
||||
sources such as third-party services and organizations, as described
|
||||
below.
|
||||
</P>
|
||||
<H4>1. Personal Information You Provide to Us Directly</H4>
|
||||
<P>We may collect personal information that you provide to us.</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Account Creation. We may collect personal information when you create
|
||||
an account with us, such as a username and password.
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Your Communications with Us. We may collect personal information, such
|
||||
as email address, phone number, or full name when you request
|
||||
information about our Services, request customer or technical support,
|
||||
or otherwise communicate with us.
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Interactive Features. We and others who use our Services may collect
|
||||
personal information that you submit or make available through our
|
||||
interactive features (e.g., messaging and chat features, commenting
|
||||
functionalities, forums, blogs, and social media pages). Any
|
||||
information you provide using the public sharing features of the
|
||||
Services will be considered “public,” unless otherwise required by
|
||||
applicable law, and is not subject to the privacy protections
|
||||
referenced herein. Please exercise caution before revealing any
|
||||
information that may identify you in the real world to other users.
|
||||
</LI>
|
||||
</UL>
|
||||
<H4>2. Personal Information Collected Automatically</H4>
|
||||
<P>
|
||||
We may collect personal information automatically when you use our
|
||||
Services.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Automatic Collection of Personal Information. We may collect certain
|
||||
information automatically when you use our Services, such as your
|
||||
Internet protocol (IP) address, user settings, cookie identifiers,
|
||||
mobile carrier, mobile advertising and other unique identifiers,
|
||||
browser or device information, and Internet service provide. We may
|
||||
also automatically collect information regarding your use of our
|
||||
Services, such as pages that you visit before, during and after using
|
||||
our Services, information about the links you click, the types of
|
||||
content you interact with, the frequency and duration of your
|
||||
activities, and other information about how you use our Services.
|
||||
</LI>
|
||||
<UL>
|
||||
<LI>
|
||||
Crash Reports. If you provide crash reports, we may collect personal
|
||||
information related to such crash reports, including detailed
|
||||
diagnostic information about your device and the activities that led
|
||||
to the crash.
|
||||
</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Cookie Policy (and Other Technologies). We, as well as third
|
||||
parties that provide content, or other functionality on our Services,
|
||||
may use cookies, pixel tags, and other technologies (“Technologies”)
|
||||
to automatically collect information through your use of our Services.
|
||||
</LI>
|
||||
<UL>
|
||||
<LI>
|
||||
Cookies. Cookies are small text files placed in device browsers that
|
||||
store preferences and facilitate and enhance your experience.
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Pixel Tags/Web Beacons. A pixel tag (also known as a web beacon) is
|
||||
a piece of code embedded in our Services that collects information
|
||||
about engagement on our Services. The use of a pixel tag allows us
|
||||
to record, for example, that a user has visited a particular web
|
||||
page or clicked on a particular advertisement. We may also include
|
||||
web beacons in e-mails to understand whether messages have been
|
||||
opened, acted on, or forwarded.
|
||||
</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<P>
|
||||
Our uses of these Technologies fall into the following general
|
||||
categories:
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Operationally Necessary. This includes Technologies that allow you
|
||||
access to our Services, applications, and tools that are required to
|
||||
identify irregular website behavior, prevent fraudulent activity,
|
||||
improve security, or allow you to make use of our functionality;
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Performance-Related. We may use Technologies to assess the performance
|
||||
of our Services, including as part of our analytic practices to help
|
||||
us understand how individuals use our Services (see Analytics below);
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Functionality-Related. We may use Technologies that allow us to offer
|
||||
you enhanced functionality when accessing or using our Services. This
|
||||
may include identifying you when you sign into our Services or keeping
|
||||
track of your specified preferences, interests, or past items viewed;
|
||||
</LI>
|
||||
</UL>
|
||||
<P>
|
||||
See “Your Privacy Choices and Rights” below to understand your choices
|
||||
regarding these Technologies.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Analytics. We may use Technologies and other third-party tools to
|
||||
process analytics information on our Services. These Technologies
|
||||
allow us to better understand how our digital Services are used and to
|
||||
continually improve and personalize our Services. Some of our
|
||||
analytics partners include:
|
||||
</LI>
|
||||
<UL>
|
||||
<LI>
|
||||
Segment.io. We use Segment's event tracking services to
|
||||
aggregate, archive, and distribute website and application usage
|
||||
information. For more information about how Segment uses your
|
||||
personal information, please visit{' '}
|
||||
<A href="https://www.twilio.com/legal/privacy">
|
||||
https://www.twilio.com/legal/privacy
|
||||
</A>
|
||||
.
|
||||
</LI>
|
||||
<LI>
|
||||
Mixpanel. We use Mixpanel's analytics and event tracking
|
||||
services to record and analyze website and application usage. For
|
||||
more information about how Mixpanel uses your personal information,
|
||||
please visit{' '}
|
||||
<A href="https://mixpanel.com/legal/privacy-policy">
|
||||
https://mixpanel.com/legal/privacy-policy
|
||||
</A>
|
||||
.
|
||||
</LI>
|
||||
<LI>
|
||||
DataDog. We use DataDog's monitoring, tracing, and logging
|
||||
services to record application and server metrics, logs, and related
|
||||
debugging information. For more information about how DataDog uses
|
||||
your personal information, please visit{' '}
|
||||
<A href="https://www.datadoghq.com/legal/privacy/">
|
||||
https://www.datadoghq.com/legal/privacy/
|
||||
</A>
|
||||
.
|
||||
</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Social Media Platforms. Our Services may contain social media
|
||||
buttons, such as Twitter, GitHub, Matrix, which might include widgets
|
||||
such as the “share this” button or other interactive mini programs).
|
||||
These features may collect personal information such as your IP
|
||||
address and which page you are visiting on our Services, and may set a
|
||||
cookie to enable the feature to function properly. Your interactions
|
||||
with these platforms are governed by the privacy policy of the company
|
||||
providing it.
|
||||
</LI>
|
||||
</UL>
|
||||
<H4>3. Personal Information Collected from Other Sources</H4>
|
||||
<P>
|
||||
Third-Party Services and Sources. We may obtain personal information
|
||||
about you from other sources, including through third-party services and
|
||||
organizations. For example, if you access our Services through a
|
||||
third-party application, such as an app store, a third-party login
|
||||
service, or a social networking site, we may collect personal
|
||||
information about you from that third-party application that you have
|
||||
made available via your privacy settings.
|
||||
</P>
|
||||
<P>
|
||||
Referrals and Sharing Features. Our Services may offer various
|
||||
tools and functionalities that allow you to provide personal information
|
||||
about your friends through our referral service. Third parties may also
|
||||
use the Services to upload personal information about you, including
|
||||
when they tag you. Our referral services may also allow you to forward
|
||||
or share certain content with a friend or colleague, such as an email
|
||||
inviting your friend to use our Services. Please only share with us
|
||||
contact information of people with whom you have a relationship (e.g.,
|
||||
relative, friend, neighbor, or co-worker).
|
||||
</P>
|
||||
<H2>3. HOW WE USE YOUR PERSONAL INFORMATION</H2>
|
||||
<P>
|
||||
We use your personal information for a variety of business purposes,
|
||||
including to provide our Services, for administrative purposes, and to
|
||||
market our products and Services, as described below.
|
||||
</P>
|
||||
<H4>1. Provide Our Services</H4>
|
||||
<P>
|
||||
We use your information to fulfill our contract with you and provide you
|
||||
with our Services, such as:
|
||||
</P>
|
||||
<UL>
|
||||
<LI>Managing your information and accounts;</LI>
|
||||
<LI>
|
||||
Providing access to certain areas, functionalities, and features of
|
||||
our Services;
|
||||
</LI>
|
||||
<LI>Answering requests for customer or technical support;</LI>
|
||||
<LI>
|
||||
Communicating with you about your account, activities on our Services,
|
||||
and policy changes;
|
||||
</LI>
|
||||
<LI>
|
||||
Processing your financial information and other payment methods for
|
||||
products or Services purchased;
|
||||
</LI>
|
||||
<LI>Allowing you to register for events.</LI>
|
||||
</UL>
|
||||
<H4>2. Administrative Purposes</H4>
|
||||
<P>
|
||||
We use your information for various administrative purposes, such as:
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Pursuing our legitimate interests such as direct marketing, research
|
||||
and development (including marketing research), network and
|
||||
information security, and fraud prevention;
|
||||
</LI>
|
||||
<LI>
|
||||
Detecting security incidents, protecting against malicious, deceptive,
|
||||
fraudulent or illegal activity, and prosecuting those responsible for
|
||||
that activity;
|
||||
</LI>
|
||||
<LI>Measuring interest and engagement in our Services;</LI>
|
||||
<LI>
|
||||
Short-term, transient use, such as contextual customization of ads;
|
||||
</LI>
|
||||
<LI>Improving, upgrading, or enhancing our Services;</LI>
|
||||
<LI>Developing new products and services;</LI>
|
||||
<LI>Ensuring internal quality control and safety;</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Authenticating and verifying individual identities, including requests
|
||||
to exercise your rights under this Privacy Policy;
|
||||
</LI>
|
||||
<LI>Debugging to identify and repair errors with our Services;</LI>
|
||||
<LI>
|
||||
Auditing relating to interactions, transactions, and other compliance
|
||||
activities;
|
||||
</LI>
|
||||
<LI>
|
||||
Sharing personal information with third parties as needed to provide
|
||||
the Services;
|
||||
</LI>
|
||||
<LI>Enforcing our agreements and policies; and</LI>
|
||||
<LI>
|
||||
Carrying out activities that are required to comply with our legal
|
||||
obligations.
|
||||
</LI>
|
||||
</UL>
|
||||
<H4>3. With Your Consent</H4>
|
||||
<P>
|
||||
We may use personal information for other purposes that are clearly
|
||||
disclosed to you at the time you provide personal information or with
|
||||
your consent.
|
||||
</P>
|
||||
<H4>4. Other Purposes</H4>
|
||||
<P>
|
||||
We also use your personal information for other purposes as requested by
|
||||
you or as permitted by applicable law.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
De-identified and Aggregated Information. We may use personal
|
||||
information to create de-identified and/or aggregated information,
|
||||
such as demographic information, information about the device from
|
||||
which you access our Services, or other analyses we create.{' '}
|
||||
</LI>
|
||||
</UL>
|
||||
<H2>4. HOW WE DISCLOSE YOUR PERSONAL INFORMATION</H2>
|
||||
<P>
|
||||
We disclose your personal information to third parties for a variety of
|
||||
business purposes, including to provide our Services, to protect us or
|
||||
others, or in the event of a major business transaction such as a
|
||||
merger, sale, or asset transfer, as described below.
|
||||
</P>
|
||||
<H4>1. Disclosures to Provide our Services</H4>
|
||||
<P>
|
||||
The categories of third parties with whom we may share your personal
|
||||
information are described below.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Service Providers. We may share your personal information with our
|
||||
third-party service providers and vendors that assist us with the
|
||||
provision of our Services. This includes service providers and vendors
|
||||
that provide us with IT support, hosting, payment processing, customer
|
||||
service, and related services.
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Business Partners. We may share your personal information with
|
||||
business partners to provide you with a product or service you have
|
||||
requested. We may also share your personal information with business
|
||||
partners with whom we jointly offer products or services.
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Other Users or Third Parties You Share or Interact With. As described
|
||||
above in “Personal Information We Collect,” our Services may allow you
|
||||
to share personal information or interact with other users and third
|
||||
parties (including individuals and third parties who do not use our
|
||||
Services and the general public).
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
APIs/SDKs. We may use third-party application program interfaces
|
||||
(“APIs”) and software development kits (“SDKs”) as part of the
|
||||
functionality of our Services. For more information about our use of
|
||||
APIs and SDKs, please contact us as set forth in “ Contact
|
||||
Us” below.
|
||||
</LI>
|
||||
</UL>
|
||||
<H4>2. Disclosures to Protect Us or Others</H4>
|
||||
<P>
|
||||
We may access, preserve, and disclose any information we store
|
||||
associated with you to external parties if we, in good faith, believe
|
||||
doing so is required or appropriate to: comply with law enforcement or
|
||||
national security requests and legal process, such as a court order or
|
||||
subpoena; protect your, our, or others’ rights, property, or
|
||||
safety; enforce our policies or contracts; collect amounts owed to us;
|
||||
or assist with an investigation or prosecution of suspected or actual
|
||||
illegal activity.
|
||||
</P>
|
||||
<H4>
|
||||
3. Disclosure in the Event of Merger, Sale, or Other Asset Transfers
|
||||
</H4>
|
||||
<P>
|
||||
If we are involved in a merger, acquisition, financing due diligence,
|
||||
reorganization, bankruptcy, receivership, purchase or sale of assets, or
|
||||
transition of service to another provider, your information may be sold
|
||||
or transferred as part of such a transaction, as permitted by law and/or
|
||||
contract.
|
||||
</P>
|
||||
<H2>5. YOUR PRIVACY CHOICES AND RIGHTS</H2>
|
||||
<P>
|
||||
Your Privacy Choices. The privacy choices you may have about your
|
||||
personal information are determined by applicable law and are described
|
||||
below.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Email Communications. If you receive an unwanted email from us, you
|
||||
can use the unsubscribe link found at the bottom of the email to opt
|
||||
out of receiving future emails. Note that you will continue to receive
|
||||
transaction-related emails regarding products or Services you have
|
||||
requested. We may also send you certain non-promotional communications
|
||||
regarding us and our Services, and you will not be able to opt out of
|
||||
those communications (e.g., communications regarding our Services or
|
||||
updates to our Terms or this Privacy Policy).
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Mobile Devices. We may send you push notifications through our mobile
|
||||
application. You may opt out from receiving these push notifications
|
||||
by changing the settings on your mobile device. With your consent, we
|
||||
may also collect precise location-based information via our mobile
|
||||
application. You may opt out of this collection by changing the
|
||||
settings on your mobile device.
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
“Do Not Track.” Do Not Track (“DNT”) is a privacy preference that
|
||||
users can set in certain web browsers. Please note that we do not
|
||||
respond to or honor DNT signals or similar mechanisms transmitted by
|
||||
web browsers.
|
||||
</LI>
|
||||
</UL>
|
||||
<P>
|
||||
Your Privacy Rights. In accordance with applicable law, you may have the
|
||||
right to:
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
Access to and Portability of Your Personal Information, including: (i)
|
||||
confirming whether we are processing your personal information; (ii)
|
||||
obtaining access to or a copy of your personal information; and (iii)
|
||||
receiving an electronic copy of personal information that you have
|
||||
provided to us, or asking us to send that information to another
|
||||
company in a structured, commonly used, and machine readable format
|
||||
(also known as the “right of data portability”);
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Request Correction of your personal information where it is inaccurate
|
||||
or incomplete. In some cases, we may provide self-service tools that
|
||||
enable you to update your personal information;
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>Request Deletion of your personal information;</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Request Restriction of or Object to our processing of your
|
||||
personal information where the processing of your personal information
|
||||
is based on our legitimate interest or for direct marketing purposes;
|
||||
and
|
||||
</LI>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI>
|
||||
Withdraw your Consent to our processing of your personal
|
||||
information. Please note that your withdrawal will only take effect
|
||||
for future processing, and will not affect the lawfulness of
|
||||
processing before the withdrawal.
|
||||
</LI>
|
||||
</UL>
|
||||
<P>
|
||||
If you would like to exercise any of these rights, please contact us as
|
||||
set forth in “Contact Us” below. We will process such requests in
|
||||
accordance with applicable laws.
|
||||
</P>
|
||||
<H2>6. SECURITY OF YOUR INFORMATION</H2>
|
||||
<P>
|
||||
We take steps to ensure that your information is treated securely and in
|
||||
accordance with this Privacy Policy. Unfortunately, no system is
|
||||
100% secure, and we cannot ensure or warrant the security of any
|
||||
information you provide to us. To the fullest extent permitted by
|
||||
applicable law, we do not accept liability for unauthorized access, use,
|
||||
disclosure, or loss of personal information.
|
||||
</P>
|
||||
<P>
|
||||
By using our Services or providing personal information to us, you agree
|
||||
that we may communicate with you electronically regarding security,
|
||||
privacy, and administrative issues relating to your use of our Services.
|
||||
If we learn of a security system’s breach, we may attempt to
|
||||
notify you electronically by posting a notice on our Services, by mail,
|
||||
or by sending an email to you.
|
||||
</P>
|
||||
<H2>7. INTERNATIONAL DATA TRANSFERS</H2>
|
||||
<P>
|
||||
All information processed by us may be transferred, processed, and
|
||||
stored anywhere in the world, including, but not limited to, the United
|
||||
States or other countries, which may have data protection laws that are
|
||||
different from the laws where you live. We endeavor to safeguard your
|
||||
information consistent with the requirements of applicable laws.
|
||||
</P>
|
||||
<P>
|
||||
If we transfer personal information which originates in the European
|
||||
Economic Area, Switzerland, and/or the United Kingdom to a country that
|
||||
has not been found to provide an adequate level of protection under
|
||||
applicable data protection laws, one of the safeguards we may use to
|
||||
support such transfer is the{' '}
|
||||
<A href="https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc/standard-contractual-clauses-international-transfers_en">
|
||||
EU Standard Contractual Clauses
|
||||
</A>
|
||||
.
|
||||
</P>
|
||||
<P>
|
||||
For more information about the safeguards we use for international
|
||||
transfers of your personal information, please contact us as set forth
|
||||
below.
|
||||
</P>
|
||||
<H2>8. RETENTION OF PERSONAL INFORMATION</H2>
|
||||
<P>
|
||||
We store the personal information we collect as described in this
|
||||
Privacy Policy for as long as you use our Services, or as necessary to
|
||||
fulfill the purpose(s) for which it was collected, provide our Services,
|
||||
resolve disputes, establish legal defenses, conduct audits, pursue
|
||||
legitimate business purposes, enforce our agreements, and comply with
|
||||
applicable laws.
|
||||
</P>
|
||||
<H2>9. SUPPLEMENTAL NOTICE FOR NEVADA RESIDENTS</H2>
|
||||
<P>
|
||||
If you are a resident of Nevada, you have the right to opt-out of the
|
||||
sale of certain personal information to third parties who intend to
|
||||
license or sell that personal information. You can exercise this right
|
||||
by contacting us at{' '}
|
||||
<A href="mailto:support@bsky.app" title="support@bsky.app">
|
||||
support@bsky.app
|
||||
</A>{' '}
|
||||
with the subject line “Nevada Do Not Sell Request” and providing us with
|
||||
your name and the email address associated with your account. Please
|
||||
note that we do not currently sell your personal information as sales
|
||||
are defined in Nevada Revised Statutes Chapter 603A. If you have any
|
||||
questions, please contact us as set forth in Contact Us below.
|
||||
</P>
|
||||
<H2>10. CHILDREN’S INFORMATION</H2>
|
||||
<P>
|
||||
The Services are not directed to children under 13 (or other age as
|
||||
required by local law), and we do not knowingly collect personal
|
||||
information from children.
|
||||
</P>
|
||||
<P>
|
||||
If you are a parent or guardian and believe your child has uploaded
|
||||
personal information to our site without your consent, you may contact
|
||||
us as described in “Contact Us” below. If we become aware that a child
|
||||
has provided us with personal information in violation of applicable
|
||||
law, we will delete any personal information we have collected, unless
|
||||
we have a legal obligation to keep it, and terminate the child’s
|
||||
account.
|
||||
</P>
|
||||
<H2>11. OTHER PROVISIONS</H2>
|
||||
<P>
|
||||
Third-Party Websites/Applications. The Services may contain links to
|
||||
other websites/applications and other websites/applications may
|
||||
reference or link to our Services. These third-party services are not
|
||||
controlled by us. We encourage our users to read the privacy policies of
|
||||
each website and application with which they interact. We do not
|
||||
endorse, screen, or approve, and are not responsible for, the privacy
|
||||
practices or content of such other websites or applications. Providing
|
||||
personal information to third-party websites or applications is at your
|
||||
own risk.
|
||||
</P>
|
||||
<P>
|
||||
Supervisory Authority. If your personal information is subject to
|
||||
the applicable data protection laws of the European Economic Area,
|
||||
Switzerland, or the United Kingdom, you have the right to lodge a
|
||||
complaint with the competent supervisory authority or attorney general
|
||||
if you believe our processing of your personal information violates
|
||||
applicable law.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>
|
||||
<A href="https://edpb.europa.eu/about-edpb/board/members_en">
|
||||
EEA Data Protection Authorities (DPAs)
|
||||
</A>
|
||||
</LI>
|
||||
<LI>
|
||||
<A href="https://www.edoeb.admin.ch/edoeb/en/home/the-fdpic/contact.html">
|
||||
Swiss Federal Data Protection and Information Commissioner (FDPIC)
|
||||
</A>
|
||||
</LI>
|
||||
<LI>
|
||||
<A href="https://ico.org.uk/global/contact-us/">
|
||||
UK Information Commissioner’s Office (ICO)
|
||||
</A>
|
||||
</LI>
|
||||
</UL>
|
||||
<H2>12. CONTACT US </H2>
|
||||
<P>
|
||||
Bluesky is the controller of the personal information we process under
|
||||
this Privacy Policy.
|
||||
</P>
|
||||
<P>
|
||||
If you have any questions about our privacy practices or this Privacy
|
||||
Policy, or to exercise your rights as detailed in this Privacy Policy,
|
||||
please contact us at:{' '}
|
||||
<A href="mailto:support@bsky.app">support@bsky.app</A>
|
||||
</P>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -13,4 +13,6 @@ export const router = new Router({
|
|||
PostRepostedBy: '/profile/:name/post/:rkey/reposted-by',
|
||||
Debug: '/sys/debug',
|
||||
Log: '/sys/log',
|
||||
Support: '/support',
|
||||
PrivacyPolicy: '/support/privacy',
|
||||
})
|
||||
|
|
|
@ -0,0 +1,133 @@
|
|||
import React from 'react'
|
||||
import {StyleSheet, View} from 'react-native'
|
||||
import {usePalette} from 'lib/hooks/usePalette'
|
||||
import {Text} from './text/Text'
|
||||
import {TextLink} from './Link'
|
||||
|
||||
/**
|
||||
* These utilities are used to define long documents in an html-like
|
||||
* DSL. See for instance /locale/en/privacy-policy.tsx
|
||||
*/
|
||||
|
||||
export function H1({children}: React.PropsWithChildren<{}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<Text type="title-xl" style={[pal.text, styles.h1]}>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
}
|
||||
|
||||
export function H2({children}: React.PropsWithChildren<{}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<Text type="title-lg" style={[pal.text, styles.h2]}>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
}
|
||||
|
||||
export function H3({children}: React.PropsWithChildren<{}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<Text type="title" style={[pal.text, styles.h3]}>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
}
|
||||
|
||||
export function H4({children}: React.PropsWithChildren<{}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<Text type="title-sm" style={[pal.text, styles.h4]}>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
}
|
||||
|
||||
export function P({children}: React.PropsWithChildren<{}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<Text type="md" style={[pal.text, styles.p]}>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
}
|
||||
|
||||
export function UL({children}: React.PropsWithChildren<{}>) {
|
||||
return <View style={styles.ul}>{children}</View>
|
||||
}
|
||||
|
||||
export function OL({children}: React.PropsWithChildren<{}>) {
|
||||
return <View style={styles.ol}>{children}</View>
|
||||
}
|
||||
|
||||
export function LI({
|
||||
children,
|
||||
value,
|
||||
}: React.PropsWithChildren<{value?: string}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<View style={styles.li}>
|
||||
<Text style={[pal.text, styles.liBullet]}>{value || <>•</>}</Text>
|
||||
<Text type="md" style={[pal.text, styles.liText]}>
|
||||
{children}
|
||||
</Text>
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
export function A({children, href}: React.PropsWithChildren<{href: string}>) {
|
||||
const pal = usePalette('default')
|
||||
return (
|
||||
<TextLink
|
||||
type="md"
|
||||
style={[pal.link, styles.a]}
|
||||
text={children}
|
||||
href={href}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
h1: {
|
||||
marginTop: 20,
|
||||
marginBottom: 10,
|
||||
letterSpacing: 0.8,
|
||||
},
|
||||
h2: {
|
||||
marginTop: 20,
|
||||
marginBottom: 10,
|
||||
letterSpacing: 0.8,
|
||||
},
|
||||
h3: {
|
||||
marginBottom: 10,
|
||||
},
|
||||
h4: {
|
||||
marginBottom: 10,
|
||||
fontWeight: 'bold',
|
||||
},
|
||||
p: {
|
||||
marginBottom: 10,
|
||||
},
|
||||
ul: {
|
||||
marginBottom: 10,
|
||||
paddingLeft: 18,
|
||||
},
|
||||
ol: {
|
||||
marginBottom: 10,
|
||||
paddingLeft: 18,
|
||||
},
|
||||
li: {
|
||||
flexDirection: 'row',
|
||||
paddingRight: 10,
|
||||
marginBottom: 10,
|
||||
},
|
||||
liBullet: {
|
||||
paddingRight: 10,
|
||||
},
|
||||
liText: {},
|
||||
a: {
|
||||
marginBottom: 10,
|
||||
},
|
||||
})
|
|
@ -89,7 +89,7 @@ export const TextLink = observer(function TextLink({
|
|||
type?: TypographyVariant
|
||||
style?: StyleProp<TextStyle>
|
||||
href: string
|
||||
text: string | JSX.Element
|
||||
text: string | JSX.Element | React.ReactNode
|
||||
numberOfLines?: number
|
||||
lineHeight?: number
|
||||
}) {
|
||||
|
@ -193,7 +193,7 @@ function onPressInner(
|
|||
|
||||
if (shouldHandle) {
|
||||
href = convertBskyAppUrlIfNeeded(href)
|
||||
if (href.startsWith('http')) {
|
||||
if (href.startsWith('http') || href.startsWith('mailto')) {
|
||||
Linking.openURL(href)
|
||||
} else {
|
||||
store.shell.closeModal() // close any active modals
|
||||
|
|
|
@ -78,7 +78,7 @@ const styles = StyleSheet.create({
|
|||
},
|
||||
containerScroll: {
|
||||
width: '100%',
|
||||
minHeight: '100vh',
|
||||
maxHeight: '100vh',
|
||||
maxWidth: 600,
|
||||
marginLeft: 'auto',
|
||||
marginRight: 'auto',
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
import React from 'react'
|
||||
import {View} from 'react-native'
|
||||
import {useFocusEffect} from '@react-navigation/native'
|
||||
import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
|
||||
import {ViewHeader} from '../com/util/ViewHeader'
|
||||
import {useStores} from 'state/index'
|
||||
import {ScrollView} from 'view/com/util/Views'
|
||||
import {Text} from 'view/com/util/text/Text'
|
||||
import {usePalette} from 'lib/hooks/usePalette'
|
||||
import {s} from 'lib/styles'
|
||||
import PrivacyPolicyHtml from '../../locale/en/privacy-policy'
|
||||
|
||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'PrivacyPolicy'>
|
||||
export const PrivacyPolicyScreen = (_props: Props) => {
|
||||
const pal = usePalette('default')
|
||||
const store = useStores()
|
||||
|
||||
useFocusEffect(
|
||||
React.useCallback(() => {
|
||||
store.shell.setMinimalShellMode(false)
|
||||
}, [store]),
|
||||
)
|
||||
|
||||
return (
|
||||
<View>
|
||||
<ViewHeader title="Privacy Policy" />
|
||||
<ScrollView style={[s.hContentRegion, pal.view]}>
|
||||
<View style={[s.p20]}>
|
||||
<Text type="title-xl" style={[pal.text, s.pb20]}>
|
||||
Privacy Policy
|
||||
</Text>
|
||||
<PrivacyPolicyHtml />
|
||||
</View>
|
||||
<View style={s.footerSpacer} />
|
||||
</ScrollView>
|
||||
</View>
|
||||
)
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
import React from 'react'
|
||||
import {View} from 'react-native'
|
||||
import {useFocusEffect} from '@react-navigation/native'
|
||||
import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
|
||||
import {ViewHeader} from '../com/util/ViewHeader'
|
||||
import {useStores} from 'state/index'
|
||||
import {Text} from 'view/com/util/text/Text'
|
||||
import {TextLink} from 'view/com/util/Link'
|
||||
import {CenteredView} from 'view/com/util/Views'
|
||||
import {usePalette} from 'lib/hooks/usePalette'
|
||||
import {s} from 'lib/styles'
|
||||
|
||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'Support'>
|
||||
export const SupportScreen = (_props: Props) => {
|
||||
const store = useStores()
|
||||
const pal = usePalette('default')
|
||||
|
||||
useFocusEffect(
|
||||
React.useCallback(() => {
|
||||
store.shell.setMinimalShellMode(false)
|
||||
}, [store]),
|
||||
)
|
||||
|
||||
return (
|
||||
<View>
|
||||
<ViewHeader title="Support" />
|
||||
<CenteredView>
|
||||
<Text type="title-xl" style={[pal.text, s.p20, s.pb5]}>
|
||||
Support
|
||||
</Text>
|
||||
<Text style={[pal.text, s.p20]}>
|
||||
If you need help, email us at{' '}
|
||||
<TextLink
|
||||
href="mailto:support@bsky.app"
|
||||
text="support@bsky.app"
|
||||
style={pal.link}
|
||||
/>{' '}
|
||||
with a description of your issue and information about how we can help
|
||||
you.
|
||||
</Text>
|
||||
</CenteredView>
|
||||
</View>
|
||||
)
|
||||
}
|
|
@ -6,6 +6,7 @@ import {DesktopSearch} from './Search'
|
|||
import {Text} from 'view/com/util/text/Text'
|
||||
import {TextLink} from 'view/com/util/Link'
|
||||
import {FEEDBACK_FORM_URL} from 'lib/constants'
|
||||
import {s} from 'lib/styles'
|
||||
|
||||
export const DesktopRightNav = observer(function DesktopRightNav() {
|
||||
const pal = usePalette('default')
|
||||
|
@ -17,12 +18,23 @@ export const DesktopRightNav = observer(function DesktopRightNav() {
|
|||
Welcome to Bluesky! This is a beta application that's still in
|
||||
development.
|
||||
</Text>
|
||||
<TextLink
|
||||
type="md"
|
||||
style={pal.link}
|
||||
href={FEEDBACK_FORM_URL}
|
||||
text="Send feedback"
|
||||
/>
|
||||
<View style={[s.flexRow]}>
|
||||
<TextLink
|
||||
type="md"
|
||||
style={pal.link}
|
||||
href={FEEDBACK_FORM_URL}
|
||||
text="Send feedback"
|
||||
/>
|
||||
<Text type="md" style={pal.textLight}>
|
||||
·
|
||||
</Text>
|
||||
<TextLink
|
||||
type="md"
|
||||
style={pal.link}
|
||||
href="/support/privacy"
|
||||
text="Privacy Policy"
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
)
|
||||
|
|
|
@ -13710,10 +13710,10 @@ react-native-web@^0.18.11:
|
|||
postcss-value-parser "^4.2.0"
|
||||
styleq "^0.1.2"
|
||||
|
||||
react-native-webview@11.26.0:
|
||||
version "11.26.0"
|
||||
resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.0.tgz#e524992876fe4a79e69905f0fab8949b470e9f16"
|
||||
integrity sha512-4T4CKRm8xlaQDz9h/bCMPGAvtkesrhkRWqCX9FDJEzBToaVUIsV0ZOqtC4w/JSnCtFKKYiaC1ReJtCGv+4mFeQ==
|
||||
react-native-webview@^11.26.1:
|
||||
version "11.26.1"
|
||||
resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da"
|
||||
integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==
|
||||
dependencies:
|
||||
escape-string-regexp "2.0.0"
|
||||
invariant "2.2.4"
|
||||
|
|
Loading…
Reference in New Issue