···1111<img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png?raw=true"
1212alt="Get it on Obtainium" align="center" height="54" /></a>
13131414-## Features Today
1414+## Improvements over Bluesky
1515+1616+- Better name (added an itch; lue no longer)
1717+- Nicer colors (based on ...)
1818+- Experiments page in settings
1919+ - Toggle to disable go.bsky.app link proxying for analytics
2020+ - Toggle to disable default app labeler
2121+ - Toggle to disable falling back to the discover feed in following feed
2222+ - Toggle to see skeets in quotes through blocks and detachments
2323+ - <img src="https://github.com/user-attachments/assets/e5084afd-b17e-43a7-9622-f6d7f19f53ca" width="300px" />
2424+ - Checkboxes to enable features gates
2525+- Ignores `!no-unauthenticated` labels
2626+- Share links to bitchsky.app or bsky.app
2727+2828+## WIP/Planned
2929+3030+- Opengraph support for sharing skeets and profiles
3131+- Selecting custom appviews
3232+- Seeing past blocks in post threads (nuclear block for reply chains)
3333+- Configure the location used to determine regional labelers
3434+3535+3636+### TODO: Xan
15371616-- toggle to disable go.bsky.app link proxying for analytics
1717-- toggle to disable default app labeler
1818-- toggle to disable falling back to discover feed in the following feed
1919-- see through quote blocks and detatchments (nuclear block wrt quotes)
2020- - <img src="https://github.com/user-attachments/assets/e5084afd-b17e-43a7-9622-f6d7f19f53ca" width="300px" />
2121-- enable features gates
2222-- configure the location used to determine regional labelers
2323-- entirely ignore `!no-unauthenticated` labels, even for logged out users
3838+- [ ] Update branding (especially colors and app icon) to Bitchsky
3939+- [ ] Setup App Linking for Android (.well-known w/ app package fingerprint)
4040+- [ ] Replace instances of `group.app.bsky` with `group.app.bitchsky`
4141+- [ ] Add a toggle to replace "New Post" with "Skeet" (and other instances of "Post" in English)
4242+- [ ] [Coffee](https://git.ari.lt/coffee) for colors in actual themes
24432525-### WIP/Planned
4444+#### Maybe
26452727-- rewrite shared URLs to reference deer.social
2828-- opengraph support for sharing posts and profiles
2929-- selecting custom appviews
3030-- seeing past blocks in post threads (nuclear block for reply chains)
4646+- [ ] iOS app IPA?
4747+- [ ] Move from GitHub to Tangled?
31483249## Philosophy
33503434-- by default, deer.social should very similar to the official client
5151+- by default, Bitchsky should very similar to the official client
3552 - color and branding are different to distinguish from social-app
3653 - `!no-unauthenticated` behavior is different
3754 - analytics are not present
···3956- focus on high impact, low diff size patches
4057 - specifically patches that won't require large conflicts to be resolved
4158- focus on power users (but all users are welome!)
4242-- enable things that are possible but annoying today **without** egging on antisocial behavior
5959+- enable things that are possible but annoying today **without** egging on anti-social behavior
43604461## Development Resources
45624663This is a [React Native](https://reactnative.dev/) application, written in the TypeScript programming language. It builds on the `atproto` TypeScript packages (like [`@atproto/api`](https://www.npmjs.com/package/@atproto/api)), which are also open source, but in [a different git repository](https://github.com/bluesky-social/atproto).
47644848-There is vestigial Go language source code (in `./bskyweb/`), for a web service that returns the React Native Web application in the social app deployment. However, it is not used in current
4949-deer.social deployments.
5050-For deer, the intended deployment is with a websever than can serve static files, and reroute to `index.html` as needed. Today [deer.social](https://deer.social) is hosted on [cloudflare pages](https://pages.cloudflare.com/).
6565+There is vestigial Go language source code (in `./bskyweb/`), for a web service that returns the React Native Web application in the social app deployment. However, it is not used in current Bitchsky deployments.
6666+For Bitchsky, the intended deployment is with a webserver that can serve static files, and reroute to `index.html` as needed. Today [Bitchsky](https://bitchsky.app) is hosted on [Cloudflare Pages](https://pages.cloudflare.com/).
51675252-The [Build Instructions](./docs/build.md) are a good place to get started with the app itself. If you use nix (and especially direnv) then `flake.nix` will get you a working environment for
5353-the web version of the app.
6868+The [Build Instructions](./docs/build.md) are a good place to get started with the app itself. If you use nix (and especially direnv) then `flake.nix` will get you a working environment for the web version of the app.
54695570The Authenticated Transfer Protocol ("AT Protocol" or "atproto") is a decentralized social media protocol. You don't *need* to understand AT Protocol to work with this application, but it can help.
5656-You may wish to reference [resources linked in social-app](https://github.com/bluesky-social/social-app#development-resources). However, please don't harass the Bluesky team with issues or questions
5757-pertaining to deer.social.
7171+You may wish to reference [resources linked in social-app](https://github.com/bluesky-social/social-app#development-resources). However, please don't harass the Bluesky team with issues or questions pertaining to Bitchsky.
58725959-Deer is a fork of the official client, social-app. It encompasses a set of schemas and APIs built in the overall AT Protocol framework. The namespace for these "Lexicons" is `app.bsky.*`.
7373+Bitchsky is a fork of the official client, social-app. It encompasses a set of schemas and APIs built in the overall AT Protocol framework. The namespace for these "Lexicons" is `app.bsky.*`.
60746175## Contributions
62766363-> deer.social is a community fork, and we'd love to merge your PR!
7777+> Bitchsky is a community fork, and we'd love to merge your PR!
64786565-As a rule of thumb, the best features for deer.social are ones that have a disproportionately positive impact on the user experience compared to the matinance overhead.
6666-Unlike some open source projects, since deer.social is a soft fork, any features (patches) we add on top of upstream social-app need to be maintained. For example,
6767-a change to the way posts are composed may be very invasive, touching lots of code across the codebase. If upstream refactors this component, we will need to rewrite this
6868-feature to be compatible or drop it from the client.
7979+As a rule of thumb, the best features for Bitchsky are those that offer a strong positives that have a disproportionately positive impact on the user experience compared to the maintenance overhead. Unlike some open source projects, since Bitchsky is a soft fork, any features (patches) we add on top of upstream social-app need to be maintained. For example, a change to the way skeets are composed may be very invasive, touching lots of code across the codebase. If upstream refactors this component, we will need to rewrite this feature to be compatible or drop it from the client.
69807081For this reason, bias towards features that change a relatively small amount of code that is present upstream.
71827272-Without an overriding motivation, opinionated features should exist behind a toggle that is not enabled by default. This allows deer.social to cater to as many users as possible.
8383+Without an overriding motivation, opinionated features should exist behind a toggle that is not enabled by default. This allows Bitchsky to cater to as many users as possible.
73847485**Guidelines:**
7586···8192 - Refactoring the codebase, e.g., to replace React Query with Redux Toolkit or something.
8293- Include a new toggle and preference for your feature.
83948484-If we don't merge your PR for whatever reason, you are welcome to fork and/or self host:
9595+If we don't merge your PR for whatever reason, you are welcome to fork and/or self-host:
85968697## Forking guidelines
8798···8910090101Please be sure to:
911029292-- Change all branding in the repository and UI to clearly differentiate from deer.social.
103103+- Change all branding in the repository and UI to clearly differentiate from Bitchsky.
93104- Change any support links (feedback, email, terms of service, issue tracker, etc) to your own systems.
9410595106## Self hosting & personal builds
961079797-Self hosting is great! It is our intention that deer.social is easy to self host and build on your own. If you host your own instance of deer.social, or make your own builds, please
9898-make some level of effort to clarify that it is not an "official" build or instance. This can be in the form of a different domain or branding, but can also be as simple as not
9999-advertising your hosted instance or builds as "official" releases.
108108+Self hosting is great! It is our intention that Bitchsky is easy to self host and build on your own. If you host your own instance of Bitchsky, or make your own builds, please make some level of effort to clarify that it is not an "official" build or instance. This can be in the form of a different domain or branding, but can also be as simple as not advertising your hosted instance or builds as "official" releases.
100109101110## Security disclosures
102111103103-If you discover any security issues, please send an email to aviva@rubenfamily.com.
104104-If the issue pertains to infastructure, code, or systems outside the scope of deer.social, please refer to the
112112+If you discover any security issues, please privately disclose them to [xan.lol](https://xan.lol/).
113113+If the issue pertains to infastructure, code, or systems outside the scope of Bitchsky, please refer to the
105114[disclosure guidelines on social-app](https://github.com/bluesky-social/social-app#security-disclosures) if it is hosted by Bluesky PBC. Otherwise, reference the
106115security policy of that system as applicable <3
107116···113122114123## P.S.
115124116116-We ❤️ you and all of the ways you support us. Thank you for making Bluesky a great place!
125125+We ❤️ you and all of the ways you support us. Thank you for making Bluesky & Bitchsky a great place!
···11+<!DOCTYPE html>
22+<html>
33+ <head>
44+ <meta charset="utf-8">
55+ <meta name="theme-color">
66+ <!--
77+ This viewport works for phones with notches.
88+ It's optimized for gestures by disabling global zoom.
99+ -->
1010+ <meta
1111+ name="viewport"
1212+ content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover"
1313+ />
1414+ <title>Privacy Policy — Bitchsky</title>
1515+1616+ <link rel="preload" as="font" type="font/woff2" href="/static/media/InterVariable.c504db5c06caaf7cdfba.woff2" crossorigin>
1717+1818+ <link rel="stylesheet" href="normalize.css" type="text/css">
1919+ <link rel="stylesheet" href="sakura.css" type="text/css">
2020+ </head>
2121+2222+ <body>
2323+2424+2525+ <h1>Bitchsky Privacy Policy</h1>
2626+2727+ <p><em><strong>Last Updated:</strong> May 07, 2025</em></p>
2828+2929+ <p>Welcome to Bitchsky. This privacy policy explains our approach to your data when you use our application.</p>
3030+3131+ <h2>No Data Collection by Bitchsky</h2>
3232+ <p><strong>The Bitchsky application itself does not collect, store, track, or share any of your personal information or user data.</strong> We do not operate servers that store your account details, posts, or activity logs.</p>
3333+ <p>Our application functions solely as a client interface to interact with the underlying Bluesky social network (AT Protocol).</p>
3434+3535+ <h2>Reliance on Third-Party Services (AppView and PDS)</h2>
3636+ <p>When you use Bitchsky, you connect to the Bluesky network through a specific AppView and your chosen Personal Data Server (PDS). These services are responsible for storing and managing your account information, posts, social graph, and other associated data.</p>
3737+ <p><strong>Your data handling and privacy are governed by the Terms of Service and Privacy Policies of the specific AppView and PDS you use.</strong> Bitchsky simply acts on your behalf to communicate with these services based on the credentials you provide locally on your device.</p>
3838+ <p>We strongly recommend you review the policies of your chosen PDS provider and the AppView you are using. For reference, the Privacy Policy for the default Bluesky service (AppView provided by <a href="https://bsky.social" target="_blank" rel="noopener noreferrer">bsky.social</a>) can be found here:</p>
3939+ <p><a href="https://bsky.social/about/support/privacy-policy" target="_blank" rel="noopener noreferrer">https://bsky.social/about/support/privacy-policy</a></p>
4040+4141+ <h2>Data Stored Locally on Your Device</h2>
4242+ <p>To function, Bitchsky may store your login credentials or temporary session information on your own device. This data is not accessed by or transmitted to us.</p>
4343+4444+ <h2>Cookies and Analytics</h2>
4545+ <p>Bitchsky does not use cookies or any tracking analytics.</p>
4646+4747+ <h2>Changes to This Policy</h2>
4848+ <p>We may update this policy. If we do, we will update the "Effective Date" at the top of this page.</p>
4949+5050+ <h2>Contact Us</h2>
5151+ <p>If you have questions specifically about the functionality of the Bitchsky application itself (and not about data managed by your PDS or AppView), please email <a href="mailto:contact@jollywhoppers.com" target="_blank" rel="noopener noreferrer">contact@jollywhoppers.com</a>.</p>
5252+5353+ </body>
5454+</html>
+65
bitchsky-static-about/tos.html
···11+<!DOCTYPE html>
22+<html>
33+ <head>
44+ <meta charset="utf-8">
55+ <meta name="theme-color">
66+ <!--
77+ This viewport works for phones with notches.
88+ It's optimized for gestures by disabling global zoom.
99+ -->
1010+ <meta
1111+ name="viewport"
1212+ content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover"
1313+ />
1414+ <title>Terms of Service — Bitchsky</title>
1515+1616+ <link rel="preload" as="font" type="font/woff2" href="/static/media/InterVariable.c504db5c06caaf7cdfba.woff2" crossorigin>
1717+1818+ <link rel="stylesheet" href="normalize.css" type="text/css">
1919+ <link rel="stylesheet" href="sakura.css" type="text/css">
2020+ </head>
2121+2222+ <body>
2323+2424+2525+<h1>Terms of Service for Bitchsky</h1>
2626+2727+<p><em><strong>Last Updated:</strong> May 07, 2025</em></p>
2828+2929+<h2>Introduction</h2>
3030+<p>Welcome to Bitchsky! These Terms of Service ("Terms") govern your use of the Bitchsky application ("App"). By accessing or using the App, you agree to be bound by these Terms.</p>
3131+3232+<h2>Your Agreement</h2>
3333+<p>Using Bitchsky signifies your acceptance of these Terms. Please also review our <a href="/privacy">Privacy Policy</a>, which explains how we handle data related to the App itself.</p>
3434+3535+<h2>Relationship to Other Services and Platforms</h2>
3636+<p>Bitchsky functions as a client or interface. It allows you to interact with decentralized social media protocols, instances, or servers (your "AppView" or "Personal Data Server" / "PDS").</p>
3737+<p><strong>Important:</strong> Bitchsky does not host your data or control the underlying networks or servers you connect to. Your interaction with these third-party services, including the content you post and view, is governed by the Terms of Service, acceptable use policies, and privacy policies of the specific AppView and/or PDS you choose to use.</p>
3838+<p>You are responsible for understanding and complying with the terms of those external services.</p>
3939+4040+<p>We strongly recommend you review the policies of your chosen PDS provider and the AppView you are using. For reference, the Terms of Service for the default Bluesky service (AppView provided by <a href="https://bsky.social" target="_blank" rel="noopener noreferrer">bsky.social</a>) can be found here: </p>
4141+<p><a href="https://bsky.social/about/support/tos" target="_blank" rel="noopener noreferrer">https://bsky.social/about/support/tos</a></p>
4242+4343+<h2>User Conduct</h2>
4444+<p>Your conduct while using Bitchsky must comply with the terms and rules set forth by the AppView and PDS you are connected to. Bitchsky is merely a tool to access these services, and Jollywhoppers is not responsible for enforcing the rules of those platforms or for the content accessed through them.</p>
4545+4646+<h2>Disclaimer of Warranty</h2>
4747+<p>The App is provided "AS IS" and "AS AVAILABLE," without warranty of any kind, express or implied. Forsyth Peak LLC does not warrant that the App will meet your requirements, be available uninterrupted, secure, or error-free.</p>
4848+4949+<h2>Limitation of Liability</h2>
5050+<p>To the fullest extent permitted by applicable law, Jollywhoppers shall not be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses, resulting from:</p>
5151+<ul>
5252+ <li>Your access to or use of or inability to access or use the App;</li>
5353+ <li>Any conduct or content of any third party on or through the App or the services it connects to (including your AppView or PDS);</li>
5454+ <li>Unauthorized access, use, or alteration of your transmissions or content via the underlying services (AppView/PDS).</li>
5555+</ul>
5656+<p>In no event shall the aggregate liability of Jollywhoppers exceed the greater of zero U.S. dollars ($0.00).</p>
5757+5858+<h2>Changes to These Terms</h2>
5959+<p>We may revise these Terms from time to time. The most current version will always be available within the App or on its associated website. By continuing to access or use the App after revisions become effective, you agree to be bound by the revised Terms.</p>
6060+6161+<h2>Contact Information</h2>
6262+<p>If you have any questions about these Terms of Service, please email <a href="mailto:contact@jollywhoppers.com" target="_blank" rel="noopener noreferrer">contact@jollywhoppers.com</a>.</p>
6363+6464+ </body>
6565+</html>
···11-<!DOCTYPE html>
22-<html>
33- <head>
44- <meta charset="utf-8">
55- <meta name="theme-color">
66- <!--
77- This viewport works for phones with notches.
88- It's optimized for gestures by disabling global zoom.
99- -->
1010- <meta
1111- name="viewport"
1212- content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover"
1313- />
1414- <title>deer.social | privacy policy</title>
1515-1616- <link rel="preload" as="font" type="font/woff2" href="/static/media/InterVariable.c504db5c06caaf7cdfba.woff2" crossorigin>
1717-1818- <link rel="stylesheet" href="normalize.css" type="text/css">
1919- <link rel="stylesheet" href="sakura.css" type="text/css">
2020- </head>
2121-2222- <body>
2323-2424-2525- <h1>deer.social Privacy Policy</h1>
2626-2727- <p><em><strong>Last Updated:</strong> May 07, 2025</em></p>
2828-2929- <p>Welcome to deer.social. This privacy policy explains our approach to your data when you use our application.</p>
3030-3131- <h2>No Data Collection by deer.social</h2>
3232- <p><strong>The deer.social application itself does not collect, store, track, or share any of your personal information or user data.</strong> We do not operate servers that store your account details, posts, or activity logs.</p>
3333- <p>Our application functions solely as a client interface to interact with the underlying Bluesky social network (AT Protocol).</p>
3434-3535- <h2>Reliance on Third-Party Services (AppView and PDS)</h2>
3636- <p>When you use deer.social, you connect to the Bluesky network through a specific AppView and your chosen Personal Data Server (PDS). These services are responsible for storing and managing your account information, posts, social graph, and other associated data.</p>
3737- <p><strong>Your data handling and privacy are governed by the Terms of Service and Privacy Policies of the specific AppView and PDS you use.</strong> deer.social simply acts on your behalf to communicate with these services based on the credentials you provide locally on your device.</p>
3838- <p>We strongly recommend you review the policies of your chosen PDS provider and the AppView you are using. For reference, the Privacy Policy for the default Bluesky service (AppView provided by <a href="https://bsky.social" target="_blank" rel="noopener noreferrer">bsky.social</a>) can be found here:</p>
3939- <p><a href="https://bsky.social/about/support/privacy-policy" target="_blank" rel="noopener noreferrer">https://bsky.social/about/support/privacy-policy</a></p>
4040-4141- <h2>Data Stored Locally on Your Device</h2>
4242- <p>To function, deer.social may store your login credentials or temporary session information on your own device. This data is not accessed by or transmitted to us.</p>
4343-4444- <h2>Cookies and Analytics</h2>
4545- <p>deer.social does not use cookies or any tracking analytics.</p>
4646-4747- <h2>Changes to This Policy</h2>
4848- <p>We may update this policy. If we do, we will update the "Effective Date" at the top of this page.</p>
4949-5050- <h2>Contact Us</h2>
5151- <p>If you have questions specifically about the functionality of the deer.social application itself (and not about data managed by your PDS or AppView), please email <a href="mailto:contact@forsythpeak.com" target="_blank" rel="noopener noreferrer">contact@forsythpeak.com</a>.</p>
5252-5353- </body>
5454-</html>
···11-<!DOCTYPE html>
22-<html>
33- <head>
44- <meta charset="utf-8">
55- <meta name="theme-color">
66- <!--
77- This viewport works for phones with notches.
88- It's optimized for gestures by disabling global zoom.
99- -->
1010- <meta
1111- name="viewport"
1212- content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover"
1313- />
1414- <title>deer.social | terms of service</title>
1515-1616- <link rel="preload" as="font" type="font/woff2" href="/static/media/InterVariable.c504db5c06caaf7cdfba.woff2" crossorigin>
1717-1818- <link rel="stylesheet" href="normalize.css" type="text/css">
1919- <link rel="stylesheet" href="sakura.css" type="text/css">
2020- </head>
2121-2222- <body>
2323-2424-2525-<h1>Terms of Service for deer.social</h1>
2626-2727-<p><em><strong>Last Updated:</strong> May 07, 2025</em></p>
2828-2929-<h2>Introduction</h2>
3030-<p>Welcome to deer.social! These Terms of Service ("Terms") govern your use of the deer.social application ("App"). By accessing or using the App, you agree to be bound by these Terms.</p>
3131-3232-<h2>Your Agreement</h2>
3333-<p>Using deer.social signifies your acceptance of these Terms. Please also review our <a href="/privacy">Privacy Policy</a>, which explains how we handle data related to the App itself.</p>
3434-3535-<h2>Relationship to Other Services and Platforms</h2>
3636-<p>deer.social functions as a client or interface. It allows you to interact with decentralized social media protocols, instances, or servers (your "AppView" or "Personal Data Server" / "PDS").</p>
3737-<p><strong>Important:</strong> deer.social does not host your data or control the underlying networks or servers you connect to. Your interaction with these third-party services, including the content you post and view, is governed by the Terms of Service, acceptable use policies, and privacy policies of the specific AppView and/or PDS you choose to use.</p>
3838-<p>You are responsible for understanding and complying with the terms of those external services.</p>
3939-4040-<p>We strongly recommend you review the policies of your chosen PDS provider and the AppView you are using. For reference, the Terms of Service for the default Bluesky service (AppView provided by <a href="https://bsky.social" target="_blank" rel="noopener noreferrer">bsky.social</a>) can be found here: </p>
4141-<p><a href="https://bsky.social/about/support/tos" target="_blank" rel="noopener noreferrer">https://bsky.social/about/support/tos</a></p>
4242-4343-<h2>User Conduct</h2>
4444-<p>Your conduct while using deer.social must comply with the terms and rules set forth by the AppView and PDS you are connected to. deer.social is merely a tool to access these services, and Forsyth Peak LLC is not responsible for enforcing the rules of those platforms or for the content accessed through them.</p>
4545-4646-<h2>Disclaimer of Warranty</h2>
4747-<p>The App is provided "AS IS" and "AS AVAILABLE," without warranty of any kind, express or implied. Forsyth Peak LLC does not warrant that the App will meet your requirements, be available uninterrupted, secure, or error-free.</p>
4848-4949-<h2>Limitation of Liability</h2>
5050-<p>To the fullest extent permitted by applicable law, Forsyth Peak LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses, resulting from:</p>
5151-<ul>
5252- <li>Your access to or use of or inability to access or use the App;</li>
5353- <li>Any conduct or content of any third party on or through the App or the services it connects to (including your AppView or PDS);</li>
5454- <li>Unauthorized access, use, or alteration of your transmissions or content via the underlying services (AppView/PDS).</li>
5555-</ul>
5656-<p>In no event shall the aggregate liability of Forsyth Peak LLC exceed the greater of zero U.S. dollars ($0.00).</p>
5757-5858-<h2>Changes to These Terms</h2>
5959-<p>We may revise these Terms from time to time. The most current version will always be available within the App or on its associated website. By continuing to access or use the App after revisions become effective, you agree to be bound by the revised Terms.</p>
6060-6161-<h2>Contact Information</h2>
6262-<p>If you have any questions about these Terms of Service, please email <a href="mailto:contact@forsythpeak.com" target="_blank" rel="noopener noreferrer">contact@forsythpeak.com</a>.</p>
6363-6464- </body>
6565-</html>