From e6fe0928c6dc39dcc33e35c5fecbc0405c20d857 Mon Sep 17 00:00:00 2001 From: Fredrik Ahlgren Date: Mon, 12 Oct 2026 18:41:01 +0200 Subject: [PATCH 1/2] Add privacy and support pages for the FTW iPhone app /privacy and /support in English, /sv/privacy and /sv/support in Swedish. The App Store needs both addresses. The privacy text matches the app as it is: data stays on the box and the phone, the relay sees only encrypted traffic and says what it does see, passkeys stay in the user's password manager, and there is no analytics or tracking. FTW Cloud is named as a later, separate choice that will change the page. Co-Authored-By: Claude Opus 5.5 --- index.html | 2 +- privacy.html | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ sourceful.css | 15 +++++++ support.html | 93 ++++++++++++++++++++++++++++++++++++++++++++ sv/privacy.html | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ sv/support.html | 93 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 404 insertions(+), 1 deletion(-) create mode 100644 privacy.html create mode 100644 support.html create mode 100644 sv/privacy.html create mode 100644 sv/support.html diff --git a/index.html b/index.html index c3a5564..24d1cb3 100644 --- a/index.html +++ b/index.html @@ -330,7 +330,7 @@

Energy infrastructure you can own.

diff --git a/privacy.html b/privacy.html new file mode 100644 index 0000000..f0dbce7 --- /dev/null +++ b/privacy.html @@ -0,0 +1,101 @@ + + + + + + Privacy | FTW app + + + + + + + + + + + + + + +
+
+

FTW app for iPhone

+

Privacy

+

Updated 12 October 2026

+ +

Your energy data stays on your FTW box and your phone. The relay that connects them carries only encrypted traffic it cannot read. The app has no analytics and no tracking.

+ +

This page covers the FTW app for iPhone and the relay it uses. Sourceful Labs AB, Sweden, makes the app and runs the relay. The FTW box is software you run yourself; its documentation describes what it sends.

+ +

What stays on your box

+

Your box reads your meters, solar, battery and charger, keeps the history and makes the plan. That record stays on the box. The app asks the box for what it shows and sends the box what you choose, such as a charging goal.

+ +

What the app keeps on your phone

+
    +
  • The keys that let this phone talk to your box, in the iPhone keychain. They stay on this phone and are not backed up to iCloud.
  • +
  • The last readings, prices and car level, so the app can show your home before it reconnects. Each one keeps the time it was read.
  • +
  • A copy of the prices and car level that the widgets read. Widgets read nothing else.
  • +
+

Delete the app to remove what it keeps. The box owner can also withdraw a phone's access from the box.

+ +

Passkeys

+

When you pair, the app creates a passkey for app.ftw.energy in your password manager, for example iCloud Keychain. The passkey guards a copy of the key this phone uses with your box. Your password manager keeps the passkey; Sourceful never receives it. The app sends no copy of your keys to Sourceful.

+ +

The relay

+

The app reaches your box through Sourceful's relay at relay.ftw.energy, which runs in Frankfurt, Germany, on Amazon Web Services. The app and the box encrypt everything end to end (Noise protocol) before it leaves them. The relay has no key and cannot read what it carries.

+

To carry a connection the relay sees:

+
    +
  • your phone's IP address, while it is connected;
  • +
  • a meeting code that changes every hour and that only your box and phone can work out;
  • +
  • when you connect, for how long, and the size and timing of encrypted messages.
  • +
+

The relay keeps none of the traffic. Its access log holds counts, not addresses or codes. If the relay fails to pass on a connection, its error log may record the address and code; that log replaces itself and stays small. We use what the relay sees only to carry your connection, which you ask for when you use the app.

+ +

No analytics, no tracking, no ads

+

The app contains no analytics, no advertising and no code from third parties. It does not track you across apps or websites. It talks to the relay and nothing else.

+

The camera reads the pairing code from your box and nothing else. A picture you pick to read a pairing code stays on your phone.

+ +

Apple

+

Apple runs the App Store and TestFlight under its own privacy policy. If you share analytics with app developers in your iPhone settings, Apple sends us crash reports and usage numbers that do not name you. If you test through TestFlight, Apple shares your name, email address, crash reports and any feedback you send with us.

+ +

FTW Cloud, later

+

FTW Cloud will be a separate service that you can choose to turn on. It will hold a readable copy of the data you allow, so that it can, for example, send notifications. It is not part of the app today. It will stay off unless you turn it on, and we will update this page before it ships.

+ +

Your rights

+

