[{"id":0,"href":"/docs/automation-guidelines/","title":"Automation Guidelines","section":"Docs","content":"Last Updated\nOn: February 10th, 2024\nBy: Ategon\nAll Authors: Ategon\nAutomation Guidelines # These are guidelines to follow when using any form of automation on an account hosted on Programming.Dev (\u0026ldquo;programming.dev\u0026rdquo;, \u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;, \u0026ldquo;our\u0026rdquo;) sites or in communities hosted on the site from federated instances. When using automation within communities on other instances make sure to follow their specific guidelines in addition to these if they exist.\nFailure to follow these guidelines may result in the account using the automation being banned from the instance.\n[!important] Guidelines marked with (C) can be overriden by community mods while ones marked with (A) can be overriden by a instance admin if they give permission to you.\n1. General Guidelines # This are guidelines that aren\u0026rsquo;t specific to one form of automation and should be followed regardless of the type of automation you are doing.\n1.1. Use Mentions as a Prefix # If the automation includes the usage of commands such as help, contact, remindme, generate, etc. it should use the mention of the account as the prefix as opposed to something such as ! or ?. This allows multiple automations to use the same commands without interfering with each other and ensures people are using the one they intended to use.\n1.2. No Trigger Overlap (C) # Do not make triggers fill the same niche as an already established one in the community you are posting in. For example if theres already a tldr bot posting tldrs for news posts there doesn\u0026rsquo;t need to be a second one in the comments. (Can be overriden by the community mods)\n1.3. No Vote Manupulation # Automation should not be used to affect the voting system in the instance. The vote it will automatically do on the accounts own posts are fine but it should not be used to automatically vote on other people\u0026rsquo;s posts or comments.\n2. Bots # These guidelines are specific to bot usage. This means accounts that exist solely to be automated to do things (tldr bot, remindme bot, reply bots, etc.) or that do specific things without any form of human intervention in the chain\n[!note] Examples of things in this category:\nAutomatically posting things from an rss feed Automatically generating tldrs of articles posted to a community Automatically posting a link to an alternate frontend for a site when theres a link to the site 2.1. Mark Bots as Bots # Bot accounts should be marked that they are a bot using the checkbox in the user settings\n2.2. Put Contact Info # The owner of the bot and some way to contact them must be in the bot’s bio\n2.3. Don\u0026rsquo;t Spam (A) # Bots should not spam posts or comments. Automatically making posts or comments is fine but it should not drown out non automation content. When looking at the last 20 posts in a community, at least 75% should be human created (your specific bot should take less than the 25% for bots since other bots exist to share that with). There are some cases where having a community with mostly or only bot content makes sense (e.g. daily programming quotes, a challenge community that auto posts daily challenges from another site) and in that case you should reach out to an instance admin to get it approved (and you should be one of the mods for that community). When admin approved it still should not drown out human posts in the local feed in the instance.\n2.4. Allow Mods to Opt In (A) # Before using a bot in a community allow the mod to opt in to the bots.\nIf a bot is deemed to be a well behaving bot that brings net good to the instance it can override this rule as long as it has been approved by an admin. If this happens mods should still be able to opt out of use of your bot.\n3. Tools # These guidelines are for tool usage for semi-automated actions or things that don\u0026rsquo;t affect other users.\n[!note] Examples of things in this category:\nScheduling posts Monthly/Weekly repeated thread posts in a community Auto marking posts with certain keywords as read for you (this one is more automated but only affects your own account) 3.1. Mark That You Use Automation # As some software doesn\u0026rsquo;t have this built in currently you can just put the information in your bio. This could be something such as \u0026ldquo;Some actions in this account are automated\u0026rdquo;, \u0026ldquo;Cyborg account\u0026rdquo;, or \u0026ldquo;Uses some automation tools\u0026rdquo;. You could also put what specific things you use if you want but it is not required. If the software supports marking an account as a cyborg you can use that instead.\nDo we Make Updates to these Automation Guidelines? # We may update the Automation Guidelines from time to time. When we do, we will change the \u0026ldquo;Last Updated\u0026rdquo; date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review these Automation Guidelines periodically for any modifications.\nContact Us # If you have questions or concerns about these Automation Guidelines you should contact us at info@programming.dev.\n"},{"id":1,"href":"/docs/code-of-conduct/","title":"Code of Conduct","section":"Docs","content":"Last Updated\nOn: February 11th, 2024\nBy: Ategon\nAll Authors: Ategon\nCode of Conduct # This code of conduct details the expected conduct of users using Programming.Dev (\u0026ldquo;programming.dev\u0026rdquo;, \u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;, \u0026ldquo;our\u0026rdquo;) sites whether in communities local to our sites or on communities federated with it that is visible from our site. It also applies to other spaces we exist such as our discord server and matrix server. Users visible on our sites regardless of whether they are local or federated may be actioned upon if they do not follow this code of conduct.\nExpected Behaviour # The following are expected behaviour for people interacting on our sites.\nRemember the human: When interacting with other people on the site they should be interacted with as if they are a human, that is with respect and in a way that you would want to be treated. Keep in mind software differences: As this is the fediverse, not everyone is interacting from the same software or the same type of software (people in microblogs may join in to the threaded posts, etc.). Due to this not everyone has access to the same features we do so features should not be assumed to be standard (e.g. visible pronouns, markdown, votes). Encouraged Behaviour # The following are encouraged behaviours for people interacting on our sites (that is not following it won\u0026rsquo;t get you actioned upon but it is strongly recommended to follow).\nAdd Alt Text: When posting an image add alt text to it in some form (if the software has it built in you can use that feature and if not you can provide it beside the image) Unacceptable Behaviour # The following are not allowed in any of our sites and may result in you being actioned upon by moderators or admins.\nDoxing: Do not reveal private information about other people without their explicit permission. Ad Hominem: When arguing with someone do not attack the person themselves, instead target the argument they are making. Impersonation: Do not impersonate other people regardless of whether they are in the community or not. Unmarked Sensitive Content: Do not post sensitive content (such as NSFW) without labelling it as such. If the software does not allow you to label it for people who don\u0026rsquo;t want that content to be able to not see it, do not post the content. Hate Speech: Do not make remarks directed at sex, gender, ethnicity, orientation, disabilities, etc. Vote Manipulation: Attempts to manipulate the voting system is not tolerated including the usage of sock puppet accounts, target voting someone for who they are rather than their content, and mass downvoting posts. Encouraging Harm: Do not tell others to do things such as harm themselves or die. Unwelcome Sexual Advances: Do not sexually harass other people, regardless of whether they are in the community or the post is about them. Illegal Content: Do not post things that are illegal in the United States including: CSAM, Copyright Infringement, Lolicon. Unrelated Content: Do not post content that does not relate to a community in the community. For example if there is a community about posting cute pictures of puppies, do not post NSFW content. Ban Evasion: If you were banned from a community, do not attempt to evade said ban on another account. Harassment: Harassment whether in public spaces in the communities or in private messages is not tolerated. Community Specific Guidelines # Some communities within one of our sites may have additional or more specific guidelines in the community description that are expected to be followed when interacting in that community. Failure to follow those guidelines may result in you being actioned upon by moderators.\nAutomation Guidelines # If you use any form of automation on your accounts you must abide by our Automation Guidelines.\nReporting # When you see someone not behaving according to our code of conduct, if theres a report button built into the software (which should be most software we host) you can report them for the community team in charge of that software to be able to deal with it. If theres no report button email info@programming.dev with the report information.\nModerator Guidelines # These are guidelines to follow when being a moderator for a community (community in this sense refers to user run communities such as on programming.dev).\nRespect the CoC # When managing your community you may make rules for members interacting in that community to follow. These should not contradict our CoC (Code of Conduct).\nHandle Reports # Users interacting in your community may make reports on content. This is expected to be handled swiftly (at most a day to action) to ensure that users in your community are following our CoC and your community rules. If a user breaks the CoC it may be handled by an admin as well but this should not be relied on as admins have many tasks around the sites to deal with.\nBe Active # Moderators of a community are expected to be active on our site and communities should not be without moderation for long periods of time. If community moderators are no longer using the site and thus the community is going without moderation the communities may be transferred to new moderators. We will attempt to contact the current moderators of the community before transferring it.\nRespect Your Scope # If a user does something in another community such as make a comment this should not affect their usage of your community. If you notice behaviour that breaks the CoC in other communities this should instead be reported so those community moderators or admins may deal with it.\nDo we Make Updates to this Code of Conduct? # We may update the Code of Conduct from time to time. When we do, we will change the \u0026ldquo;Last Updated\u0026rdquo; date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review the Code of Conduct periodically for any modifications.\nContact Us # If you have questions or concerns about this Code of Conduct you should contact us at info@programming.dev.\n"},{"id":2,"href":"/docs/defederation-policy/","title":"Defederation Policy","section":"Docs","content":"Last Updated\nOn: February 11th, 2024\nBy: Ategon\nAll Authors: Ategon\nDefederation Policy # This document details how Programming.Dev (\u0026ldquo;programming.dev\u0026rdquo;, \u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;, \u0026ldquo;our\u0026rdquo;) choose to defederate with other instances. If an instance wishes to be federated and thus have their content show on our sites they must abide by the policy and ensure they do not do one of the actions in the how an instance gets defederated section.\nWhat is Defederation? # Our sites are federated with other instances. Instances are essentially sites but that are instances of federated software. This means that content posted on our sites is visible from other sites and we get content from other sites to interact with on our sites. Someone in a federated forum about cars may browse programming posts on their cars site and comment from there and we may do the same to them.\nDefederating from a instance:\nMakes users from our sites not be able to see things such as posts and comments from users on that instance. Makes users from that instance no longer be able to interact with communities or users on our sites. How does an instance get defederated? # Instances may be defederated if they break our Code of Conduct whether though encouraging something we disallow or not moderating users that break it. Instances that have no active administrators may be defederated. Instances that have a lack of security that is not addressed and that puts our users at risk may be defederated. This includes things like having a sign up process that does not stop bots from mass creating accounts. Instances that have defederated from us may be defederated to prevent one way conversations where we get content from the other instance but users commenting on that content get no response. Defederated Instances # This is a list of all of the instances we have currently defederated and the reasoning for them:\nForums \u0026amp; Link Aggregators\nburggit.moe - Lolicon, Shotacon, \u0026amp; Ignoring DMCA requests hexbear.net - Not on allowlist kbin.cafe - CSAM mujico.org - Racism rqd2.net - Pedophilia, Zoophilia, \u0026amp; Biastophilia Microblogs\n13bells.com - Hate Speech, Homophobia \u0026amp; Transphobia 1611.social - Hate Speech, Homophobia \u0026amp; Racism 4aem.com - Antisemitism 5dollah.click - Racism more to be added here. Full list is visible on fediseer or our site federation tab if it exists Do we Make Updates to this Defederation Policy? # We may update the Defederation Policy from time to time. When we do, we will change the \u0026ldquo;Last Updated\u0026rdquo; date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review the Defederation Policy periodically for any modifications.\nContact Us # If you have questions or concerns about this Defederation Policy you should contact us at info@programming.dev.\n"},{"id":3,"href":"/docs/donation-policy/","title":"Donation Policy","section":"Docs","content":"Last Updated\nOn: February 10th, 2024\nBy: Ategon\nAll Authors: Ategon\nDonation Policy # This is a policy that describes how Programming.Dev (\u0026ldquo;programming.dev\u0026rdquo;, \u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;, \u0026ldquo;our\u0026rdquo;) handles donations towards us.\nHow are Donations Made? # Donations are currently made using snowe\u0026rsquo;s github sponsors page. If you get another place to donate that is not this it is fake and should be reported to us.\nHow are Donations Spent? # Donations are spent on things relating to our sites. This includes things such as server costs, infrastructure costs, tool costs, and payment for work done relating to it.\nWho is considered a donator? # Donators are people who have at one point made a donation towards us regardless on whether they are currently doing a monthly donation, did one in the past, or did a one time donation.\nDonation Perks # We offer perks towards donators that have at one point made a donation towards us. These are the current perks donators get:\nA donator role on our discord server An account on our linkstack site https://me.programming.dev for sharing links related to you in one page Donation Perk Terms # By donating to programming.dev you acknowledge and agree to the following terms:\nDisplay Proof: To get access to a perk you must be able to prove that you are the one that made the donation. Account Requirement: Access to a perk requires an account on the platform the perk is on. For example to get a discord role you need a discord account. Request Perks: To get a perk you need to request it from a community team admin in charge of the software the perk is on. Refund Policy: Donations are generally non refundable. If a perk is removed or edited refunds will not be given. Modification of Perks: Perks may be modified at any time to change details about a perk, add new perks, or remove existing perks. They are privileges and do not constitute a legal right or entitlement. Perk Removal: Users may have perks taken away from them if they abuse the perk (as in use it in a way it was not intended) or break our Code of Conduct. Do we Make Updates to this Donation Policy? # We may update the Donation Policy from time to time. When we do, we will change the \u0026ldquo;Last Updated\u0026rdquo; date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review this Donation Policy periodically for any modifications.\nContact Us # If you have questions or concerns about this Donation Policy you should contact us at info@programming.dev.\n"},{"id":4,"href":"/docs/privacy-policy/","title":"Privacy Policy","section":"Docs","content":"Last Updated\nOn: February 10th, 2024\nBy: recursive_recursion and Ategon\nAll Authors: Ategon, recursive_recursion\nPrivacy Policy # This privacy policy describes how Programming.Dev (\u0026ldquo;programming.dev\u0026rdquo;, \u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;, \u0026ldquo;our\u0026rdquo;) collects, protects and uses information provided to us when you use our services including:\nOur websites such as programming.dev or bytes.programming.dev. APIs for our websites. Any other place we collect information from you and link this Privacy Policy. By joining and contributing to our services, you acknowledge that it is running on early release software. Although we take reasonable precautions to maintain the security of personal data provided to us we cannot guarantee that the software is free from defect that will expose any or all of that personal data.\nIf you do not agree with all of our policies and practices, do not use our services. If you have any questions or concerns, contact us at info@programming.dev.\nSite Usage by Children: # All of our services are directed towards people who are at least 16 years old. We do not knowingly collect personal information from people under the age of 16. If you are under the age of 16, please do not use our services. If we learn that personal information from people who are less than 16 years old has been collected, we will deactivate the account and take reasonable measures to delete the data from our records.\nWhat do we use Your Information for? # Any information we collect from you may be used in the following ways:\nTo provide the core functionality of our services such as being able to comment on other people\u0026rsquo;s posts or subscribing to communities when you are logged in. To aid in moderation of our services, for example to detect vote manipulation. To send you information, notifications about other people interacting with your content or sending you messages, or notifications for new posts created, if you opt in to any of these options in the settings. We may also use it to respond to you about inquiries, and/or other requests or questions. What Information do we Collect? # Account/Profile Information:\nWhen creating an account on one of our services you may be asked to enter in a username and password. You may also enter additional information into optional fields such as: email, display name, profile picture, banner image, matrix ID, location, birthday, language, and biography. Currently (as of February 10, 2024), all of the optional fields are always listed publicly; your password and email is kept private. Service Provided User Actions:\nOn any of our services, when performing an action the date and time (during when the action is taken) is recorded in addition to saving the content and any media attachments (pictures and/or videos) alongside the performed action. All of this information is publicly available due to the nature of federation which uses the ActivityPub protocol. The actions made by users of our services is sent to other instances using the ActivityPub protocol and then stored on their servers so that they can display the actions correctly on their instances. Actions in the context of our provided services and Privacy Policy may include (not exhaustive): Creating/editing a post or comment. Voting/reacting on a post or comment. Subscribing to a community or magazine. Direct Messages:\nAll direct messages sent are unencrypted and may be delivered to other servers if the user you are sending a message to is on a service other than one provided by us. We make a good faith effort to limit the access to direct messages to only authorized persons but other servers may fail to do so, so it is important to review who and what service you are sending messages to. Please keep in mind that operators of our services and any receiving services may view direct messages and that recipients may screenshot, copy, or otherwise re-share them so it is recommended to not share any sensitive information. IPs and Other Metadata:\nWhen you log in, we may record the IP address you logged in from, the time and date you logged in at, as well as the name of your browser application. We also have server logs which include the IP address of every request to our server. Image embedded metadata (Exif data), on images hosted on our services are scrubbed/erased. Your IP address and email remains private to our services. However, due to the nature of federated services, all of your engagement (profile, posts, comments, messages, votes, etc.) on our services should be considered public and you are responsible for taking appropriate precautions in how you interact with our services. It is highly recommended that you do not share any publicly identifying information on our sites, products, or services. How do we Protect Your Information? # We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may also enable two factor authentication to further protect your account.\nWhat is our Data Retention Policy? # We will make a good faith effort to:\nRetain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 1 day. Retain the IP addresses and name of your browser application associated with logins for no more than 1 day. You may irreversibly delete your account at any time. However, this does not guarantee all instances will be notified or respect the deletion of your public data.\nDo we use Cookies? # We use cookies for specific functionalities, which includes Cloudflare clearance and JWT (JSON Web Token) authentication purposes.\nCloudflare clearance: Cookies provided by Cloudflare to store the proof of passing a Cloudflare challenge. JWT: A token to allow you to access and interact with our services after logging in. These cookies do not store personally identifiable information and are necessary for the proper functioning of our services. By continuing to use our services, you consent to the use of these essential cookies.\nPlease note that you can manage or disable cookies through your browser settings. However, disabling these essential cookies may impact the functionality and security of services.\nDo we Disclose Any Information to Outside Parties? # We do not sell, trade, or transfer your personal information to outside parties. This does not include trusted third parties who assist us in operating our services, so long as those parties agree to keep this information confidential.\nYour public content may be downloaded by other servers using the ActivityPub protocol, as well as direct messages to the servers of the recipients.\nWhen you log in to your account on a service not provided by us, it may access your public information as well as password when logging in.\nDo we Make Updates to This Privacy Policy? # We may update this privacy policy from time to time. When we do, we will change the \u0026ldquo;Last Updated\u0026rdquo; date and author at the top of the page to indicate the date and author of the most recent changes. If we make changes we may notify you by posting a notice of such changes or by sending you a notification. We encourage you to review this Privacy Policy periodically for any modifications.\nContact Us # If you have questions or concerns about this Privacy Policy you should contact us at info@programming.dev.\n"},{"id":5,"href":"/docs/terms-of-service/","title":"Terms of Service","section":"Docs","content":"A\n"}]