Account, Pod, and App-Profile Management for the Decentralised Web
MyPod is an app-independent tool for managing your Solid account. The Community Solid Server (CSS) supports API calls to manage your account, and MyPod wraps those calls in a familiar Solid app experience so you can create accounts, provision Pods, change passwords, and curate your app profiles without leaving the app. Your Pod sits in a personal Data Vault on a Solid server in the cloud, where you stay in control of your data.
- Create a new account on a Solid server with a named Pod
- Change the password of your Solid account on the server
- List all of the domains hosted on that Solid server
- Edit each app profile, display name, visibility, and avatar
- Delete your account from the Solid server (not currently supported on CSS)
MyPod gives you a focused, app-independent place to administer your Solid account. Rather than browsing files, MyPod talks to the Community Solid Server (CSS) account management API directly so you can register new accounts, change passwords, and review which apps are hosted on your Pod. The app is multi-platform so you can install it for your desktop or mobile device, or run it directly through a web browser, all managing the same account on your Solid server.
MyPod also serves as a reference template for any SolidUI-based Flutter
app — wrapping the SolidUI account, password, and profile dialogs with
a typical SolidScaffold setup that you can adapt for your own
project.
The typical workflow is:
- Sign in to your Solid Pod using the SolidLogin screen on first launch. You can also tap Register on the login screen to create an account before you have one.
- Open the Account screen to create a new account with a named Pod, change your password, or review account deletion.
- Open the Domains screen to list every app hosted on your Pod and to curate the profile that those apps share.
- Tap your avatar in the top-right at any time to open the same profile editor directly.
A left-hand navigation rail (or collapsible drawer on narrow screens) gives you:
Welcome page with a quick feature overview and pointers to the account-management views. Tap the home icon at any time to return here.
Administer your Solid account against the Community Solid Server account management API:
- Create a new account with a named POD — enter a server URL, an email address, a password, and a POD name to register a brand-new account and provision a POD for it. Works on Community Solid Server v7 or later.
- Change your account password — update the password of the account you are logged in to. You confirm the change with your email and current password.
- Delete your account — a placeholder for account removal. The Community Solid Server does not currently expose an account-deletion endpoint, so MyPod surfaces a disabled action with an explanatory message reserved for a future server release.
Every app that stores data on your POD appears as a folder under your POD root, so the Domains screen lists those folders as the "domains" hosted on the server. From here you can open the shared profile editor for each app to curate the display name, public/private visibility, and avatar.
The profile editor — reachable from each row on the Domains screen and from the avatar menu in the top-right of the app — lets you:
- Set a display name for your profile.
- Toggle visibility between private (encrypted, owner-only) and public (publicly readable linked data).
- Upload or delete an avatar image, with cropping support.
The operations are identical wherever the editor is launched from, so the experience matches the rest of the Solid app family.
Some data on your POD is encrypted for privacy. MyPod manages the security key needed to read and write encrypted data through the standard SolidPod flow. The status bar at the bottom of the window shows your current security-key state — if a key is required, tap the indicator to enter your password and the app will unlock the relevant data automatically.
A theme toggle in the app bar lets you switch between light, dark, and system modes. The choice is remembered across sessions.
Tap the info (ℹ) button in the top app bar at any time to see a brief about-the-app dialog with the version number, key features, and links to the GitHub repository and the Australian Solid Community.
MyPod authenticates to your POD when you start the app. Account operations are sent directly to your Solid server's account management API, which is independent of the app's OIDC login session. Profile data lives in your POD in the standard folder structure maintained by the POD server, and any encrypted data is handled through the SolidPod security-key flow shown in the status bar.
MyPod authenticates with Solid-OIDC, which requires a public client
identifier document plus a web redirect handler. Following the
same convention as the
solidpod example,
these are hosted on GitHub Pages rather than on any one Solid
server, so they are publicly reachable by every login server. The two
files live in the Flutter web/ folder, so flutter build web
publishes them automatically:
web/
├── client-profile.jsonld → https://anusii.github.io/mypod/client-profile.jsonld
└── redirect.html → https://anusii.github.io/mypod/redirect.htmlDeploy the web build (build/web) to GitHub Pages at
https://anusii.github.io/mypod/, after which both files are served at
the URLs shown above.
Two rules keep login working:
- The document's
client_idfield must equal its own public URL. - The redirect MyPod sends at runtime must be listed in the
document's
redirect_uris.pickRedirectUri(from solidpod) sends the firsthttps://entry on web, thecom.togaware.mypod://custom scheme on Android/iOS/macOS, and thehttp://localhost:4400loopback on Windows/Linux.
The app is configured in lib/constants/app.dart. None of these values
name a particular POD server — the user chooses their Solid server at
login time:
clientIdpoints at the GitHub Pages document. A login server fetches it over the web, so it works when signing in to any Solid server the user enters.redirectUris/postLogoutRedirectUrislist the GitHub Pagesredirect.htmlas the firsthttps://entry; because the web build is served from the same GitHub Pages origin, the redirect is same-origin as required by the BroadcastChannel handshake. The other entries are the custom scheme and the loopback callback.
The Android custom scheme is registered through the
appAuthRedirectScheme manifest placeholder in
android/app/build.gradle.kts. iOS and macOS need no extra
registration (the oidc package uses ASWebAuthenticationSession),
and Windows/Linux use a loopback callback.
Verify the deployed document with:
curl https://anusii.github.io/mypod/client-profile.jsonldAccount creation says it is not supported. Creating accounts and changing passwords requires a Community Solid Server running v7 or later (for example solidcommunity.au). Other servers do not expose the account management API.
The Domains list is empty after login. A brand-new POD may not yet contain any app folders. Sign in with an app such as FilePod first, or tap the refresh action to fetch the latest listing from your POD.
Changing my password fails. You must be logged in, and you must supply the email address and current password registered with the server account. Double-check these and try again.
- Graham Williams
- Tony Chen
For more information about Solid and PODs, visit solidproject.org.
GNU General Public License v3. See LICENSE or
https://opensource.org/license/gpl-3-0.
Copyright (C) 2026, Software Innovation Institute, ANU.