Sourceful Labs AB (reg. no. 559382-0458), Kalmar, Sweden, is responsible for the data the relay sees. Under the GDPR you can ask what we hold about you, have it corrected or deleted, and object to how we use it. In practice the relay holds nothing that names you. To ask, email support@sourceful.energy or use Sourceful's contact page. You can also complain to the Swedish Authority for Privacy Protection (IMY).

+

The app is not aimed at children.

+ +

Changes

+

When the app changes what it does with data, we change this page first and update the date at the top. The history of this page is public on GitHub.

+
+
+ + + + + diff --git a/sourceful.css b/sourceful.css index 0cfc10a..0781099 100644 --- a/sourceful.css +++ b/sourceful.css @@ -301,3 +301,18 @@ footer { padding: 62px 0 26px; background: var(--ink); color: var(--cream); } } html { scroll-padding-top: 84px; } + +/* Text pages: app privacy and support. */ +.doc { padding: 72px 0 104px; } +.doc .wrap { max-width: 760px; } +.doc h1 { margin-bottom: 14px; font-size: clamp(2.6rem, 7vw, 4.2rem); line-height: 1; } +.doc h2 { margin: 52px 0 14px; font-size: 24px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; } +.doc a { color: var(--ink); text-decoration-color: var(--signal); text-underline-offset: 3px; } +.doc ul, .doc ol { padding-left: 22px; } +.doc li + li { margin-top: 8px; } +.doc .updated { margin-bottom: 32px; color: var(--muted); font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; } +.doc-lede { color: var(--ink); font-size: 20px; line-height: 1.45; } +.doc-terms { margin: 0; border-top: 1px solid var(--line); } +.doc-terms div { padding: 14px 0; border-bottom: 1px solid var(--line); } +.doc-terms dt { color: var(--ink); font-weight: 700; } +.doc-terms dd { margin: 4px 0 0; } diff --git a/support.html b/support.html new file mode 100644 index 0000000..dd218dc --- /dev/null +++ b/support.html @@ -0,0 +1,93 @@ + + + + + + App support | FTW app + + + + + + + + + + + + + + +
+
+

FTW app for iPhone

+

App support

+ +

The FTW app shows the FTW box in your home and lets you steer the car's charging. Here is how to set it up, what its messages mean and how to reach us.

+ +

What you need

+
    +
  • An iPhone with iOS 26 or later.
  • +
  • An FTW box at home with the FTW app turned on in its settings. Install and update FTW explains how to set up a box.
  • +
+

No box yet? On the app's first screen, tap Try the live demo. It runs a simulated home inside the app and saves nothing.

+ +

Pair your phone

+
    +
  1. Open your box's local FTW dashboard while you are on your home network.
  2. +
  3. Go to Settings → FTW app.
  4. +
  5. Choose Show pairing code, then scan the QR code with the FTW app or the iPhone camera.
  6. +
  7. Confirm with Face ID or Touch ID if your phone asks. This creates a passkey for app.ftw.energy.
  8. +
+ +

What the app's messages mean

+
+
Can't reach your box
The box is off or offline, or your phone has no connection. The app keeps trying by itself; there is no reconnect button. Until then it shows the last readings with their age.
+
FTW is busy
Up to four phones or browsers can show one home at a time. Close FTW on another device, then try again.
+
A reading with a time or age next to it
Every reading shows how old it is. Grey, dated values come from your phone while the app reconnects.
+
Open FTW to see prices
The price widgets show what the app last read from your box. Open the app while it can reach the box, and the widgets catch up.
+
Access ended
The box's owner has withdrawn this phone's access. Ask them for a new pairing code.
+
+ +

Get help

+ +

Help from the community and maintainers is best effort, as the FTW support policy describes. Never post a pairing code, a picture of the pairing QR or a key in a public channel.

+ +

Who makes the app

+

Sourceful Labs AB (reg. no. 559382-0458), Kalmar, Sweden. Contact Sourceful.

+

Read how the app handles your data in Privacy.

+
+
+ + + + + diff --git a/sv/privacy.html b/sv/privacy.html new file mode 100644 index 0000000..70768b5 --- /dev/null +++ b/sv/privacy.html @@ -0,0 +1,101 @@ + + + + + + Integritet | FTW-appen + + + + + + + + + + + + + + +
+
+

FTW-appen för iPhone

+

Integritet

+

Uppdaterad 12 oktober 2026

+ +

Dina energidata stannar i din FTW-box och din telefon. Reläet som kopplar ihop dem bär bara krypterad trafik som det inte kan läsa. Appen har ingen analys och ingen spårning.

+ +

Den här sidan gäller FTW-appen för iPhone och reläet den använder. Sourceful Labs AB i Sverige gör appen och driver reläet. FTW-boxen är programvara som du kör själv. Vad den skickar står i dess dokumentation.

