Skip to main content

2 posts tagged with "Security"

Security documentation for FaynoSync

View All Tags

Team-Based Authorization in faynoSync โ€” Manage Your Team Like a Pro

ยท 4 min read

Managing a team of developers? Need to control who can do what in your faynoSync instance? Starting from version 1.4.0, faynoSync introduces a powerful Team Based Authorization Matrix that gives you complete control over your team's access and permissions.


What is Team-Based Authorization? ๐Ÿค”โ€‹

Think of it as your team's digital headquarters! The Team Based Authorization Matrix is a sophisticated system that lets you:

  • ๐Ÿ‘จโ€๐Ÿ’ผ Create and manage team users
  • ๐Ÿ” Assign specific permissions
  • ๐Ÿข Keep data isolated between different teams
  • ๐Ÿ“Š Track who can do what

Meet the Players ๐ŸŽญโ€‹

The Administrator ๐Ÿ‘‘โ€‹

  • You're the boss! Each admin is unique
  • You own your team of users
  • You can create, update, and delete your team members
  • You have full control over passwords and permissions
  • You can only access your own team's resources

The Team User ๐Ÿ‘คโ€‹

  • A unique member of your team
  • Belongs only to you (their admin)
  • Can't manage other users
  • Can only work with resources you've allowed
  • Everything they create belongs to you

What Can Your Team Do? ๐Ÿ› ๏ธโ€‹

Each team member can have different permissions for different types of resources:

Resource Types:โ€‹

  • ๐Ÿ“ฑ Applications
  • ๐Ÿ“Š Channels
  • ๐Ÿ’ป Platforms
  • ๐Ÿ—๏ธ Architectures

Available Permissions:โ€‹

  • โž• Create
  • โœ๏ธ Edit
  • ๐Ÿ—‘๏ธ Delete
  • โฌ†๏ธ Upload (for apps)
  • โฌ‡๏ธ Download (for apps)

Smart Resource Management ๐Ÿง โ€‹

  • ๐Ÿ”’ Team users can only see and use resources they've been given access to
  • ๐Ÿข Each admin's resources are completely separate
  • ๐Ÿ‘€ You (as admin) can see everything your team creates
  • ๐Ÿ“ Different teams can have resources with the same names

How to Manage Your Team? ๐ŸŽฏโ€‹

Option 1: Using the APIโ€‹

Creating a Team Userโ€‹

curl -X POST 'http://localhost:9000/user/create' \
-H 'Authorization: Bearer <jwt_token>' \
-H 'Content-Type: application/json' \
-d '{
"username": "teamuser1",
"password": "password123",
"permissions": {
"apps": {
"create": true,
"delete": false,
"edit": true,
"download": true,
"upload": false
}
// ... other permissions
}
}'

Updating Permissionsโ€‹

curl -X POST 'http://localhost:9000/user/update' \
-H 'Authorization: Bearer <jwt_token>' \
-H 'Content-Type: application/json' \
-d '{
"username": "teamuser1",
"password": "newpassword123",
"permissions": {
// ... updated permissions
}
}'

Option 2: Using the Web Dashboard ๐Ÿ–ฅ๏ธโ€‹

Prefer a more visual approach? The faynoSync dashboard makes team management a breeze!

For Administrators:โ€‹

  1. Click the Settings button in the dashboard
  2. A modal window will open where you can:
    • ๐Ÿ‘ฅ Create new team users
    • ๐Ÿ”‘ Set passwords (or auto-generate them)
    • โœ… Assign permissions with simple checkboxes
    • โœ๏ธ Update usernames and passwords
    • ๐Ÿ—‘๏ธ Remove team users

For Team Users:โ€‹

  1. Go to your Profile section
  2. View your current permissions at a glance:
    • ๐Ÿ“ฑ Which applications you can access
    • ๐Ÿ“Š What actions you can perform
    • ๐Ÿ”’ What resources are available to you

This visual interface makes it much easier to:

  • ๐ŸŽฏ Understand your permissions
  • ๐Ÿ”„ Manage team access
  • ๐Ÿ“Š Track resource availability
  • โšก Make quick changes

What's Next? ๐Ÿš€โ€‹

In our next posts, we'll explore:

  • Local development and deployment to server
  • How to properly use Fetch latest version of app request

Stay tuned for more faynoSync tips and tricks! ๐Ÿ’š


