Before we dive into team authorization, a quick word about faynoSync.
It’s a dynamic update server that lets developers and teams manage app distribution, updates, platforms, architectures, and release channels — all in one place.
When your project starts growing, you’re no longer the only one deploying, testing, or publishing applications. Suddenly, you need to answer questions like:
-
Who can upload builds?
-
Who can edit applications?
-
How do I keep different teams isolated?
This is where faynoSync’s Team-Based Authorization comes into play. It provides a structured way to manage access across multiple users while keeping resources secure and isolated.
🔑 Key Concepts
Administrator
-
Manages their own team.
-
Can create, update, delete team users.
-
Full control over passwords and permissions.
-
Access limited to their team’s resources.
Team User
-
Belongs to a single administrator.
-
Cannot manage other users.
-
Works only with resources explicitly permitted.
-
Everything created belongs to their admin.
⚙️ Resource Permissions
Permissions are defined per resource type:
-
Applications
-
Channels
-
Platforms
-
Architectures
Available actions:
create
, edit
, delete
, upload
(apps only), download
(apps only).
🧩 Example: Managing Team Users via API
- Create a Team User
curl -X POST 'http://localhost:9000/user/create'
-H 'Authorization: Bearer '
-H 'Content-Type: application/json'
-d '{
"username": "teamuser1",
"password": "password123",
"permissions": {
"apps": {
"create": true,
"delete": false,
"edit": true,
"download": true,
"upload": false
}
// ... other permissions
}
}'
- Update Permissions
curl -X POST 'http://localhost:9000/user/update'
-H 'Authorization: Bearer '
-H 'Content-Type: application/json'
-d '{
"username": "teamuser1",
"password": "newpassword123",
"permissions": {
// ... updated permissions
}
}'
📊 Resource Isolation
-
Team users only see resources they’re allowed to use.
-
Each admin’s resources are completely isolated.
-
Admins can always see what their team creates.
-
Different teams can have resources with the same names.
🖥️ Using the Web Dashboard
For those who prefer UI over API, the faynoSync Dashboard makes team management straightforward.
Below you’ll also find a few screenshots to better visualize how these features look in action. 👇
-
Creating/removing team users.
-
Setting or auto-generating passwords.
-
Updating usernames and credentials.
- Assigning permissions with checkboxes.
Team users can log in to see their permissions and available resources at a glance.
✅ Conclusion
As your team scales, so does the need for granular access control.
faynoSync’s Team-Based Authorization helps you:
-
Keep teams isolated and secure.
-
Assign precise permissions for every resource.
-
Manage users both via API and Dashboard.
This way, you don’t just share your infrastructure — you control it.
How to Try faynoSync
Follow the Getting Started guide:
👉 https://faynosync.com/docs/getting-started
You can create your app using the REST API or the web dashboard:
⚡ API source code: https://github.com/ku9nov/faynoSync
📦 API Docs: https://faynosync.com/docs/api
🖥️ Dashboard UI: https://github.com/ku9nov/faynoSync-dashboard
🎬 Dashboard UI demo (video): https://faynosync.com/demo
Upload at least two versions of your application and check for updates with a simple request:
curl -X GET --location 'http://localhost:9000/checkVersion?app_name=appName&version=0.0.1&channel=stable&platform=linux&arch=amd64&owner=admin'
Or in Javascript:
import fetch from "node-fetch";
async function checkUpdate() {
const response = await fetch(
"http://localhost:9000/checkVersion?app_name=appName&version=0.0.1&channel=stable&platform=linux&arch=amd64&owner=admin"
);
const data = await response.json();
console.log(data);
}
checkUpdate();
This will return information about the latest version, available updates, and changelogs for your app.
If you try faynoSync, I’d love to hear your feedback — open an issue, suggest a feature, or star the project on GitHub. Your support keeps it alive and growing 💚