+ +

Det som stannar i boxen

+

Boxen läser av elmätare, solceller, batteri och laddare, sparar historiken och gör planen. Allt det stannar i boxen. Appen frågar boxen efter det den visar och skickar det du väljer till boxen, till exempel ett laddmål.

+ +

Det appen sparar i telefonen

+
    +
  • Nycklarna som låter telefonen prata med boxen, i iPhones nyckelring. De stannar i telefonen och säkerhetskopieras inte till iCloud.
  • +
  • De senaste värdena, priserna och bilens nivå, så att appen kan visa hemmet innan den har anslutit igen. Varje värde behåller tiden då det lästes.
  • +
  • En kopia av priserna och bilens nivå som widgetarna läser. Widgetarna läser inget annat.
  • +
+

Radera appen för att ta bort det den sparar. Den som äger boxen kan också dra in en telefons åtkomst från boxen.

+ +

Lösenordsnycklar

+

När du parkopplar skapar appen en lösenordsnyckel för app.ftw.energy i din lösenordshanterare, till exempel iCloud-nyckelringen. Lösenordsnyckeln skyddar en kopia av nyckeln som telefonen använder mot boxen. Lösenordshanteraren behåller lösenordsnyckeln, och Sourceful får den aldrig. Appen skickar ingen kopia av dina nycklar till Sourceful.

+ +

Reläet

+

Appen når boxen genom Sourcefuls relä på relay.ftw.energy, som körs i Frankfurt i Tyskland hos Amazon Web Services. Appen och boxen krypterar allt från ände till ände (Noise-protokollet) innan det lämnar dem. Reläet har ingen nyckel och kan inte läsa det som går igenom.

+

För att bära en anslutning ser reläet:

+
    +
  • telefonens IP-adress, medan den är ansluten;
  • +
  • en möteskod som byts varje timme och som bara boxen och telefonen kan räkna fram;
  • +
  • när du ansluter, hur länge, och storlek och tidpunkt för krypterade meddelanden.
  • +
+

Reläet sparar ingen trafik. Dess åtkomstlogg innehåller antal, inte adresser eller koder. Om reläet inte lyckas föra vidare en anslutning kan felloggen skriva ner adressen och koden. Den loggen skriver över sig själv och förblir liten. Vi använder det reläet ser bara för att bära din anslutning, som du ber om när du använder appen.

+ +

Ingen analys, ingen spårning, ingen reklam

+

Appen innehåller ingen analys, ingen reklam och ingen kod från tredje part. Den spårar dig inte mellan appar eller webbplatser. Den pratar med reläet och inget annat.

+

Kameran läser parkopplingskoden från boxen och inget annat. En bild du väljer för att läsa en parkopplingskod stannar i telefonen.

+ +

Apple

+

Apple driver App Store och TestFlight enligt sin egen integritetspolicy. Om du delar analysdata med apputvecklare i iPhones inställningar skickar Apple oss kraschrapporter och användningssiffror som inte pekar ut dig. Om du testar via TestFlight delar Apple ditt namn, din e-postadress, kraschrapporter och den feedback du skickar med oss.

+ +

FTW Cloud, senare

+

FTW Cloud blir en separat tjänst som du kan välja att slå på. Den kommer att ha en läsbar kopia av de data du tillåter, för att till exempel kunna skicka aviseringar. Den är inte en del av appen i dag. Den är avstängd om du inte slår på den, och vi uppdaterar den här sidan innan den lanseras.

+ +

Dina rättigheter

+

Sourceful Labs AB (org.nr 559382-0458), Kalmar, är personuppgiftsansvarig för det reläet ser. Enligt GDPR kan du fråga vad vi har om dig, få det rättat eller raderat och invända mot hur vi använder det. I praktiken har reläet inget som pekar ut dig. Mejla support@sourceful.energy eller använd Sourcefuls kontaktsida. Du kan också klaga hos Integritetsskyddsmyndigheten (IMY).

+

Appen riktar sig inte till barn.

+ +

Ändringar

+

När appen ändrar vad den gör med data ändrar vi först den här sidan och datumet högst upp. Sidans historik finns öppet på GitHub.

+
+
+ + + + + diff --git a/sv/support.html b/sv/support.html new file mode 100644 index 0000000..a7c1648 --- /dev/null +++ b/sv/support.html @@ -0,0 +1,93 @@ + + + + + + Support för appen | FTW-appen + + + + + + + + + + + + + + +
+
+

FTW-appen för iPhone

+

Support för appen

+ +

