CINXE.COM
Network policies | Libera Chat
<!DOCTYPE html> <html lang="en"><head> <link rel="preload" href="/static/fonts/comfortaa-v30-subset-regular.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/static/fonts/ubuntu-v15-latin-regular.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/static/fonts/ubuntu-v15-subset-500.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/static/img/libera-color.svg" as="image" type="image/svg+xml"> <meta charset="utf-8"> <meta content="IE=edge" http-equiv="X-UA-Compatible"> <meta content="width=device-width, initial-scale=1" name="viewport"><!-- Begin Jekyll SEO tag v2.7.1 --> <title>Network policies | Libera Chat</title> <meta name="generator" content="Jekyll v4.3.0" /> <meta property="og:title" content="Network policies" /> <meta property="og:locale" content="en_GB" /> <meta name="description" content="A next-generation IRC network for FOSS projects collaboration!" /> <meta property="og:description" content="A next-generation IRC network for FOSS projects collaboration!" /> <link rel="canonical" href="https://libera.chat/policies/" /> <meta property="og:url" content="https://libera.chat/policies/" /> <meta property="og:site_name" content="Libera Chat" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="Network policies" /> <meta property="article:publisher" content="liberachat" /> <script type="application/ld+json"> {"description":"A next-generation IRC network for FOSS projects collaboration!","headline":"Network policies","url":"https://libera.chat/policies/","@type":"WebPage","@context":"https://schema.org"}</script> <!-- End Jekyll SEO tag --> <link rel="alternate" type="application/atom+xml" title="Libera Chat News" href="/atom.xml"> <link rel="icon" type="image/svg+xml" href="/static/img/libera-color.svg"> <link rel="alternate icon" href="/favicon.ico"> <!-- Stylesheets --> <style>/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ *,::after,::before{box-sizing:border-box}:root{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}</style> <style>@font-face { /* comfortaa-regular - subset */ font-family: 'Comfortaa'; src: url('/static/fonts/comfortaa-v30-subset-regular.woff2') format('woff2'), url('/static/fonts/comfortaa-v30-subset-regular.woff') format('woff'), url('/static/fonts/comfortaa-v30-subset-regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; /* . C L a b e h i r t */ unicode-range: U+002E, U+0043, U+004C, U+0061-0062, U+0065, U+0068-0069, U+0072, U+0074; } @font-face { /* ubuntu-regular - latin */ font-family: 'Ubuntu'; src: local(''), url('/static/fonts/ubuntu-v15-latin-regular.woff2') format('woff2'), url('/static/fonts/ubuntu-v15-latin-regular.woff') format('woff'), url('/static/fonts/ubuntu-v15-latin-regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; } @font-face { /* ubuntu-500 - subset */ font-family: 'Ubuntu'; src: local(''), url('/static/fonts/ubuntu-v15-subset-500.woff2') format('woff2'), url('/static/fonts/ubuntu-v15-subset-500.woff') format('woff'), url('/static/fonts/ubuntu-v15-subset-500.ttf') format('truetype'); font-style: normal; font-weight: 500; font-display: swap; /* C c e n o t */ unicode-range: U+0043 U+0063 U+0065 U+006E U+006F U+0074; } :root { --header-height: 4rem; --content-inline-padding: 1.3rem; --content-max-width: 80ch; /* define our palette for all themes */ --white: #fff; --gray-100: #f3f4f6; --gray-200: #e5e7eb; --gray-300: #d1d5db; --gray-400: #9ca3af; --gray-800: #1f2937; --gray-900: #111827; --brand-purple: #5555ff; --brand-pink: #ff55dd; /* light-theme vars */ --c-bg: var(--gray-100); --c-bg-secondary: var(--white); --c-text: var(--gray-800); --c-border: var(--gray-300); --c-hl: var(--brand-pink); --c-hl-secondary: var(--brand-purple); --c-text-on-hl: var(--gray-800); --c-text-on-hl-secondary: var(--white); } @media (prefers-color-scheme: dark) { :root { --c-bg: var(--gray-800); --c-bg-secondary: var(--gray-900); --c-text: var(--gray-200); --c-border: var(--gray-400); } } * { color: var(--c-text); box-sizing: border-box; font-family: Ubuntu, sans-serif; letter-spacing: .1ch; } main *, .hero * { line-height: 1.5; } body { background-color: var(--c-bg); min-height: 100vh; display: grid; grid-template-rows: var(--header-height) min-content auto auto min-content; grid-template-columns: 1fr; grid-template-areas: "header" "hero" "main" "aside" "footer"; } a { text-decoration: underline; text-underline-offset: .05rem; } a:hover { text-underline-offset: .25rem; color: var(--c-hl); } h1, h2, h3, h4, h5, h6, p { word-break: break-word; scroll-margin-block-start: 4.5rem; } h1, h2, h3, h4, h5, h6, strong { font-weight: 500; } em { font-style: italic; } h1, h2, h3, h4, h5, h6 { margin-block-end: 0; text-wrap: balance; } h1+*, h2+*, h3+*, h4+*, h5+*, h6+* { margin-block-start: 0; } main h1 { font-size: 2.25rem; } main h2 { font-size: 1.5rem; } main h3 { font-size: 1.25rem; } main :is(h2, h3, h4, h5, h6) a { text-decoration: none; position: relative; } main :is(h2, h3, h4, h5, h6) a:hover::before { content: '#'; position: absolute; left: -1.5ch; bottom: 0; font-weight: normal; font-size: 1rem; } @media screen and (min-width: 800px) { body { grid-template-columns: min-content 8fr; grid-template-rows: 4rem min-content auto min-content; grid-template-areas: "header header" "hero hero" "aside main" "footer footer"; } } .skiplink { z-index: 9999; transform: translateY(calc(-100% - 1rem)); display: block; position: absolute; height: 4rem; padding: var(--content-inline-padding); background-color: var(--c-bg); border-inline-end: 1px solid var(--c-border); border-block-end: 1px solid var(--c-border); } .skiplink:focus { z-index: 9999; transform: translateY(0); } header { grid-area: header; height: var(--header-height); border-block-end: 1px solid var(--c-border); background-color: var(--c-bg-secondary); position: sticky; top: 0; z-index: 1000; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; } header a { text-decoration: none; } header .logo { display: flex; flex-wrap: nowrap; align-items: center; height: 100%; padding-inline-start: var(--content-inline-padding); } header .logo img { padding-block-end: .3rem; } header .logo h1 { margin: 0; margin-bottom: -.4rem; font-size: 1.7rem; line-height: 1; font-family: Comfortaa, Ubuntu, sans-serif; font-weight: bold; } header .nav-toggle { display: block; border-inline-start: 1px solid var(--c-border); padding: 0 1rem; display: flex; align-items: center; cursor: pointer; } header nav details summary, header nav a { border-block-end: 1px solid var(--c-border); padding: 1rem; display: flex; align-items: center; cursor: pointer; white-space: nowrap; } header nav details summary::before { content: "►"; padding-inline-end: .3rem; } header nav details[open] summary::before { content: "▼"; } header nav .nav-close { display: none; } header nav.show .nav-close { display: flex; } header nav { transform: translateY(calc(-100% - 1rem)); display: flex; flex-direction: column; justify-content: flex-start; position: fixed; right: 0; top: 0; bottom: 0; background-color: var(--c-bg-secondary); min-width: 20rem; max-width: 30rem; border-inline-start: 1px solid var(--c-border); z-index: 10000; } header nav.show, header nav:focus-within { transform: translateY(0); } header nav details summary.highlight, header nav a.highlight { background-color: var(--c-hl); color: var(--c-text-on-hl); font-weight: 500; } header nav details summary:hover, header nav a:hover { background-color: var(--c-bg); } header nav details summary.highlight:hover, header nav a.highlight:hover { background-color: var(--c-hl-secondary); color: var(--c-text-on-hl-secondary); } header nav details { display: flex; flex-direction: column; position: relative; } header nav details a { padding-inline-start: 2.5rem; } @media screen and (min-width: 950px) { header .nav-toggle, header .nav-close, header nav.show .nav-close { display: none; } header nav { transform: initial; display: flex; flex-direction: row; justify-content: flex-end; position: initial; background-color: initial; min-width: unset; max-width: unset; border-inline-start: none; } header nav.show, header nav:focus-within { transform: initial; } header nav details summary, header nav a { border-block-end: none; border-inline-start: 1px solid var(--c-border); border-inline-end: 1px solid var(--c-border); padding: 0 1rem; display: flex; margin-inline-start: -1px; align-items: center; height: 100%; } header nav details:last-of-type summary { border-inline-end: none; } header nav details[open] summary { border-block-end: 1px solid var(--c-border); height: calc(100% + 1px); } header nav details div { position: absolute; right: 0; } header nav details div a { background-color: var(--c-bg-secondary); border-block-end: 1px solid var(--c-border); padding: 1rem; } } main { grid-area: main; padding: 0 var(--content-inline-padding); max-width: var(--content-max-width); min-width: 0; width: 100%; margin: 2rem auto; } nav.article-nav { display: flex; flex-direction: row; justify-content: center; } nav.article-nav div { width: 33%; text-align: center; } footer { grid-area: footer; align-self: end; background-color: var(--c-bg-secondary); border-block-start: 1px solid var(--c-border); padding: .5rem var(--content-inline-padding); display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; } footer div { line-height: 2; } footer div .mobile-hide { display: none; } footer div a { white-space: nowrap; } footer div a:not([rel*=license]), footer div .copyright { display: block; } @media screen and (min-width: 800px) { footer div { line-height: 1.5; } footer div:last-of-type { padding-inline-start: 1rem; } footer div .mobile-hide { display: inline; } footer div a:not([rel*=license]), footer div .copyright { display: initial; } } </style> <link rel="stylesheet" href="/static/css/additional-styles.css"> <script src="/static/js/header-links.js" defer></script> </head> <body><a class="skiplink" href="#main">Skip to content</a> <header> <a class="logo" href="https://libera.chat" aria-label="Libera Chat, back to start page"> <img alt="" src="/static/img/libera-color.svg" height="48px" data-proofer-ignore> <h1>Libera.​Chat</h1> </a> <a id="nav-toggle" class="nav-toggle hidden" aria-controls="main-nav"><span>Navigation</span></a> <nav class="" id="main-nav" aria-labelledby="nav-toggle" role="menubar"> <a id="nav-close" class="nav-close hidden" aria-controls="main-nav"><span>Close</span></a> <details name="main-navigation"> <summary >About</summary> <div> <a role="menuitem" href="/policies" ><span>Network Policies</span></a> <a role="menuitem" href="/guidelines" ><span>Channel Guidelines</span></a> <a role="menuitem" href="/news" ><span>Blog & News</span></a> <a role="menuitem" href="/about" ><span>About Libera Chat</span></a> <a role="menuitem" href="/bylaws" ><span>Bylaws</span></a> <a role="menuitem" href="/minutes" ><span>Meeting Minutes</span></a> <a role="menuitem" href="/annual-reports" ><span>Annual Reports</span></a> <a role="menuitem" href="/sponsors" ><span>Sponsors</span></a> </div> </details> <details name="main-navigation"> <summary >Contribute</summary> <div> <a role="menuitem" href="/contributing/donate" ><span>Donate</span></a> <a role="menuitem" href="/contributing/merch" ><span>Buy merch</span></a> <a role="menuitem" href="/contributing/sponsor" ><span>Sponsor Us</span></a> <a role="menuitem" href="/contributing/development" ><span>Development</span></a> </div> </details> <a role="menuitem" href="/chanreg"><span>Channel Namespaces</span></a> <a role="menuitem" href="/guides"><span>Guides</span></a> <a role="menuitem" href="/guides/faq"><span>FAQ</span></a> <details name="main-navigation"> <summary class="highlight" >Connect</summary> <div> <a role="menuitem" href="https://web.libera.chat" rel="noopener noreferrer" ><span>Webchat</span></a> <a role="menuitem" href="ircs://irc.libera.chat:6697" ><span>irc.libera.chat:6697 (TLS)</span></a> <a role="menuitem" href="/guides/connect" ><span>How to Connect</span></a> </div> </details> </nav> </header> <script async> const navToggle = document.querySelector('#nav-toggle') const navClose = document.querySelector('#nav-close') const mainNav = document.querySelector('#main-nav') // progressive enhancement! navToggle.classList.remove('hidden') navClose.classList.remove('hidden') navToggle.addEventListener('click', event => { event.preventDefault() mainNav.classList.toggle('show') }) navClose.addEventListener('click', event => { event.preventDefault() mainNav.classList.remove('show') }) </script> <main id="main"> <h1>Network policies</h1> <p>Libera.Chat’s services are provided by Libera Chat, a Swedish non-profit organisation. It is operated by volunteers from all over the world. Our services are available for free, bound to the following rules that we kindly ask you to familiarize yourself with.</p> <h2 id="our-goals-and-core-values">Our goals and core values</h2> <p>Libera.Chat aims to be a place where free/libre/open-source software projects, peer-directed projects, and their communities can communicate, collaborate, and flourish. In order to be a welcoming place for everyone and as required by Swedish law, some basic rules are applied across the entire network.</p> <h2 id="desirable-content-and-behaviour">Desirable content and behaviour</h2> <p>Our goal is to encourage and foster the development and use of free and open-source software projects, peer-directed communities, broadly licensed content, and similar. Any group or project falling under this broad description is welcome on our network.</p> <p>We also encourage collaboration and communication with users, including giving support or receiving feedback. As long as content doesn’t fall within the types of unwanted content and behaviour noted in the next section and doesn’t disturb the daily operations of the network or other on-topic channels, on-topic projects and groups are also welcome to have channels and discussions about other content.</p> <p>Please note that groups wanting to use our network for other subjects (e.g. financial, political, or dating chats) should use a network that is better suited for that kind of content. If you are unsure and wish to avoid a future inconvenience, we invite you to check with us first.</p> <h2 id="community-rules-and-recommendations">Community rules and recommendations</h2> <p>As long as within our policies, our communities will manage themselves and are free to expand our rules with their own. Libera.Chat staff will not usually interfere in channel management and disputes unless network-wide policies are violated. We can offer to mediate or help out if our workload allows it, but we should not be the first line of defence.</p> <p>We encourage our users, communities, channel owner, and operators to follow our <a href="/guidelines">guidelines</a> to base their rules and conduct on.</p> <h2 id="unwanted-content-and-behaviour">Unwanted content and behaviour</h2> <p>Libera.Chat is bound by Swedish law. Unlawful activities and related supporting activities are not allowed. In addition to that, heavy media file trading, pornography, and various forms of antisocial behaviour are forbidden.</p> <p>Both by our values and Swedish law, discrimination based on faith, ethnicity, sexual orientation, sex or gender expression, disability, or age is not permitted. Your personal values (e.g. religious, political, …) do not protect you if you participate in discrimination.</p> <p>Inciting violence is not allowed. The same goes for any other behaviour meant to deliberately harass, alarm, or distress a person. We also do not tolerate libel and defamation.</p> <p>Collecting or sharing the private or confidential information of other people is not allowed. This includes but is not limited to information such as phone numbers, post addresses, email addresses, employment information, usernames or sign-in credentials. This does not apply to widely available public information such as the office phone number of a public official. Libera.Chat users and staff members have the ability to remain pseudonymous. Linking a Libera.Chat username of someone operating under a pseudonym to other identities against their will is not considered acceptable either on or off IRC. Libera.Chat staff will not answer questions about such information.</p> <p>While we believe in the concept of freedom of thought and freedom of expression, Libera.Chat does not operate on the basis of absolute freedom of speech, and we impose limitations based on the above rules.</p> <p>Channel operators are asked to manage their channels to adhere to our network policies. Channels that demonstrate an inability to meet these minimum standards may be asked to find a better-suited network. This isn’t a decision we take lightly and we will typically make efforts to guide channel operators to an atmosphere in line with our policies first.</p> <h2 id="network-bans">Network bans</h2> <p>Violations of the rules can lead to temporary or permanent removal from the network. There might not always be a prior warning of this.</p> <p>In addition to that, there are many reasons why we might remove someone from the network, including technical difficulties and false positives in spam prevention. If you are unsure why you were removed from the network, we invite you to seek clarification by emailing <a href="mailto:bans@libera.chat">bans@libera.chat</a>.</p> <p>Ultimately, our decisions are up to staffer discretion. We expect users to act in good faith, be respectful, and not disturb the network operations and our communities. We reserve the right to terminate anyone’s access to our services at our discretion.</p> <h2 id="nicknames">Nicknames</h2> <p>To register your nickname, please see <a href="/guides/registration">nickname registration</a>. Nicknames on Libera.Chat are allocated on a first-come, first-served basis, to the first person who registers an available name with NickServ. However, we expect users to act in good faith and reserve the right to remove a nickname registration at our discretion if we believe that this has not been the case. You can group additional names to your account, but please remember that these are not collectibles and should not be hoarded or squatted.</p> <h3 id="nickname-expiration">Nickname Expiration</h3> <ul> <li>Account names expire when the whole account has been unused for more than 20 weeks.</li> <li>Additional grouped nicknames expire when the grouped nickname has been unused for more than 20 weeks.</li> <li><em>Special case:</em> Whole accounts used for less than 2 hours after creation expire after 2 weeks.</li> </ul> <p>If you will be absent for longer than normal expiration times, please contact network staff in advance for potential options.</p> <p>Expiration times can be extended by staff for other reasons including account age to as much as 30 weeks past the last use. In rare cases, staff might deny a drop request. Accounts marked “Hold” in NickServ INFO output do not expire.</p> <p>Nicknames and accounts which are expired will not automatically be dropped. Please contact network staff if you would like to take over an expired nickname.</p> <h2 id="channels">Channels</h2> <p>Channels on Libera.Chat fall into one of three categories. Details on these can be found under <a href="/chanreg">channel registration</a>.</p> <p>Channels in the primary namespace (<code class="language-plaintext highlighter-rouge">#</code>) can be assigned to registered projects and communities. Channels assigned to registered projects and communities do not expire. In case of loss of founders and/or all channel operators, someone representing the project or community should contact staff. In case of an official project contacting us about a channel already registered to a community, our staff will try to find a good solution. However, a community ran channel in the primary namespace could be transferred over in this case.</p> <p>Channels in the primary namespace (<code class="language-plaintext highlighter-rouge">#</code>) not assigned to a project or community and channels in the secondary namespace (<code class="language-plaintext highlighter-rouge">##</code>) are informal channels and allocated on a first-come, first-served basis to the first person who registers them with ChanServ. We reserve the right to remove or alter registrations where we believe they have not been made in good faith. For example, informal channels created with confusingly similar names to other channels (such as creating a <code class="language-plaintext highlighter-rouge">#</code> or <code class="language-plaintext highlighter-rouge">##</code> variant of an existing channel) may be redirected to the original channels, at staff discretion.</p> <p>An informal channel in the primary namespace (<code class="language-plaintext highlighter-rouge">#</code>) may be transferred to a registered project or community should the need arise. Informal channels which are unlikely to ever have a formal group registration should be created in the secondary namespace (<code class="language-plaintext highlighter-rouge">##</code>) to avoid potential future conflicts. Additionally, informal channels expire after 60 days in which no user on the access list for the channel has joined it. If you would like to inherit such a channel, please contact our staff. We will gladly have a look and decide which new founder should be assigned to best serve the community and our network.</p> <h2 id="unlawful-activity">Unlawful activity</h2> <p>Libera Chat and its staff are required to pass on and act on credible information about any unlawful activities as it relates to your use of Libera Chat’s services.</p> <h2 id="libera-chat-and-financial-transactions">Libera Chat and financial transactions</h2> <p>In some instances, a user may want to reward a project or one of its contributors with, for example, a donation to the project. However, it is expected that you carry out your own due diligence before entering into financial transactions. Libera Chat accepts no liability for any losses incurred as the result of financial transactions you enter into as a result of activity in Libera Chat’s services.</p> <h2 id="public-logging">Public logging</h2> <p>Some projects may wish to log their channels publicly, if you do so the logging should be authorised by the channel owners and users in the channel should be notified (through for instance the topic, entry message, or similar) that public logging is taking place. Channel operators should consider ways for users to make unlogged comments and a process for requesting the removal of certain logs.</p> <p>If you operate a service that scrapes internal channel content or published logs, ensure that you have obtained permission to do so from Libera Chat staff or the channel owners before you start scraping data, also make sure that there is an easy way for channels to opt-out.</p> <p>If you wish to publish logs of a single conversation, please make sure you have gotten permission from all participants before doing so.</p> <h2 id="data-retention-and-privacy-policy">Data retention and privacy policy</h2> <p>You can find details about what data we collect, keep, and for how long in our <a href="/privacy">privacy policy</a>.</p> </main><footer> <div> <span class="copyright">© Libera Chat's contributors 2021</span> (<a rel="license noopener noreferrer" href="/LICENSE-content.txt">Content CC BY-NC-SA</a>, <a rel="license noopener noreferrer" href="/LICENSE-code.txt">Code MIT</a>) <span class="mobile-hide">/</span> <a href="/atom.xml">Feed (atom)</a> <span class="mobile-hide">/</span> <a href="/privacy">Privacy</a> </div> <div> <a rel="me noopener noreferrer" href="https://fosstodon.org/@liberachat">Mastodon</a> <span class="mobile-hide">/</span> <a href="https://github.com/Libera-Chat/libera-chat.github.io" rel="noopener noreferrer">GitHub</a> <span class="mobile-hide">/</span> <a href="https://bsky.app/profile/libera.chat" rel="noopener noreferrer">Bluesky</a> <span class="mobile-hide">/</span> <a href="https://facebook.com/liberachat" rel="noopener noreferrer">Facebook</a> </div> </footer>