How to try faynoSync?โ€‹

  1. Follow the Getting Started guide:
    ๐Ÿ‘‰ https://ku9nov.github.io/faynoSync-site/docs/category/getting-started

  2. Create your app using the REST API or web dashboard:
    ๐Ÿ“ฆ API Docs: https://ku9nov.github.io/faynoSync-site/docs/api
    ๐Ÿ–ฅ๏ธ Dashboard UI: https://github.com/ku9nov/faynoSync-dashboard

  3. Upload at least two versions of your application.

  4. Check for updates with this simple request:
    ๐Ÿ“ก /info/latest


If you find this project helpful, please consider subscribing, leaving a comment, or giving it a star, create Issue or feature request on GitHub.
Your support keeps the project alive and growing ๐Ÿ’š


Private Apps in faynoSync โ€” Keep Your Software Secure

ยท 3 min read

When developing software, sometimes you need to keep things private. Whether it's internal tools, beta versions, or enterprise applications โ€” not everything should be publicly accessible. That's why faynoSync comes with built-in support for private applications.


What are Private Apps? ๐Ÿค”โ€‹

Private apps in faynoSync are applications that are stored in a separate, private S3 bucket. This gives you an extra layer of security and control over who can access your software.

Once an app is marked as private, it stays private forever โ€” this is a one-way decision to ensure consistency and security.


How to Create a Private App? ๐Ÿ› ๏ธโ€‹

There are two ways to create a private app:

1. Using the Web Dashboard ๐Ÿ–ฅ๏ธโ€‹

Simply check the "Private" option when creating your app through the dashboard interface. It's that simple!

2. Using the API ๐Ÿ“กโ€‹

When making a POST request to /app/create, include the private parameter:

curl --location 'http://localhost:9000/app/create' \
--header 'Authorization: Bearer <jwt_token>' \
--form 'data="{\"app\":\"appName\", \"private\": true}"'

How Private Apps Work? ๐Ÿ”โ€‹

  1. Storage: Private apps are stored in a separate S3 bucket (defined by S3_BUCKET_NAME in your environment)
  2. Access Control: You can control who can download your private apps through the ENABLE_PRIVATE_APP_DOWNLOADING setting:
    • If true: Anyone can download the app using the public API endpoints
    • If false: Only authenticated users can download the app

Security Features ๐Ÿ›ก๏ธโ€‹

Think of private apps in faynoSync as your software's VIP section! Here's what makes them special:

  • ๐Ÿ”’ Separate Storage: Your private apps live in their own secure S3 bucket, like having a private vault for your most valuable assets
  • ๐Ÿ” One-Way Privacy: Once you mark an app as private, it stays private forever. This might sound strict, but it's actually a good thing โ€” it ensures your security settings can't be accidentally changed
  • ๐Ÿ‘ฅ Smart Access Control: You're in charge! You can decide whether your private apps need authentication to download, giving you perfect control over who gets access
  • ๐Ÿšซ Download Protection: Want to make sure only your team can download the app? Just set ENABLE_PRIVATE_APP_DOWNLOADING=false, and only authenticated users will be able to access it

Best Practices ๐Ÿ’กโ€‹

  1. Use private apps for:

    • Internal tools and utilities
    • Beta versions of your software
    • Enterprise-specific applications
    • Software requiring license validation
  2. Set ENABLE_PRIVATE_APP_DOWNLOADING=false when you need strict access control

  3. Always use authentication tokens when accessing private apps in restricted mode


What's Next? ๐Ÿš€โ€‹

In our next posts, we'll explore:

  • Local development and deployment to server
  • Managing user access and permissions
  • How to properly use Fetch latest version of app request

Stay tuned for more faynoSync tips and tricks! ๐Ÿ’š


How to try faynoSync?โ€‹

  1. Follow the Getting Started guide:
    ๐Ÿ‘‰ https://ku9nov.github.io/faynoSync-site/docs/category/getting-started

  2. Create your app using the REST API or web dashboard:
    ๐Ÿ“ฆ API Docs: https://ku9nov.github.io/faynoSync-site/docs/api
    ๐Ÿ–ฅ๏ธ Dashboard UI: https://github.com/ku9nov/faynoSync-dashboard

  3. Upload at least two versions of your application.

  4. Check for updates with this simple request:
    ๐Ÿ“ก /info/latest


If you find this project helpful, please consider subscribing, leaving a comment, or giving it a star, create Issue or feature request on GitHub.
Your support keeps the project alive and growing ๐Ÿ’š