Staging. You are working on the staging environment. Nothing you change here reaches the live app.

Privacy Policy

Back of Node · Last updated: 2 September 2026 · describes the app's code as of that date

This policy explains what personal data the Back of Node app processes, why, and the rights you have. It covers the EU General Data Protection Regulation (GDPR), the UK GDPR, and the California Consumer Privacy Act as amended by the CPRA. We keep it plain and honest: the app reads data to show you your own analytics, it never posts on your behalf, we do not sell your data, and the things that leave your workspace only leave because you switched them on. Where the app does less than a privacy policy usually promises, this page says so rather than rounding up.

1. Who we are (Controller)

The controller responsible for your personal data under the GDPR is:

Anne Sophie T. M. Guenster
Frankenweg 46, 61381 Friedrichsdorf, Germany
Contact: hello@backofnode.com

This policy covers the Back of Node application only, the dashboard you sign in to and the public pages it serves. It does not cover any other website we run; those have their own policies.

2. What the app does, and what you decide

Back of Node is a private dashboard for musicians and their teams. It helps you manage tours, shows, riders, setlists, contacts, documents, finances and merch, and it can bring together read-only analytics from the online platforms you choose to connect.

You decide what leaves your workspace. By default nothing does. The app is fully usable with no platform connected and no AI key: tours, shows, riders, setlists, contacts, files, tasks, finances, merch, the calendar and the press kit all work on their own, and none of them contacts anyone outside this server. There are three switches, each one off until you turn it on, and each one adds exactly one kind of outbound traffic.

  • Connect a platform (Instagram or a Facebook Page, YouTube, TikTok, Bandsintown). Until you do, no connection to that platform is ever opened. The app does not even construct the code that would make the call. After you do, we read the metrics described in Section 5, once a day and whenever you refresh. Read access only.
  • Turn AI on, and decide how (Settings, per artist workspace). There are three settings, and until somebody changes it a workspace sits on the third one with no key stored, which sends nothing anywhere:
    • Deactivate completely. Nothing leaves the system. The AI features disappear from the dashboard rather than sitting there greyed out, and a request that reaches the server by another route is refused by the server.
    • Platform AI. Requests run on a key we hold, so you do not need a provider account of your own. This applies only to workspaces that choose it and that we have enabled for it, and within them only to the features they switched on. Section 11 says who holds the contract with the AI provider in that case.
    • Bring your own key. Requests run on the key you entered in Settings, billed to your own account with the provider. You hold the contract with them.
    In the second and third setting you then decide feature by feature which of the six AI features may run at all (Section 4). Until AI is set up, the features say so instead of pretending: the assistant refuses with a “not configured” notice, the content coach, the caption generator and the survey analysis refuse in the same way, and the newsletter falls back to a local template that makes no network call at all. Once it is set up, an AI request goes out when you use one of the features you left switched on. Section 4 lists exactly what is sent.In the second and third setting we also count how much each request used, in tokens, per person and per month. That is not a switch you can turn off while an AI feature is on; Section 4 says exactly what is counted and who can read it.
  • Connect a Tally form. Until you do, no survey data is read. After you do, the responses your audience gave are read from Tally while you look at the survey page.

Whose key runs your requests. In “bring your own key” it is the key you entered and nothing else: there is no fallback to any other key, so a workspace can never end up sending its content on a key it did not choose. In “platform AI” it is the key we store for that purpose, and a workspace that selects that setting while we have no key stored gets told so rather than being served by something else. The code also has a server-wide key slot from an earlier design. It can now only feed platform AI, never a workspace that brought its own key, and when we last measured the deployed configuration (15 August 2026) it was empty.

The app is read-only toward connected platforms. It does not publish posts, send messages, or write comments anywhere for you, for anyone, ever.