FTW-appen visar FTW-boxen i ditt hem och låter dig styra bilens laddning. Här står hur du kommer i gång, vad appens meddelanden betyder och hur du når oss.

+ +

Det här behöver du

+
    +
  • En iPhone med iOS 26 eller senare.
  • +
  • En FTW-box hemma med FTW-appen påslagen i boxens inställningar. Installera och uppdatera FTW beskriver hur du sätter upp en box.
  • +
+

Ingen box än? Tryck på Try the live demo på appens första skärm. Den kör ett simulerat hem i appen och sparar ingenting.

+ +

Parkoppla telefonen

+
    +
  1. Öppna boxens lokala FTW-panel medan du är på hemmanätverket.
  2. +
  3. Gå till Settings → FTW app.
  4. +
  5. Välj Show pairing code och skanna QR-koden med FTW-appen eller iPhones kamera.
  6. +
  7. Bekräfta med Face ID eller Touch ID om telefonen frågar. Då skapas en lösenordsnyckel för app.ftw.energy.
  8. +
+ +

Vad appens meddelanden betyder

+
+
Når inte din box
Boxen är avstängd eller saknar internet, eller så har telefonen ingen anslutning. Appen fortsätter försöka av sig själv, och det finns ingen knapp för att ansluta igen. Under tiden visar den de senaste värdena och hur gamla de är.
+
FTW är upptaget
Högst fyra telefoner eller webbläsare kan visa samma hem samtidigt. Stäng FTW på en annan enhet och försök igen.
+
Ett värde med en tid eller ålder bredvid
Varje värde visar hur gammalt det är. Grå värden med tid kommer från telefonen medan appen ansluter igen.
+
Öppna FTW för att se priser
Priswidgetarna visar det appen senast läste från boxen. Öppna appen när den når boxen, så kommer widgetarna i kapp.
+
Åtkomsten är avslutad
Den som äger boxen har dragit in telefonens åtkomst. Be om en ny parkopplingskod.
+
+ +

Få hjälp

+ +

Hjälp från användare och utvecklare ges när de kan, som FTW:s supportpolicy beskriver. Lägg aldrig ut en parkopplingskod, en bild av parkopplings-QR:en eller en nyckel i en öppen kanal.

+ +

Vem som gör appen

+

Sourceful Labs AB (org.nr 559382-0458), Kalmar. Kontakta Sourceful.

+

Läs hur appen hanterar dina data under Integritet.

+
+
+ + + + + From 5b4e38ba54fc8240380bc1f8d92d2f3f4527974f Mon Sep 17 00:00:00 2001 From: Fredrik Ahlgren Date: Mon, 12 Oct 2026 18:53:17 +0200 Subject: [PATCH 2/2] Drop the picture sentence from the privacy pages Only the simulator offers a picture of the QR; a phone scans with the camera. Co-Authored-By: Claude Opus 5.5 --- privacy.html | 2 +- sv/privacy.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/privacy.html b/privacy.html index f0dbce7..e36c3d6 100644 --- a/privacy.html +++ b/privacy.html @@ -76,7 +76,7 @@

The relay

No analytics, no tracking, no ads

The app contains no analytics, no advertising and no code from third parties. It does not track you across apps or websites. It talks to the relay and nothing else.

-

The camera reads the pairing code from your box and nothing else. A picture you pick to read a pairing code stays on your phone.

+

The camera reads the pairing code from your box and nothing else.

Apple

Apple runs the App Store and TestFlight under its own privacy policy. If you share analytics with app developers in your iPhone settings, Apple sends us crash reports and usage numbers that do not name you. If you test through TestFlight, Apple shares your name, email address, crash reports and any feedback you send with us.

diff --git a/sv/privacy.html b/sv/privacy.html index 70768b5..eee57c8 100644 --- a/sv/privacy.html +++ b/sv/privacy.html @@ -76,7 +76,7 @@

Reläet

Ingen analys, ingen spårning, ingen reklam

Appen innehåller ingen analys, ingen reklam och ingen kod från tredje part. Den spårar dig inte mellan appar eller webbplatser. Den pratar med reläet och inget annat.

-

Kameran läser parkopplingskoden från boxen och inget annat. En bild du väljer för att läsa en parkopplingskod stannar i telefonen.

+

Kameran läser parkopplingskoden från boxen och inget annat.

Apple

Apple driver App Store och TestFlight enligt sin egen integritetspolicy. Om du delar analysdata med apputvecklare i iPhones inställningar skickar Apple oss kraschrapporter och användningssiffror som inte pekar ut dig. Om du testar via TestFlight delar Apple ditt namn, din e-postadress, kraschrapporter och den feedback du skickar med oss.