Three things happen without any switch, and we would rather name them than let the sentence above swallow them:

  • Map tiles. Opening the tour route map makes your browser load map tiles directly from MapTiler, whose key is configured on this server. (Without that key the app would fall back to the OpenStreetMap Foundation's public tile server at tile.openstreetmap.org.) Your IP address reaches them by your opening that page. There is no connect step and no way to use that map without it.
  • Video thumbnails on public press-kit pages. A public EPK page loads YouTube thumbnails from i.ytimg.com in the visitor's browser, so a visitor's IP address reaches Google. Our server never fetches those images.
  • Account email. Verification and password-reset mail is sent when you register or reset. That is inherent to having an account; the account is the opt-in.

Two more calls leave the server, but only on a button you press: locating your tour stops sends the place names to a geocoding service, and refreshing travel times sends the coordinates to a routing service. Neither runs on a schedule and neither runs silently.

3. What data we process

Data categorySourcePurposeLegal basis
Account data (name, email, securely hashed password, sessions, verification state)YouCreate and secure your accountContract, Art. 6(1)(b)
Content you create (artists, tours, shows, show outreach entries, riders, setlists, day notes, tasks, finances and expenses, merch, contracts, deals, press-kit content)YouProvide the core serviceContract, Art. 6(1)(b)
Contacts, guest lists and venue or promoter details: data about other people (see Section 6)YouRun your shows and keep your working contactsContract / Legitimate interests, Art. 6(1)(b)/(f)
Files you upload (documents, contracts, riders, expense receipts, images), stored as files on the server's disk. For readable documents (plain text and Markdown files, Word documents and PDFs) we also store a plain-text copy of what is inside them in the database, so that search and the assistant can find a file by its content and not only by its name. Deleting the file deletes that copy with it.YouStore, show and search your documentsContract, Art. 6(1)(b)
Instagram and Facebook Page data (profile, media metadata and captions, reach, engagement, follower counts, per-post insights)Instagram / Meta, with your authorisationShow you your own analyticsConsent, Art. 6(1)(a)
YouTube data (daily views and watch time for your channel, rolling 28-day aggregated audience snapshots; public subscriber and view counts)Google / YouTube, with your authorisationShow you your own analyticsConsent, Art. 6(1)(a)
TikTok account data (account id, display name, username, profile link, follower, likes and video counts)TikTok, with your authorisationShow you your own analyticsConsent, Art. 6(1)(a)
Bandsintown event data (public tour dates for the artist name you configure)Bandsintown, on your requestShow your public dates in the dashboardContract, Art. 6(1)(b)
Access tokens and platform credentials (encrypted at rest with AES-256-GCM)The platforms, on connectionKeep your connections workingConsent / Contract, Art. 6(1)(a)/(b)
Your AI provider key (encrypted at rest with AES-256-GCM; the last four characters are kept unencrypted so the settings screen can show you which key is stored)YouRun the AI features you enableConsent, Art. 6(1)(a)
AI usage counts: how many tokens each AI feature used, per person, per calendar month, with the model name and how many requests it took. Numbers only. Nothing you typed and nothing the AI answered is stored here.Counted by us when an AI feature runsShow a workspace what its AI use costs, and let us bill or limit AI that runs on our own keyContract / Legitimate interests, Art. 6(1)(b)/(f)
Assistant conversations: your messages, the assistant's answers, the tools it called and what those tools returnedYou and the appLet the conversation continue and let you re-read itContract, Art. 6(1)(b)
Content sent to and returned by an AI provider: newsletter drafts, captions, coaching turns, social analyses, survey readings (Section 4)You, when you use an AI featureProduce the draft or analysis you asked forConsent, Art. 6(1)(a)
Voice corpus samples: past newsletters and emails you import as style examples. These are real messages and can contain the name of the person they once went toYouGive the AI examples of how you actually writeConsent / Contract, Art. 6(1)(a)/(b)
Survey responses from your audience (email addresses, locations, free text, choices), read live from TallyYour audience, through your Tally formShow and analyse your survey resultsContract with you, Art. 6(1)(b); see Section 6
Activity records (who did what in your workspace, including administrator access)Automatically, as the app is usedAccountability and supportLegitimate interests, Art. 6(1)(f)
Product feedback signals: your votes on planned improvements, and when you last opened the what's-new panelYouDeciding what to build next, and showing you what is newLegitimate interests, Art. 6(1)(f)
Technical and usage data (IP address, timestamps, error logs)Automatically, when you use the appSecurity and reliable operationLegitimate interests, Art. 6(1)(f)

One of those kinds carries a rule about whole entries rather than about fields. A show outreach entry is visible to everyone in your workspace by default, and its author or a manager can mark any single entry as readable by managers only; a marked entry is removed from the answer before it leaves the server for anybody else, rather than hidden on the screen. Each entry also records who wrote it and when, as the account was named at that moment, and an entry that is later rewritten is shown as edited. Marking an entry does not reach back: whoever could already read it may have read it.

What those legal bases mean here:

  • Contract (Art. 6(1)(b)): to provide the account and the features you ask for.
  • Consent (Art. 6(1)(a)): when you connect a platform or switch AI on, you authorise the reading or the sending described here. You can withdraw at any time by disconnecting the platform, switching a single AI feature off, or turning AI off entirely (Section 15).
  • Legitimate interests (Art. 6(1)(f)): to keep the service secure and operational, where this does not override your rights.

The legal-basis assignments above are our good-faith description by someone who is not a lawyer. They still need confirmation in a legal review.

4. AI features (assistant, newsletter, coach, captions, scripts, survey and social analysis)

This is the part of the app that sends the most personal content to a third party, so it gets the most space.

Every AI feature can be switched off on its own. In Settings each of the six AI features has its own switch, so a workspace that wants captions written does not have to send its fans' survey answers as well. The seven blocks below are governed by those six switches: the caption generator and the filming scripts share one, because they are the same machinery, so switching captions off switches the scripts off too. A feature you switch off is refused by the server, not just hidden in the interface, and it says why it refused and where to switch it back on. It never quietly produces something that looks like an AI answer.

We count what the AI features use. Each time one of the features below calls an AI provider, we add that request's token counts to a monthly total for the person who made it, together with the feature and the model that ran. We store numbers only: not your question, not the answer, not the documents that went with it. Those totals can be read by the managers of your workspace, by you for your own use (Settings, AI usage), and by us as the platform operator. We keep them indefinitely, because the point of them is to compare one month with another. Counting starts when this build goes live; nothing before it was recorded and nothing has been reconstructed.

Nothing happens here without a key. AI features run on an API key: the one a user enters in Settings, or, in the platform setting described in Section 2, the one we hold for that purpose. With no key available, the assistant answers HTTP 409 “not configured” and makes no outbound call, the coach, captions and survey analysis refuse rather than produce a fake answer, and the newsletter uses a local template that never touches the network. With a key available, a request leaves only when you use one of those features, and only if that feature is switched on.

Who receives it. The providers this app can call are Anthropic (api.anthropic.com), OpenAI (api.openai.com) and Mistral (api.eu.mistral.ai), depending on which key the request runs on: the one you saved, or the platform key if the workspace is set to platform AI. Anthropic and OpenAI process the request on servers in the United States. Mistral processes the request on servers in the European Union (its regional endpoint; account and billing metadata may be processed outside the region). When a key is saved we make one small test call to that provider to check the key works.

What each feature actually sends:

Assistant chat

Your message (up to 4,000 characters), up to the last 40 messages of that conversation, and excerpts of up to three of your uploaded documents that match your question, up to 50 KB of extracted text each. The document types the assistant can read are plain text and Markdown files, Word documents and PDFs. For a Word document or a PDF, the file is opened on our server and only the text is sent, never the file itself. A PDF that contains no text at all (a contract someone photographed or scanned) has no text to extract, so nothing from inside it is ever sent. If such a file matches your question by its name, the assistant is told that the file exists and that nothing could be read out of it, so that it can say so instead of answering as though you had never uploaded it. What it is told in that case is the file name and the folder name, and nothing else. When you upload one of the readable kinds, the text inside it is extracted once, on our server, and kept as a plain-text copy in your workspace so that a question can find a document by what it says and not only by what it is called. Documents that were already in your library before this feature existed are read once in the same way, in the background, so that an older file can be found by its contents too. That copy stays in your workspace under the same access rules as the file itself and is deleted with it. It is not an extra transmission: what leaves for a provider is still only the excerpts described above. The assistant reads no other file type: an image, a spreadsheet or anything else in your library is never opened and never sent by it, whatever its name suggests. (The caption generator is the one place an image itself travels, and only when you attach it there; see below.) Document selection runs on your question alone, before the model has said anything: your question is matched against the names of your documents, the names of the folders they sit in, and the stored text copy described above, so a document can be picked because of what is written inside it and not only because of what it is called. If the assistant uses one of its tools, what that tool read from your workspace (shows, deals, contract data) goes back to the model as the tool's result. We tell the model in the prompt that document text is untrusted content and that instructions inside it are not to be followed. Every turn, every tool call and every tool result is stored in your workspace.

What the assistant can read from your workspace. The assistant does not have the run of your data. It reads a fixed table of areas, and within each area a fixed list of fields, listed below in the names the code itself uses. A field that is not on this list cannot reach the model through the assistant, whatever else is stored on the same record. Every area is also gated: you are offered an area only if your own account may open that part of the app, so the assistant cannot tell you anything the interface would keep from you.

Two limits hold for all of them. One reading of an area returns at most 20 rows. And a field nobody filled in comes back as null rather than being dropped, so the model can tell an empty field from a field that does not exist, and says so instead of inventing a value.

  • contracts (managers only): contractType, status, title, parties, paymentDirection, paymentBasis, paymentAmount, paymentPercentage, paymentPercentageOf, paymentCurrency, paymentSchedule, paymentDeadline, renewalDeadline, effectiveDate, endDate, responsiblePerson, cancellationTerms, note.
  • shows (the tour team): id, date, type, title, venue, city, country, address, status, capacity, loadIn, soundcheck, doors, stageTime, curfew, advanceState, parkingNote, notes. Fees and deal terms are deliberately not in this list; they have their own manager-only tool.
  • tours (the tour team): id, name, status, startDate, endDate. The budget on a tour is money and is not in this list.
  • tour-legs (the tour team): id, tourId, name, startDate, endDate.
  • tasks (the tour team): title, status, due, priority, area. Archived tasks are left out. One narrower thing travels further, and it is the only one: when somebody hands a task to a member of your team, the activity log records that it happened, the task's title, and the display name of the person it went to, which everyone in your workspace can read. What the task says, when it is due, which category it carries and what it is linked to are never in that record, and neither is anybody's email address.
  • contacts (the tour team): name, role, org, phone, email, note. This is personal data about other people, so this area reaches exactly the accounts that see the contact book itself. One narrower thing travels further, and it is the only one: when somebody adds, changes, imports or deletes a contact, the activity log records that it happened and the person's name, which everyone in your workspace can read. Their phone number, email address, organisation and note are never in that record.
  • travel (the tour team): date, mode, from, to, departTime, arriveTime, arriveDate, distanceKm, flightNumber, note.
  • stays (the tour team): date, name, city, checkIn, checkOut, nights, rooms, address, status, sleepArrangement, costAmount, costCurrency. What a stay costs is in the list because it is on that screen for the same people.
  • files (anyone who can open your files): name, folder, contentType, size, uploadedAt. This is the listing only. The contents of a file reach the model through the document excerpts described at the top of this box, never through this area.
  • merch-products (the merch team): id, name, productCategory, active. The catalogue entry only. What you wrote in the notes field of a product is not in this list.
  • merch-variants (the merch team): id, productId, variantType, size, color, prices, unitCost, unitCostCurrency, reorderAt, active. Prices and the production cost are in the list because they are on the same screen for the same people. The supplier code (sku) is not.
  • merch-transfers (the merch team): variantId, qty, from, to, date. Stock movements. The note on a movement is not in this list.
  • merch-settlements (the merch team): id, tourId, showId, showLabel, showDate, showCountry, currency, lines, payments, venueCut, attendance, status. A night's takings. lines is the counted stock of that night, one entry per variant, each with the four counts and the price that was frozen on the night. The note on a night is not in this list.
  • incomes (managers only): category, amount, currency, date, received, receivedDate, source, tourLabel, tourDeletedAt, showLabel, showDate. Money with no other source in the app: a grant, a sponsorship, a session, a licence, a royalty statement. Show fees and merch takings are not rows here. received is in the list because it is what the figure means: an amount that has not arrived is expected money, and the assistant is told in words never to report it as money in hand. The note on an income and the documents attached to it are not in this list.
  • expenses (managers only): category, amount, currency, date, payee, tourLabel, tourDeletedAt, showLabel, showDate. Who was paid is in the list because what a payment was for has no answer without it. The note on an expense and the receipts attached to it are not.
  • songs (the tour team): id, title, key, tempo, durationSec, album, year, inDefaultSet, defaultPosition. Your song library. inDefaultSet is in the list because without it the assistant would read the whole catalogue as one night's set. There is no free-text field on a song, so there is nothing here to withhold.
  • setlists (the tour team): id, name, shareViews, shareLastViewedAt. The setlist documents by name, plus how often the public link was opened and the day it was last opened. The link's own address (shareId) is not in this list: anybody holding that address can open the setlist, so it is the share itself rather than a fact about it.
  • setlist-entries (the tour team): setlistId, position, songId, special. The lines of a setlist in their running order. A line is either one of your library songs or an ad-hoc song that is not in the library, and special is that ad-hoc song: its title, what kind of song it is, and its key, tempo and length. The note you wrote on such a song is removed before the line leaves your workspace.
  • riders (the tour team): id, name, shareViews, shareLastViewedAt. The rider documents by name, with the same two share counts, and the link address withheld for the same reason as a setlist's.
  • rider-items (the tour team): riderId, category, item, qty, position. What one show's rider asks for. The note on a line is not in this list.
  • rider-template (the tour team): category, item, qty, position. Your Default Rider, the master list a new show's rider starts from. The note on a line is not in this list.
  • social-accounts (the social team): id, platform, handle, status. Which channels this workspace reads numbers from, and whether each connection is live. The stored key or token behind a connection is not in this list and is never readable by the assistant, and neither is the channel id, the last error a platform sent back, or a subscriber figure you typed in yourself.
  • social-metrics (the social team): socialAccountId, date, followers, views, likes, engagementRate, reach, newFollowers, videoCount, estimatedMinutesWatched, followersPrecision, followersDerived, source. One row per channel per day, the same numbers the social pages draw. The eleventh and twelfth fields say how sharp a follower count is and whether it was measured or reconstructed, and they are in the list for the same reason received is in the income list: without them a rounded or computed number reads as a measurement. The last one says where a row came from, including whether it is seeded sample data rather than a real figure.
  • instagram-posts (the social team): timestamp, mediaType, mediaProductType, permalink, caption, likes, comments, views, reach, saves, shares, totalInteractions. Your own posts with their own numbers. The caption is the first part of the text only. The picture and thumbnail addresses are not in this list: they are signed links that expire, so they are a credential rather than a fact about the post.
  • youtube-videos (the social team): videoId, publishedAt, title, durationSeconds, views, likes, comments, liveBroadcastContent. Your uploads with their lifetime figures. A video's description and its day-by-day view history are not in this list. Videos on other channels that your workspace chose to track are stored in this same area, and the assistant is not offered them: it reads your own uploads only.
  • youtube-audience (the social team): dimension, date, windowStart, windowEnd, rowCount, rows. Who watched your channel over a 28 day window, where from, on what, and after searching for what. There is no personal data in these reports: YouTube publishes them as shares and totals precisely because they identify nobody, and the age and gender shares cover signed-in viewers only. The two window fields are in the list because a share without its window is not a measurement. The rows are not handed over as stored: YouTube's report tables are kept exactly as Google sent them, so each row is rebuilt from a fixed list of columns for that report before it leaves, and a long report is put in order of size and cut to its largest fifteen entries. The age and gender report is the one that is never cut, because those shares only mean anything together. A column this app has not named cannot travel, whoever added it.
  • content-goals (the content team): id, name, tagline, sortOrder. The groups your content library is sorted into, with the one line under each name. Archived groups are left out. The longer description of a group is not in this list.
  • content-series (the content team): id, categoryId, name, subtitle, coreStack, purpose, primaryPlatforms, suggestedFrequency, energy, editEffort, exampleHooks, occasions, origin. Your repeatable formats: what each one is for, which channels it is planned for, how often it is meant to go out, what filming and cutting one episode takes, and the example hooks that come with it. The last field says whether a series came with the library or you created it yourself, so the assistant cannot present a library default as your own invention. Your own notes on a series are not in this list and the assistant has no way to read them. Neither is the long reference text on a format.
  • content-hook-groups (the content team): id, name, subtitle, sortOrder. The sections your hook library is divided into, each with the framing question printed under it. Archived groups are left out.
  • content-hooks (the content team): questionCategoryId, text, sortOrder. The hooks themselves, in their group and in their order. These are starting points to film against, not anything you have said. Archived hooks are left out.
  • content-shoots (the content team): id, date, label. The days you filmed on, which is what several calendar entries planned for one afternoon have in common. The free-text notes on a filming day are not in this list.
  • content-calendar (the content team): id, scheduledFor, platform, status, shootId, seriesId, caption, filmedAt, editedAt, postedAt, oneOff, showLabel, showDate. Your planned and published pieces. The caption is the text of the piece itself, which is what tells one entry from another. The fourth field is the stage a piece has reached, and it is in the list for the same reason received is in the income list: without it a plan reads as something you published. The last two are filled in only when a show a piece was planned for has been deleted, so they are a frozen name rather than a live link. Which show a piece belongs to is otherwise not readable through the assistant at all. The free-text notes on an entry are not in this list.
  • content-my-strategy (the content team): id, name, status, platforms, rhythm, endDate, createdVia, episodes, createdAt, updatedAt. Your own series on the My Strategy screen: the channels each one runs on, how often it is meant to go out, whether it is running, and the episodes you planned for it. An episode carries its number, its hook, its topic, the days you meant to film, edit and post it, and the stage it has reached. The third field is in the list for the same reason received is in the income list: a series you started and left is not a series you are running. The notes you wrote on a series, and on any single episode, are not in this list and the assistant has no way to read them. The episode note is a special case worth saying plainly: it sits inside the episode rather than beside it, so it is removed before the episode is handed over, not merely left off this list. Planning you made before the current version of that screen is not readable here at all.
  • content-drafts (the content team): channel, format, status, outputType, targetSeconds, seriesId, text, incomplete, createdAt. The captions, outlines and talking scripts this app generated for you and you kept, with the writing itself. The fourth field says which of those three a row is, and it is in the list because nothing else on the row does. The eighth says the provider cut the generation off, so a shortened text can never be handed over as a finished one. A draft you discarded is left out of this area entirely. What you typed as the description of the post, and the context you handed over for one generation, are not in this list. Neither is the picture you attached.
  • places (the tour team): placeType, name, city, country, address, capacity, parkingNote. The reusable places your workspace keeps: venues, hotels, airports, stations, rehearsal rooms. The first field is what tells a room from a bed and it is in the list because nothing else on the record does. Capacity is how many people the place holds, never how many came. The free-text notes on a place are not in this list, and neither are its map coordinates.
  • route-stops (the tour team): tourId, date, city, country, place, sortOrder. The dated points on a tour's route that are not shows: where the tour is on a day when there is no concert. The cached driving distances and times between two stops are not in this list, because the app itself re-checks them before drawing them and a copy handed to the assistant could be out of date. Your own note on a stop is not in this list either.
  • guest-list (the tour team): name, passType, status, plusOnes, showId, tourId, excludedShowIds, createdAt. Who is on the door lists, which pass they hold, and whether the entry is still a request or has been approved. Your guests' email addresses and phone numbers, anything recorded about what they need in order to get in and get around, and the notes about them are not in this list. One rule here is about whole entries rather than fields: an entry marked visible to managers only is removed from the answer before it leaves the server for anybody who is not a manager, exactly as it is on the screen itself.
  • memberships (managers only): role, caps, createdAt. One row per person who has access to this workspace, saying what that person may do and when the access was given. There are no names and no email addresses in this area at all. The account behind a row is identified by an internal id, and that id is not in the list, so the assistant can say how many people have access and at what level and cannot say who they are.
  • newsletters (the content team): title, occasion, status, scheduledFor, sentAt, createdAt. This is the listing of your newsletters and never their text. What a newsletter says is not in this list and the assistant has no way to read it. Neither are the notes you typed into the form it was generated from. The third field is in the list for the same reason received is in the income list: a draft is not a letter that went out. This app has no sending in it at all, so sent is a mark you set by hand after sending the letter from somewhere else, and the assistant is told in words never to report a newsletter as delivered or to say who received it.
  • voice-samples (the content team): kind, platform, occasion, title. The past pieces of your own writing that you saved so the AI features can imitate your voice, as a shelf: how many there are, what kind each one is and where it was published. The text of a sample is not in this list and the assistant has no way to read it. That is the strictest omission on this page and it is deliberate: as the newsletter box below says, these are real past messages, so one can carry the name of the person it was once sent to. Where an imported sample came from, including the account handle it was pulled out of, is not in this list either.
  • press-kits (the content team): label, bioShort, facts, showUpcomingShows, showSocialStats, viewCount, lastViewedAt, updatedAt. Your press kit: its internal name, the short biography and highlight lines on it, whether its two live sections are switched on, and how often the public page has been opened. Nothing is recorded about who opened it, so the assistant can say how many times and when, never by whom. Whether the press kit is public, and its public web address, are not in this list. The address is withheld because anybody holding it can open the page, so it is the share itself rather than a fact about it. The long biography, the press quotes, the latest-release block, the contact list on the kit and the photos, files, videos and links attached to it are not in this list either, and the contact list matters most of those: it can hold an email address and a phone number typed straight onto the kit.
  • external-listings (the tour team): provider, syncState, lastSyncedAt, firstSeenAt, showId, snapshot. What this app knows about your shows on Bandsintown: whether each one is linked, has drifted apart from the local show, vanished from the service, or was deliberately set aside. snapshot is what the service said about the event at the last scan (its date, venue, city, country, start time and ticket link) and it is never copied onto your show; it is in the list together with the date of that scan, because an upstream reading without its date reads as the current state of a show. The service's own id for the event is not in this list.
  • tour-calendar (the tour team): tourId, date, title, startTime, endTime, kind. The dated entries that are not concerts: press, radio and TV, interviews, shoots, promo, rehearsals, meetings, travel days, days off and admin blocks. An entry does not have to belong to a tour. What you wrote in the notes field of an entry is not in this list.
  • setlist-rider-versions (the tour team): showId, kind, version, label, createdAt. This says which saved versions of a setlist or a rider exist, and never what is in one. The songs and the rider lines frozen inside a saved version are not in this list, and neither is the name of the person who saved it.
  • file-folders (anyone who can open your files): path, createdAt. The folders somebody created on purpose, so that an empty folder can be seen at all. Nothing about what is in them; the files area above is the listing.
  • activity-log (everyone who can use the assistant): at, kind, label, detail, actorName, visibility. Your workspace's own record of what people changed and when, the same record the Activity log page under Settings shows you. This is the one area in this table whose rows are filtered by who is asking. Entries the workspace treats as money, such as a changed fee, a changed deal or a changed price, are readable only by a manager, exactly as on that page, and the assistant is handed the filtered rows rather than filtering them itself. The email address and the account id of the person who made a change are not in this list; the display name they had at the time is.
  • workspace (everyone who can use the assistant): name, currency, distanceUnit. Three fields out of the roughly twenty-five on that record, which is what an allow-list is for.

Everything else the app stores is outside that table and the assistant has no way to read it, and there are three reasons a table is outside it. Some of it is personal rather than the workspace's: your own day notes belong to the person who wrote them, and there is no version of them the assistant reads. Some of it is an old store that a newer one replaced, kept only so nothing is lost, which the assistant would otherwise report as current. And some of it never gets an area at all, and the plainest cases are worth naming: stored keys and tokens, invitations, other people's conversations with the assistant, your audience's survey answers, and what individual people on the platform voted for or last read.

Newsletter draft

Artist name, the occasion, your own notes, the call to action, your links, and, if a tour is linked, that tour's name with its show dates, cities and venues. Plus your tone and sign-off and up to three style samples from your voice corpus. Those samples are real past messages, so they can carry the name of the person they were once sent to.

Content coach (Cue)

Artist name, the series format or the series you opened it on, and the conversation turns. On a series format in your Library, or on one of your own series, it also sends a capped list of your own songs and next shows. Your private artist notes are not read, only what you type into the visible field.

Cue also has a page of his own, under Content. Its guided door, the one that asks you three short questions, sends nothing to any provider: its questions and its suggestions are a filter over the formats in your own library, and it works with no AI key at all. What that conversation produces is stored in your workspace: the series it sets up, its episodes with the hooks and notes you wrote, the entries it puts on your calendar, and a setup you left unfinished, which is kept as a draft series so you can pick it up later. The conversation itself is not stored. Leaving the page ends it.

That conversation, and the one-off mask on My Strategy, can also plan single clips with no series behind them, on their own or as one batch across several songs. Those are stored as ordinary calendar entries with the hook and the note you wrote, the days you picked, and the song title where you named one; each is marked as a one-off, which is what lets it appear in the One-offs list on My Strategy. Nothing about them is sent anywhere.

The second door on that page, where you describe what is on your plate in your own words, is the one part of Cue that does call an AI provider, and it needs your AI key. It sends your artist name, what you typed, the formats in your own library with their purpose, when they are the right tool, what they cost in time and their starter hooks, and a capped list of your song titles and next shows, so Cue can put a title or a city into a hook that has a gap in it. It does not send your plan, your calendar, your drafts or your private notes, and it can only point you at formats you already have. Neither what you type there nor the answer is stored; leaving the page ends it.

From that answer Cue can also offer to set the idea up as a series of your own or as a single clip, and the name and the angles he suggests come out of the same answer, so nothing further is sent anywhere for it. Choosing either one opens a form with those words already in it, and nothing is stored until you save that form. If you do, the series or the clip is stored as described above, and the sentence you typed into the box is kept with it as a note on the series, where you can read it on its card in My Strategy.

A third door on that page checks the plan you already have: it lists the series with episodes that are past their day, and it can pause one, pick it back up, move a stalled run forward, or work its days out again for a different rhythm. Those four things call no AI provider and need no key. They send nothing anywhere and read only your own series and their days. They store nothing new: they change the episodes and the calendar entries you already have, and they tell you exactly what they moved.

That third door also has a review, and it is the one part of it that does call an AI provider and needs your AI key. Pressing one of its three questions, or typing your own into its field, sends your artist name, the one series you have open with its name, platforms, rhythm, end date and status, and its episodes with their number, hook, topic, status and film, edit and post days, at most 24 of them. It does not send the notes you wrote on those episodes, any of your other series, your library, your calendar or your drafts. Nothing from it is stored, and it changes nothing in your plan: it answers in words, and the four buttons above it are what move anything.

Caption generator

Your description of the post, the series format's purpose, the hook you chose, anything you put in the context box, and style samples from your corpus filtered to that platform. Opening this form from an episode of My Strategy fills in the hook and the context box for you; both are on screen before anything is sent, and you can change or clear either. If you attach an image, the image itself is sent to the provider as raw bytes along with the text.

Filming scripts (outline and talking script)

The Create tab can also plan a shoot: first an outline in seconds, then, if you ask for it, the words you say to the camera. Both send your artist name, the name of the series the episode belongs to and the purpose of the series format it is based on, the hook and the song or subject of the episode, the platform and the target length in seconds, whatever you wrote in the visible field about how and where you are filming, and the tone from your voice profile.

The talking script sends two things more. It sends the outline exactly as it stands on your screen at that moment, including any edit you made to it, and up to three of your own past posts on the chosen platform as style examples, each cut to 600 characters (the title and the text). Those samples are real past posts, so they can carry real names, dates and places. The outline stage sends no past posts at all.

Opening this from an episode of My Strategy ("Plan filming") fills in the hook, the song or subject, the platform and the target length for you, and puts the note you wrote on that episode into the visible field about how and where you are filming. All of it is on screen before anything is sent, and you can change or clear any of it.

Neither stage sends your private notes, the notes on your episodes, your calendar, your other series or your other drafts. What comes back is stored as a draft in your workspace, where you can edit it or delete it.

Social AI read

Artist name and handle, per-channel metric summaries, spikes and milestones, the dates of shows and newsletter sends, and labels for your Instagram posts. No raw fan data. It runs when you press Refresh; there is a per-artist setting that can make it run automatically when the page opens, and its default is manual.

Survey AI

This runs in two separate calls, and the split is the privacy boundary.

The first call reads the form, not the answers: question ids, titles, types and the answer options you wrote yourself. By design it contains no fan email addresses, no free text, no locations, nothing per person and no counts.

The second call reads your audience's free-text answers and sends them to the provider. This is the one place where a fan's own words leave this server. Email questions can never be part of it. Any question the first call flagged as containing personal data is excluded too, unless a human explicitly turns that question back on. Choice, numeric, ranking and location answers are never sent.

What we store. Your assistant conversations, generated drafts, captions, coaching turns, analyses and survey readings stay in your workspace until you delete them.

Turning it off. Remove the key in Settings. The features switch off immediately and go back to refusing or, for the newsletter, to the local template. Anything already generated stays until you delete it.

What Anthropic, OpenAI or Mistral do with the content after it reaches them, how long they keep it and whether API traffic is used for training, is governed by their API terms and by the data processing agreement in place with them. Confirming that, and the transfer mechanism for the United States, is part of the legal review that is still outstanding.

5. Connected platforms

Each connection is a separate decision, asks for its own permissions, and can be disconnected on its own. All of them are read-only.

Instagram and Facebook (Meta)

There are three ways to connect, and each asks only for what it needs:

  • An Instagram professional account through Instagram Login: instagram_business_basic and instagram_business_manage_insights.
  • An Instagram account reached through its linked Facebook Page: instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement and read_insights.
  • A Facebook Page on its own, with no Instagram involved: pages_show_list, pages_read_engagement and read_insights. The two Instagram permissions are deliberately dropped on this path.

What we read: your account and profile information, follower counts, reach and engagement, and your posts with their captions, links, timestamps, like and comment counts and per-post insights. Our use of this data is strictly read-only. We do not create posts, send or read direct messages, or write comments. Tokens are encrypted at rest using AES-256-GCM. Information obtained through the Instagram API is handled in line with Meta's Platform Terms and Developer Policies.

YouTube (Google) · YouTube API Services

Back of Node uses YouTube API Services. By using the YouTube features of this app you agree to the YouTube Terms of Service. Google's own handling of your data is described in the Google Privacy Policy. Our use of information received from YouTube API Services complies with the Google API Services User Data Policy, including its Limited Use requirements.

There are two separate paths, and only the first involves a Google login:

  • Your connected channel. We request exactly one OAuth scope, https://www.googleapis.com/auth/yt-analytics.readonly, and no others. It gives us your channel's own analytics: daily views and watch time, and rolling 28-day audience snapshots, which are aggregated shares (for example age bands or countries) and never data about an individual viewer. We deliberately do not request youtube.readonly: no access to your video library, no upload, no edit, no comment, no reading of anyone's subscriptions.
  • Public channel statistics. Public subscriber and view counts for a channel id, fetched with a YouTube Data API key. No Google login, no personal Google data.
  • Tracked videos on other channels. Public view, like and comment counts and the channel's public name for videos you add by link, fetched with a YouTube Data API key. No Google login. Removing a video deletes its stored history.

Revoking access. You can disconnect YouTube inside Back of Node at any time; when you do, we also call Google's token revocation endpoint. Independently of us, you can revoke Back of Node's access to your Google account at any time through the Google security settings page, https://myaccount.google.com/permissions.

Separately from any connection: public press-kit pages load YouTube video thumbnails from i.ytimg.com in the visitor's browser (Sections 2 and 7).

TikTok

We request three read scopes and no others: user.info.basic, user.info.profile and user.info.stats. We deliberately do not request video.list.

Once a day we read exactly seven fields about the connected account and nothing else: open_id, display_name, username, profile_deep_link, follower_count, likes_count and video_count. Nothing per video, nothing about your viewers, no content, no messages. TikTok is never written to.

Tokens are encrypted at rest with AES-256-GCM. TikTok issues an access token valid for about 24 hours and a refresh token valid for up to 365 days; while you stay connected the access token is refreshed automatically. When you disconnect inside Back of Node we call TikTok's token revocation endpoint and delete the stored token. You can also remove Back of Node on TikTok, under Settings and privacy → Security and permissions → Manage app permissions.

Bandsintown

The artist name you configure travels in the request URL together with our application id, and public event data comes back. There is no login and we receive no personal Bandsintown account data.

Tally (surveys)

If you connect a Tally form, we read the form, its questions and up to the latest 2,000 responses with your Tally API key, live, each time you open the survey page. Those responses come from your audience, not from you, and can contain their email addresses, locations and free text.

Two things we do because of that. Every one of those requests is marked no-store, so the framework never writes a response body to its own disk cache, and the survey page is rendered fresh on each request for the same reason. And the Tally key is kept server-side only and encrypted at rest, because a Tally API key carries the rights of your whole Tally account and has no narrower scope available.

What of this can reach an AI provider, and what can never, is in Section 4.

6. Data about other people

A lot of what goes into a tour dashboard is about people who will never read this policy: promoters and venue contacts, guest lists, the people your riders are sent to, the fans who answered your survey, and the recipients named inside old emails you import as writing samples.

You are the one with the relationship to those people. You are responsible for having a basis to enter their data and for telling them where the law requires it. What we do with it is limited and worth stating plainly:

  • It is stored in your workspace and is not visible to other workspaces.
  • We do not sell it, do not use it for advertising, and do not build any profile of anyone across workspaces.
  • It reaches a third party only in the cases named on this page: to an AI provider in the survey and voice-corpus cases in Section 4, to our email provider when you send a rider or an invite (Section 8), and to whoever opens a page you chose to publish (Section 7).

If one of those people asks you to remove their data and you need our help, write to us (Section 16).

7. Public share links

Three kinds of page in Back of Node are reachable without signing in, by anyone who has the link. They are not listed or indexed by us, but a link is not a password.

  • Press kit (EPK) pages at a slug you choose. What appears there is what you put there, including any contact details you decided to publish, and the linked videos' thumbnails, which load from Google (Section 2).
  • Rider share links. A rider tied to a show stops serving seven days after the show date and shows a plain expiry notice instead. A standalone rider with no show date has nothing to age against and does not expire.
  • Setlist share links, for the people who need the running order.

8. Email the app sends

Back of Node sends a small, fixed set of messages:

  • Account mail: address verification and password reset.
  • Team invitations, which carry the invited person's address.
  • Rider sends: the rider PDF to the venue or promoter you name, with the address of whoever pressed Send set as the Reply-To, so a reply reaches a person rather than a shared mailbox.
  • Feedback to the operator, carrying your message and your address. A message you send from the feature board carries one extra word marking it as a feature idea, so it can be told apart inside the same inbox.
  • A test message an administrator can trigger to check the mail configuration.

There are structural limits on this, not just intentions. Every mail carries exactly one recipient (a comma-joined recipient list is refused at the seam), there is a hard ceiling of 20 non-account messages per hour, and a non-account message cannot leave at all unless the address is on an allowlist or an explicit opt-in flag is set on the server.

Back of Node sends no marketing mail and cannot mass-mail your audience. A newsletter draft is text; you take it wherever you send newsletters. The app has no fan-mailing function at all.

9. Service providers (sub-processors)

These are everyone this app can reach. The ones marked “only if you switch it on” are never contacted otherwise.

  • Hetzner Online GmbH: hosting and database, in data centres in the European Union.
  • Anthropic: AI features, United States. Only if you switch it on, and only when you use one.
  • OpenAI: AI features, United States. Only if you switch it on, and only when you use one.
  • Mistral AI SAS: AI features, France (European Union). Only if you switch it on, and only when you use one.
  • Meta Platforms: Instagram and Facebook Page data, only for the account you connect.
  • Google: YouTube API Services, analytics for the channel you connect, and public channel statistics via an API key. Separately, video thumbnails on public press-kit pages are loaded from Google by the visitor's browser.
  • TikTok: for the TikTok account you connect.
  • Bandsintown: public event data for the artist name you configure.
  • Tally: survey responses, if you connect a form. Those responses come from your audience, not from you.
  • MapTiler: the map on the tour route page, when a MapTiler key is configured on this server. Tiles are fetched by your browser directly, so your IP address reaches them whenever you open that page.
  • OpenStreetMap Foundation: two different things. Nominatim turns the place names in your tour into coordinates when you press the locate button; the place name and country are sent, your identity is not. And when no MapTiler key is configured, the map tiles themselves come from the OSMF's public tile server, fetched by your browser, so your IP address reaches them. Both are public services we hold no contract with.
  • OSRM demo server (project-osrm.org): driving distances and times between two stops, when you press refresh. Coordinates are sent; your identity is not. This is the OSRM project's public demo service, not a provider we hold a contract with.
  • Resend: sends the email described in Section 8. Delivery runs over Amazon SES infrastructure. The app's mail code speaks plain SMTP and is not tied to one vendor; Resend is what this server is configured to use.

10. Administrator access to your workspace

Back of Node is run by one person, named in Section 1. She is a platform administrator, which means she can technically open any workspace on this server, including yours, without being a member of it. This is deliberate: it is how a support request gets answered, and how a workspace whose last manager has left can be reached at all.

Because that access is real, it is not silent:

  • While an administrator is inside your workspace, the app shows a band across the top of every page naming the workspace the admin is in.
  • Opening your workspace writes a record of who opened it and when.
  • The managers of your workspace are shown that record afterwards, whether or not anyone was signed in at the time. Confirming the notice hides it and keeps the record.

This access is not used to publish anything. The app is read-only toward connected platforms for everyone, administrators included. Members of other workspaces have no such access and never see your data.

11. Where your data is stored and international transfers

Your account data, your content and your uploaded files are stored on servers located in the European Union (Hetzner, Germany).

Several of the providers in Section 9 are outside the EU/EEA, and the ones that matter most are the AI providers, because they receive content rather than metadata: Anthropic and OpenAI (United States). Mistral is the exception among the AI providers: a French company processing in the EU, so it is not on this list at all. The remaining providers outside the EU/EEA are Meta, Google, Bandsintown and Resend with Amazon SES (United States), TikTok (its operating entities outside Germany), MapTiler (Switzerland) and the OpenStreetMap Foundation (United Kingdom). Tally states publicly that it is based in the EU.

The AI providers, where you send content yourself. When you actively use an AI feature with your own API key, the content you submit is sent to the provider you selected (Anthropic, OpenAI or Mistral) under your own agreement with that provider. Anthropic and OpenAI receive it in the United States. Anthropic relies on Standard Contractual Clauses incorporated in its Data Processing Addendum. OpenAI is certified under the EU-U.S. Data Privacy Framework, with Standard Contractual Clauses in its Data Processing Addendum as a fallback. Mistral is different in kind rather than in degree. It is an EU company (Mistral AI SAS, Paris), this app calls it on its European endpoint api.eu.mistral.ai, which processes the request inside the European Union, and its Data Processing Addendum is part of its terms by reference with nothing to sign. For the content you send, there is therefore no third-country transfer and no transfer mechanism to name. Account and billing metadata may still be processed outside the region.

The platform-provided AI key. A workspace can choose to run the AI features on a key we provide instead of one of its own (Section 2). It is a choice a workspace makes and one we have to enable for that workspace: no workspace is on the platform key unless we put it there. A workspace that keeps its own key is unaffected, and that is what every workspace does unless it changes the setting. Where a request runs on our key, we are the customer of the AI provider and it processes the content on our instructions, so we hold a data processing agreement with that provider in our own name. For our own OpenAI account, the contracting entity is OpenAI Ireland Limited, with the transfer mechanisms named above applying to any onward transfer. Where the platform key is a Mistral key, the contracting entity is Mistral AI SAS, Paris. The option only does anything once a key is actually stored for it and the workspace has been enabled for it: until then, a workspace that selects it is told which of the two is missing rather than being served by anything else.

The AI usage counts stay on this server. The token totals described in Section 4 are read off the provider's reply and stored in our own database in Germany. They are not sent to the AI provider, they are not part of any international transfer, and no sub-processor receives them.

For the other providers named above, data transferred internationally is intended to be protected by an appropriate safeguard such as the EU Standard Contractual Clauses.

The specific transfer mechanism in place for each of those remaining non-EU providers, and the contracting entity for TikTok, still need a legal review. We would rather say that than list mechanisms we have not verified.

12. How long we keep data

  • Account and content: kept for as long as your account exists. There is currently no self-service “delete my account” button in the app; deletion happens on request, and Section 16 says how to ask. We would rather tell you that than point you at a button that is not there.
  • When you disconnect a platform: the stored access token is deleted, we call the platform's revocation endpoint where it has one, and the channel entries that pointed at that connection are removed. Your daily metric history stays. Those follower, view and engagement numbers are your own measured series over time, they are keyed to the account rather than to the connection, and reconnecting the same account picks the history back up. An earlier version of this page said the history was deleted; that was wrong, and this sentence replaces it. If you want the history deleted as well, ask us and we will delete it.
  • Assistant conversations, AI drafts, captions, analyses, survey readings and voice-corpus samples: kept until you delete them.
  • Survey responses: read live from Tally each time you open the page and not written to the framework's disk cache. What persists in Back of Node is the readings and analyses you generated from them. Deleting a response at the source is done in Tally.
  • Votes and the what's-new marker: a vote lives as long as the item it belongs to stays on the board; withdraw it in the feature board and the record of it is deleted, not set to zero. The marker recording when you last opened the what's-new panel lives as long as your account. Both are deleted when your account is (Section 16).
  • AI usage counts: kept indefinitely. The monthly token totals in Section 4 are small and their purpose is comparison over time, so we do not cut them back on a schedule. They are deleted when the account they belong to is (Section 16). Separately, each counted request also writes one line to the server log naming the feature, the person and the token counts, and those lines follow the 7-day rule below.
  • Server and access logs: 7 days. Our web server records the IP address of every request; we keep those for a week for troubleshooting and abuse detection, after which they are deleted automatically.
  • Database backups: 30 days. A backup is a full copy, so a record you deleted can still sit in one until its backup expires.

13. Your rights (GDPR / UK GDPR)

If you are in the EU or the UK, you have the right to:

  • access the personal data we hold about you;
  • have inaccurate data corrected;
  • have your data deleted (“right to be forgotten”);
  • restrict or object to certain processing;
  • receive your data in a portable format;
  • withdraw consent at any time; and
  • lodge a complaint with a supervisory authority (in Germany, your state data protection authority).

To exercise any of these rights, contact us at hello@backofnode.com.

14. Your rights (California, CCPA/CPRA)

If you are a California resident, you have the right to:

  • know what personal information we collect and how we use it;
  • access and delete your personal information;
  • correct inaccurate personal information; and
  • be free from discrimination for exercising these rights.

We do not sell or share your personal information as those terms are defined under the CCPA/CPRA, and we do not use it for cross-context behavioural advertising.

Whether the CCPA/CPRA applies to this service still needs to be confirmed in a legal review.

15. Disconnecting a platform or turning AI off

You can disconnect any connected platform at any time from within Back of Node, in your connection settings. Disconnecting deletes the stored access token, removes the channel entries for that connection, and stops any further data being read. Where the platform offers a revocation endpoint we call it as well. As Section 12 says, your existing metric history is kept unless you ask us to delete it.

You can also remove Back of Node on the platform's own side:

  • Instagram and Facebook: Settings and privacy → Apps and websites. Removing it there cuts our access immediately. The stored token stops working. To be honest about what that does not do: we do not run a deauthorisation callback, so nothing tells us automatically that you removed it. To have the stored data removed as well, disconnect inside Back of Node or write to us (Section 16).
  • Google and YouTube: revoke access at https://myaccount.google.com/permissions.
  • TikTok: Settings and privacy → Security and permissions → Manage app permissions.

To turn the AI features off, set AI to Deactivate completely in Settings. Nothing further is sent to any AI provider from that moment, whichever key the workspace was using, and the AI surfaces disappear from the dashboard. You can also switch off individual AI features and leave the rest running (Section 4), or remove your own stored key, which stops the features that were running on it.

16. Requesting deletion of your data

You can ask us to delete the personal data associated with your account, or with a connected Instagram, Facebook, YouTube or TikTok account, at any time.

  • Fastest way: disconnect the platform inside Back of Node (Section 15). That removes the token and the connection immediately.
  • By request: email hello@backofnode.com with the subject “Data deletion request” and the account concerned, either the platform account or the email address you registered with. This is also the route for deleting your whole account, for deleting metric history that survived a disconnect, and for deleting stored assistant conversations or AI drafts. We will confirm once the data has been deleted.

This section is the data deletion instructions page for our platform integrations.

17. Cookies and local storage

The app uses only technically necessary cookies and browser storage. There are no advertising or tracking cookies, no third-party analytics and no tag manager in this application, which is why it shows no cookie banner. Nothing below is used to profile you or to follow you to another site.

What is actually set, and why:

  • Sign-in session (cookie, better-auth.session_token, sent as __Secure--prefixed over HTTPS): keeps you signed in. Set by our authentication library, not readable by JavaScript, and cleared when you sign out.
  • Active workspace (cookie, active_artist): which of the workspaces you belong to is currently open, so the server can render the right one. Not readable by JavaScript.
  • Sidebar layout (cookie, nav_prefs, up to one year): whether the navigation is expanded or collapsed. It is a cookie rather than browser storage for one reason: the server needs it to render the sidebar in the right state on the first paint, and it cannot read browser storage.
  • Unfinished onboarding (cookie, onboarding_draft): holds what you have typed into the setup flow so a reload does not lose it, and is deleted when the flow finishes.
  • Trusted device (cookie, better-auth.trust_device, 30 days): set only if you tick “Trust this device” during two-step verification, so that device can skip the code for 30 days. Never set otherwise.
  • Connect-flow security tokens (cookies, meta_oauth_nonce, youtube_oauth_nonce, tiktok_oauth_nonce, 10 minutes): set only at the moment you start connecting a platform, so that the answer coming back can be proven to belong to the request you made. Deleted as soon as you return.
  • Theme (local storage, theme): your light/dark choice.
  • Assistant panel size (local storage, mp-chat-size): the width and height you dragged the assistant panel to. Only the size is kept; whether the panel was open is deliberately not, so it never reopens itself.

Session storage is not used at all. The map on tour pages and the video thumbnails in a press kit are loaded from third parties (Section 2), which means those providers see the request, but they are not given a cookie by us.

18. Security incidents

If we become aware of a personal data breach affecting your data, we will notify you without undue delay at the email address on your account and tell you what happened, what is affected, and what we are doing about it. Where required by Art. 33 GDPR, we will also notify the competent supervisory authority.

The same commitment is §9 of our Terms of Use, deliberately in the same words: one promise, stated twice, so neither document can be read as the weaker one.

19. Children

Back of Node is not intended for children. You must be at least 16 years old to use it. We do not knowingly collect data from anyone under 16; if you believe a child has provided us data, please contact us and we will delete it.

20. Changes to this policy

We may update this policy as the service evolves or as legal requirements change. When we do, we will update the “Last updated” date at the top. Significant changes will be communicated through the app.

21. Contact

For any privacy question or to exercise your rights, contact:

Anne Sophie T. M. Guenster
hello@backofnode.com
Frankenweg 46, 61381 Friedrichsdorf, Germany