{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/IR7CoftMffjguFoElKR7/2n3hK4wK94y1cfzM4iii/POSXR84uh-4.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{Link as n}from\"framer\";import{motion as i}from\"framer-motion\";import*as o from\"react\";export const richText=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Rownd's JavaScript and HTML hookss are powerful tools that developers can use to enhance user authentication processes on their websites. This blog post explores how these SDKs can be leveraged to improve both security and user experience.\"}),/*#__PURE__*/e(\"h4\",{children:\"Simplifying Authentication with Rownd's JavaScript SDK\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd's JavaScript SDK offers a comprehensive suite of functionalities that simplify the implementation of secure user authentication. By integrating this SDK, developers can enable a variety of authentication methods on their websites, including social logins and passwordless entries, which are becoming increasingly popular among users for their convenience.\"}),/*#__PURE__*/e(\"p\",{children:\"One of the key benefits of using the Rownd JavaScript SDK is its ability to handle complex authentication flows with ease. The SDK supports real-time authentication state management, which ensures that user sessions are maintained securely without interrupting the user experience. Additionally, it provides developers with easy access to user profiles and authentication tokens, enabling personalized user interactions and secure API calls.\"}),/*#__PURE__*/e(\"h4\",{children:\"Enhancing Website Functionality with Rownd's HTML Hooks\"}),/*#__PURE__*/e(\"p\",{children:\"For developers who prefer working directly with HTML, Rownd's HTML hooks provides a straightforward way to embed authentication features into web pages. The hooks simplifies the integration process by allowing developers to add login forms and authentication-related UI components directly into the HTML structure of their web pages.\"}),/*#__PURE__*/e(\"p\",{children:\"The HTML SDK is particularly useful for quickly setting up authentication on static sites or for developers less familiar with JavaScript. It offers customizable templates for login forms, registration pages, and user profile management, making it easy to maintain a consistent look and feel across the website while ensuring robust security practices.\"}),/*#__PURE__*/e(\"h4\",{children:\"Understanding HTML Hooks\"}),/*#__PURE__*/e(\"p\",{children:\"HTML Hooks are essentially snippets of HTML code combined with minimal JavaScript that trigger specific authentication functions provided by Rownd. These hooks are designed to be inserted directly into the HTML markup, facilitating various authentication actions like logging in, registering, or managing user profiles without the need for extensive JavaScript coding. This approach is particularly beneficial for developers looking to implement secure authentication with less overhead and without compromising on the website's performance.\"}),/*#__PURE__*/e(\"h4\",{children:\"Benefits of Using HTML Hooks\"}),/*#__PURE__*/e(\"p\",{children:\"The primary advantage of using HTML Hooks is their simplicity and efficiency. Developers can implement complex authentication processes with just a few lines of code, making the setup quick and reducing potential errors. Additionally, since the hooks are managed by Rownd, they automatically update and adjust to the latest security protocols, ensuring that the authentication methods remain robust against threats.\"}),/*#__PURE__*/e(\"h4\",{children:\"Practical Applications\"}),/*#__PURE__*/e(\"p\",{children:\"HTML Hooks can be used in a variety of web applications. For instance, e-commerce sites can use hooks for secure user logins and registrations, enhancing the customer experience by providing quick access to personalized accounts and secure checkout processes. Educational platforms can utilize hooks to manage access to courses and resources, ensuring that only registered users can view or download content.\"}),/*#__PURE__*/e(\"h4\",{children:\"Getting Started with Rownd HTML Hooks\"}),/*#__PURE__*/e(\"p\",{children:\"To integrate Rownd HTML Hooks, developers simply need to reference the Rownd library in their HTML's header and include the specific hooks where authentication functionality is needed. This process is straightforward and well-documented, with Rownd providing detailed instructions and examples to help developers through the setup.\"}),/*#__PURE__*/e(\"h4\",{children:\"Getting Started with Rownd\"}),/*#__PURE__*/e(\"p\",{children:\"Developers interested in implementing Rownd\u2019s JavaScript or HTML hooks can find detailed documentation and setup guides on the Rownd website. These resources provide step-by-step instructions and best practices to help developers integrate the SDKs efficiently and effectively.\"}),/*#__PURE__*/t(\"p\",{children:[\"Rownd's JavaScript and HTML hooks are essential tools for any developer looking to enhance web application security and user experience. By simplifying authentication processes and providing flexible integration options, Rownd helps businesses build trust with their users and adapt to the evolving digital landscape. For more information on integrating these SDKs into your web projects, visit \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/sdk-reference/web/javascript--api-reference\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Rownd's documentation for JavaScript\"})}),\" and \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/sdk-reference/web/html\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"HTML Hooks\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText1=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"The integration of iOS widgets with Rownd's authentication system is a significant advancement in mobile app functionality. Widgets, small app extensions that live on the home screen, are now able to securely communicate with the main app using Rownd, maintaining up-to-date user authentication states. This capability allows widgets to fetch and display personalized user data securely, enhancing functionality without compromising security.\"}),/*#__PURE__*/e(\"h4\",{children:\"Seamless User Experience\"}),/*#__PURE__*/e(\"p\",{children:\"Widgets can enhance user engagement by providing quick access to app functionalities directly from the home screen. With Rownd's secure authentication flow, these widgets can perform tasks like displaying personalized content or user-specific notifications, ensuring that the data remains secure and privdegif deate.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/AD7fd4ThOwTXKWQlWWDeQWW6u0.gif\"}),/*#__PURE__*/e(\"h4\",{children:\"How It Works\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd facilitates a smooth data flow between the main app and its widgets by constantly synchronizing the user's authentication state. This means any action taken via the widget is fully authenticated, mirroring the security and user experience of the main application. Developers can implement this by using Rownd's SDK to manage authentication tokens that are shared securely between the app and its widgets.\"}),/*#__PURE__*/e(\"h4\",{children:\"Expanding App Capabilities\"}),/*#__PURE__*/e(\"p\",{children:\"By utilizing Rownd with iOS widgets, developers can create more interactive and engaging apps. This integration not only drives user retention but also opens up new possibilities for app functionality, making everyday interactions quicker and more convenient.\"}),/*#__PURE__*/e(\"p\",{children:\"This approach empowers developers to design innovative, user-centric applications that leverage the power of iOS widgets while maintaining stringent security standards. For more information on integrating Rownd with iOS widgets, contact support (support@rownd.io). \"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText2=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the fast-paced world of mobile app development, security and ease of use are paramount. Rownd's newly released Flutter SDK brings a game-changing solution to developers looking to enhance user authentication without compromising on performance. This SDK provides a seamless interface for integrating Rownd's robust authentication systems into Flutter apps, ensuring a secure and efficient user experience.\"}),/*#__PURE__*/e(\"h4\",{children:\"What is Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://flutter.dev/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Flutter is an open-source UI software development kit \"})}),\"created by Google. It is used for building natively compiled applications for mobile, web, and desktop from a single codebase. Flutter allows developers to quickly and efficiently build beautiful, scalable applications due to its powerful framework and customizable widgets.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Why is Flutter Becoming Popular?\"}),/*#__PURE__*/t(\"p\",{children:[\"Flutter has been rapidly gaining popularity among developers because of its versatility and developer-friendly attributes. It supports hot reload, which helps in quickly experimenting, building UIs, adding features, and fixing bugs in milliseconds. The ability to develop for multiple platforms using a single codebase reduces development time and cost, making it a highly attractive option for startups and established companies alike.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"h4\",{children:\"Simplified Setup\"}),/*#__PURE__*/t(\"p\",{children:[\"Getting started with the Rownd Flutter SDK is straightforward. Developers can easily integrate the SDK into their Flutter projects by adding it as a dependency in the \",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"pubspec.yaml\"})}),\" file. Configuration is just as simple, requiring only an app key to connect the SDK with the app.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"h4\",{children:\"Enhanced User Authentication\"}),/*#__PURE__*/e(\"p\",{children:\"With the Rownd Flutter SDK, app developers can implement a variety of authentication methods, including traditional logins and modern passwordless options. The SDK is designed to handle user authentication status checks, sign-ins, sign-outs, and user profile management directly within the app.\"}),/*#__PURE__*/e(\"h4\",{children:\"Seamless User Experience\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s Flutter SDK focuses on enhancing the user experience by providing a smooth sign-in process. Developers can customize the authentication flow, including setting up post-sign-in redirects to improve the user journey within the app. This leads to increased user retention and satisfaction.\"}),/*#__PURE__*/t(\"p\",{children:[\"This SDK is an excellent choice for developers looking to streamline their mobile app\u2019s authentication process while maintaining high security standards. For more detailed information and to get started with the Rownd Flutter SDK, visit \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/sdk-reference/mobile/flutter\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Rownd's official documentation\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText3=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"As modern applications evolve, seamless and dynamic interactions between services are crucial. Rownd\u2019s Webhooks integration offers a powerful tool for developers looking to automate and enhance these interactions based on user data changes. Here\u2019s how you can leverage Rownd Webhooks to bring real-time updates to your application.\"}),/*#__PURE__*/e(\"h4\",{children:\"What are Webhooks?\"}),/*#__PURE__*/e(\"p\",{children:\"Webhooks are user-defined HTTP callbacks that are triggered by specific events in a system. When used with Rownd, they allow your application to react immediately to changes such as user updates, data creation, or deletions. This capability is crucial for maintaining a responsive and integrated system architecture.\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/hqkEI36D7kqlJZMNPiMjB8wczI.png\",srcSet:\"https://framerusercontent.com/images/hqkEI36D7kqlJZMNPiMjB8wczI.png?scale-down-to=512 512w,https://framerusercontent.com/images/hqkEI36D7kqlJZMNPiMjB8wczI.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/hqkEI36D7kqlJZMNPiMjB8wczI.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/hqkEI36D7kqlJZMNPiMjB8wczI.png 3232w\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h4\",{children:\"Setting Up Rownd Webhooks\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating Rownd Webhooks involves a few straightforward steps:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Configure through the Rownd Dashboard\"}),\": Easily set up your endpoints through Rownd\u2019s intuitive dashboard.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Select Events\"}),\": Choose the data changes that will trigger the webhook, ensuring your system only reacts to relevant updates.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Handle Payloads\"}),\": Receive detailed information about the change, including the type of operation and the data affected.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Custom Headers\"}),\":\\xa0Rownd can send API\\xa0keys, secrets, and other data in the webhook headers\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})})]}),/*#__PURE__*/t(\"h4\",{children:[/*#__PURE__*/e(\"br\",{}),\"Benefits of Using Rownd Webhooks\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Real-Time Data Sync\"}),\": Keep your systems in sync with the latest user data without polling the database.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customized Responses\"}),\": Tailor how your application responds to data changes at a granular level.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Increased Efficiency\"}),\": Reduce the load on your servers by handling data only when changes occur.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"For developers looking to implement sophisticated, event-driven architectures, Rownd\u2019s Webhooks provide a robust solution. Detailed setup instructions and further information can be found in the \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/integrations/webhooks\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Rownd documentation on Webhooks\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText4=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s Platform User Table is transforming how the product team manages and customizes user profiles, making it easier and more secure than ever. Here\u2019s a deep dive into how Rownd\u2019s platform can benefit your app:\"}),/*#__PURE__*/e(\"h4\",{children:\"Flexible Data Management\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd allows developers to tailor user data fields to fit their app\u2019s specific needs. Whether you need to add custom data types or manage existing ones, Rownd\u2019s user table offers the flexibility to define and refine what information you store and how you use it.\"}),/*#__PURE__*/e(\"h4\",{children:\"Enhanced Security and Compliance\"}),/*#__PURE__*/t(\"p\",{children:[\"With options to designate data ownership\u2014whether to the user or the application\u2014Rownd ensures that data handling is transparent and compliant with global data protection regulations. This not only secures user data but also builds trust by clearly defining who owns the data and how it can be accessed and modified.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"img\",{alt:\"Manage and edit the profile schema from the data types tab.\",className:\"framer-image\",src:\"https://framerusercontent.com/images/7PM8foiKHxEVtrBVFgRg4kO17Mg.png\",srcSet:\"https://framerusercontent.com/images/7PM8foiKHxEVtrBVFgRg4kO17Mg.png?scale-down-to=512 512w,https://framerusercontent.com/images/7PM8foiKHxEVtrBVFgRg4kO17Mg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/7PM8foiKHxEVtrBVFgRg4kO17Mg.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/7PM8foiKHxEVtrBVFgRg4kO17Mg.png 2896w\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h4\",{children:\"Streamlined User Profiles\"}),/*#__PURE__*/e(\"p\",{children:\"By integrating a dynamic user profile system, Rownd simplifies the process of adding, editing, or deleting data fields. This not only improves backend management but also enhances the user experience by ensuring that profiles are always up-to-date and relevant.\"}),/*#__PURE__*/e(\"h4\",{children:\"Powerful User Interface\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s intuitive interface allows for easy navigation and management of user data. Developers can quickly access user information, make necessary adjustments, and apply filters to streamline operations, all from one centralized dashboard.\"}),/*#__PURE__*/t(\"p\",{children:[\"Rownd's Platform User Table is more than just a data management tool; it's a comprehensive solution designed to improve both the user and developer experiences by providing powerful tools for customization, security, and ease of use. For more detailed information on how to leverage this powerful feature, check out the \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/user-accounts/platform-user-table\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"full documentation\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText5=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the evolving world of app development, seamless user onboarding and efficient data management are key to user retention and satisfaction. Rownd is at the forefront of this revolution, offering robust solutions for user profile management that enhance the overall user experience. Here\u2019s how Rownd is changing the game:\"}),/*#__PURE__*/e(\"h4\",{children:\"Simplified User Onboarding\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd streamlines the onboarding process, allowing users to quickly and securely set up their profiles without the hassle of lengthy forms and verification processes. This not only improves the user experience but also boosts conversion rates by reducing drop-offs.\"}),/*#__PURE__*/e(\"h4\",{children:\"Customizable User Profiles (coming soon)\"}),/*#__PURE__*/e(\"p\",{children:\"Understanding that different apps require different user information, Rownd provides highly customizable user profiles. Developers can easily configure what data to collect, ensuring that user profiles are tailored to the app\u2019s specific needs without compromising on privacy.\"}),/*#__PURE__*/e(\"img\",{alt:\"The Rownd profile screen\",className:\"framer-image\",src:\"https://framerusercontent.com/images/rl1qAllPcyoQhyIZ0AiHsvNzIQ.png\",srcSet:\"https://framerusercontent.com/images/rl1qAllPcyoQhyIZ0AiHsvNzIQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/rl1qAllPcyoQhyIZ0AiHsvNzIQ.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/rl1qAllPcyoQhyIZ0AiHsvNzIQ.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/rl1qAllPcyoQhyIZ0AiHsvNzIQ.png 2358w\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h4\",{children:\"Easy to install\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd\u2019s easy to use SDKs, the profile can be installed into an app or website in seconds, saving dozens of hours of dedious design and development. \"}),/*#__PURE__*/e(\"h4\",{children:\"Progressive User Profiles\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd\u2019s progressive profiles feature, apps can gradually collect information as users interact more with the service. This approach respects user privacy and lowers the barrier to entry, making it more likely that users will complete their profiles over time.\"}),/*#__PURE__*/e(\"h4\",{children:\"Security and Compliance\"}),/*#__PURE__*/e(\"p\",{children:\"Security is a top priority for any app developer, and Rownd addresses this by offering robust security features that protect user data. Compliance with data protection regulations is simplified, as Rownd handles much of the heavy lifting, ensuring that user data is handled securely and ethically.\"}),/*#__PURE__*/e(\"h4\",{children:\"Integrations and Flexibility\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd supports various integrations, making it versatile for use in different environments, whether web or mobile. This flexibility ensures that Rownd can meet the unique demands of a broad range of applications.\"}),/*#__PURE__*/t(\"p\",{children:[\"In conclusion, Rownd\u2019s innovative user profile management tools are setting new standards for user onboarding and data management in app development. By prioritizing user experience, customization, security, and flexibility, Rownd helps developers create more engaging and secure applications. For more details on how to implement these features, visit \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/user-accounts/hub-user-profiles\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Rownd\u2019s documentation\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText6=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Understanding user behavior and engagement is crucial for growth and innovation. Rownd is excited to introduce its latest feature, Rownd Analytics, designed to empower product teams with deep insights into user interactions and preferences.\"}),/*#__PURE__*/e(\"h4\",{children:\"Comprehensive User Metrics\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd Analytics provides a comprehensive overview of your user base with key metrics such as total users, monthly active users, and monthly new users. This data is essential for tracking growth and identifying trends in user engagement over time.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/lFdHWQX3A9mR5I1JB7evUiuY8nE.png\",srcSet:\"https://framerusercontent.com/images/lFdHWQX3A9mR5I1JB7evUiuY8nE.png?scale-down-to=512 512w,https://framerusercontent.com/images/lFdHWQX3A9mR5I1JB7evUiuY8nE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/lFdHWQX3A9mR5I1JB7evUiuY8nE.png 1803w\"}),/*#__PURE__*/e(\"h4\",{children:\"Visualizing User Behavior\"}),/*#__PURE__*/e(\"p\",{children:\"With advanced graphical representations, Rownd Analytics illustrates user behavior, including their preferred sign-in methods. These visuals help teams to quickly grasp how changes in the app environment affect user activity and retention.\"}),/*#__PURE__*/e(\"h4\",{children:\"Experimentation and Optimization\"}),/*#__PURE__*/e(\"p\",{children:\"The true power of Rownd Analytics lies in its ability to aid product teams in crafting and testing new features. By analyzing the data on how different login methods perform, teams can experiment with innovative approaches, refine user experiences, and ultimately determine what works best for their audience.\"}),/*#__PURE__*/e(\"h4\",{children:\"Strategic Decision Making\"}),/*#__PURE__*/e(\"p\",{children:\"Armed with detailed analytics, product managers can make informed decisions that drive user satisfaction and business success. Whether it\u2019s optimizing the onboarding process or introducing new features, Rownd Analytics provides the insights needed to make strategic enhancements.\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd Analytics is more than just a tool\u2014it's a strategic partner in your journey to understand and engage your user base more effectively. Embrace the future of user analytics and transform how you interact with your users, making every decision data-driven and impactful\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText7=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s Token Validator is a powerful tool designed to seamlessly integrate with your existing authentication systems, enhancing security without adding complexity. This blog explores how Rownd\u2019s Token Validator can be a game-changer for your application.\"}),/*#__PURE__*/e(\"h2\",{children:\"What is Rownd\u2019s Token Validator?\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd's Token Validator is a sophisticated feature within our platform that allows you to validate and manage authentication tokens from other systems. It acts as a bridge between your existing authentication infrastructure and Rownd\u2019s security features, enabling you to move to Rownd while keeping your users logged in. \"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/tpwYJqv0jRTTjkAoYzKdqVmI0JI.png\",srcSet:\"https://framerusercontent.com/images/tpwYJqv0jRTTjkAoYzKdqVmI0JI.png?scale-down-to=512 512w,https://framerusercontent.com/images/tpwYJqv0jRTTjkAoYzKdqVmI0JI.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/tpwYJqv0jRTTjkAoYzKdqVmI0JI.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/tpwYJqv0jRTTjkAoYzKdqVmI0JI.png 2586w\"}),/*#__PURE__*/e(\"h2\",{children:\"Key Benefits of Using Rownd\u2019s Token Validator\"}),/*#__PURE__*/e(\"h3\",{children:\"Enhanced Security\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s Token Validator adds an extra layer of security by ensuring that tokens used in your existing systems are valid and have not been tampered with. This validation process helps protect against unauthorized access and strengthens your overall security posture.\"}),/*#__PURE__*/e(\"h3\",{children:\"Seamless Integration\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating Rownd\u2019s Token Validator with your existing authentication framework is straightforward. It requires minimal changes to your current setup, ensuring that you can enhance security without significant development overhead or disruption to user experience.\"}),/*#__PURE__*/e(\"h3\",{children:\"Maintain Existing User Base\"}),/*#__PURE__*/e(\"p\",{children:\"By using Rownd\u2019s Token Validator, you can continue to use your established user authentication methods without needing to migrate user data or force users to change their login habits. This continuity is crucial for maintaining trust and reducing friction for your users.\"}),/*#__PURE__*/e(\"h2\",{children:\"How Does Rownd\u2019s Token Validator Work?\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Existing Token\"}),\": Your existing user has a valid token from their last application interaction. \"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Token Validation\"}),\": When a user interacts with your application, the authentication token is sent to Rownd\u2019s Token Validator. Rownd checks the token for integrity and validity.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Access Granted\"}),\": Once validated, Rownd allows the user to proceed and issues a valid Rownd Token for future interactions. This process is fast and transparent, ensuring a seamless user experience.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:\"Implementing Rownd\u2019s Token Validator\"}),/*#__PURE__*/t(\"p\",{children:[\"Setting up Rownd\u2019s Token Validator involves a few straightforward steps, which are detailed in our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/authentication-methods/existing-authentication\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"documentation\"})}),\". Here\u2019s a brief overview:\"]}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Configure Your Authentication Method\"}),\": Define your existing authentication method in Rownd\u2019s platform.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Set Up Token Verification\"}),\": Input the necessary parameters so Rownd can recognize and validate tokens from your system.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integrate with Your Application\"}),\": Adjust your application\u2019s authentication flow to include a call to Rownd for token validation.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"For more details on how to integrate Rownd\u2019s Token Validator into your application, visit our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/authentication-methods/existing-authentication\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"documentation\"})}),\". Whether you are looking to enhance your security measures or streamline your authentication processes, Rownd is here to help you achieve your goals efficiently and effectively.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText8=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Top Alternatives to AWS Cognito for User Authentication and Management\"}),/*#__PURE__*/e(\"p\",{children:\"AWS Cognito is a popular service provided by Amazon that offers authentication, authorization, and user management for web and mobile applications. However, depending on the specific needs of a project, developers might look for alternatives that could better align with their requirements in terms of flexibility, pricing, or feature sets. Here\u2019s a comprehensive look at five viable alternatives to AWS Cognito.\"}),/*#__PURE__*/e(\"h2\",{children:\"1. Auth0\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Auth0\"}),\" is a versatile platform for authentication and authorization that supports a broad range of identity providers. It offers a rich set of features including Single Sign-On (SSO), Multi-factor Authentication (MFA), and user management capabilities. Auth0 is known for its developer-friendly approach, providing extensive documentation and SDKs to facilitate integration with various programming environments.\"]}),/*#__PURE__*/e(\"h2\",{children:\"2. Okta\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Okta\"}),\" is a cloud service that provides identity management with a strong emphasis on enterprise businesses. It supports integration with over 5,000 applications out of the box and offers robust solutions for SSO, MFA, and social login capabilities. Okta is particularly valued for its high level of security and compliance standards, making it ideal for organizations with stringent regulatory requirements.\"]}),/*#__PURE__*/e(\"h2\",{children:\"3. Firebase Authentication\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Firebase Authentication\"}),\" is designed to be an easy-to-use and maintenance-free solution for managing users in your app. It supports authentication using passwords, phone numbers, popular federated identity providers like Google, Facebook, and Twitter, and more. Firebase Authentication integrates seamlessly with other Firebase services, offering a holistic solution for mobile and web application development.\"]}),/*#__PURE__*/e(\"h2\",{children:\"4. Keycloak\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Keycloak\"}),\" is an open-source identity and access management solution, which is an excellent option for organizations looking for a customizable and cost-effective alternative. It offers features such as SSO, MFA, and user federation. Being open-source, it allows developers the flexibility to modify the source code to meet their exact needs, which is beneficial for highly specialized deployment scenarios.\"]}),/*#__PURE__*/e(\"h2\",{children:\"5. Microsoft Azure Active Directory B2C\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Microsoft Azure Active Directory B2C\"}),\" (Azure AD B2C) is a customer identity access management solution. It offers features like identity protection and strong authentication with customizable user experiences. Azure AD B2C integrates well with other Microsoft products, making it a convenient choice for organizations that rely heavily on the Microsoft ecosystem.\"]}),/*#__PURE__*/e(\"h2\",{children:\"6. Rownd\"}),/*#__PURE__*/t(\"p\",{children:[\" \",/*#__PURE__*/e(\"strong\",{children:\"Rownd\"}),\" emerges as a distinctive and powerful alternative to AWS Cognito. Rownd is designed to simplify the integration of user authentication and data management into any application with minimal coding required. What sets Rownd apart is its focus on privacy and security combined with user-centric design. Here are some key features and benefits of using Rownd:\"]}),/*#__PURE__*/e(\"h3\",{children:\"Key Features\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User Privacy by Design\"}),\": Rownd implements cutting-edge encryption and anonymization techniques to ensure that user data is always protected.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Easy Integration\"}),\": Developers can integrate Rownd into their apps quickly using simple, pre-built interfaces and SDKs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customizable Authentication Flows\"}),\": Unlike AWS Cognito, Rownd allows full customization of authentication flows to tailor the user experience without compromising on security.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"No Vendor Lock-In\"}),\": Rownd offers flexible deployment options, reducing the risk of vendor lock-in and providing more control over how services are used and managed.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Why Choose Rownd?\"}),/*#__PURE__*/e(\"p\",{children:\"Choosing Rownd means opting for a platform that is not only robust and secure but also highly adaptable to your specific business needs. Whether you're developing a new application or looking to enhance the security of an existing one, Rownd provides a suite of tools that can help streamline your user management and authentication processes. Moreover, Rownd\u2019s commitment to user privacy and data protection makes it an ideal choice for businesses that prioritize these aspects in their operations.\"}),/*#__PURE__*/e(\"p\",{children:\"For developers and organizations looking for an AWS Cognito alternative, Rownd offers a compelling mix of flexibility, ease of use, and strong security features, making it a standout choice in the crowded field of user authentication solutions.\"}),/*#__PURE__*/e(\"p\",{children:\"Whether you are a startup, an SMB, or a large enterprise, each of these alternatives offers unique advantages that could be the key to enhancing your app\u2019s user management and authentication experience. When considering a switch or choosing a new service, it\u2019s essential to align the product capabilities with your specific application needs and user expectations.\"})]});export const richText9=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Top Alternatives to Google Firebase Authentication\"}),/*#__PURE__*/e(\"p\",{children:\"Google Firebase Authentication is a powerful tool for managing user identities and facilitating access to your mobile and web applications. However, depending on your specific needs\u2014such as more customization options, different pricing structures, or enhanced data privacy\u2014there may be other solutions that better align with your project requirements. Here\u2019s a comprehensive guide to several viable alternatives to Google Firebase Authentication, including a detailed look at Rownd as a standout choice.\"}),/*#__PURE__*/e(\"h2\",{children:\"1. Auth0\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Auth0\"}),\" is a popular authentication platform that offers extensive flexibility and control over user authentication processes. It supports a wide range of identity providers and features rich customization capabilities for login pages and authentication flows. Auth0 is particularly beneficial for developers looking for strong security with minimal setup, providing features such as Universal Login, Multi-factor Authentication (MFA), and Single Sign-On (SSO).\"]}),/*#__PURE__*/e(\"h2\",{children:\"2. Okta\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Okta\"}),\" is another strong contender in the realm of authentication services, particularly for enterprise-level applications. It offers comprehensive identity management solutions that extend beyond mere authentication to include everything from user lifecycle management to secure API access. Okta excels in environments that demand rigorous compliance and high levels of security, and it integrates seamlessly with numerous other business applications.\"]}),/*#__PURE__*/e(\"h2\",{children:\"3. Amazon Cognito\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Amazon Cognito\"}),\" is often compared directly to Firebase Authentication due to its integration within the AWS ecosystem. Cognito supports signing in through social identity providers and enterprise identity providers via SAML 2.0. It also offers features like user directory management, MFA, and user profile security, making it a strong option for AWS-centric developers.\"]}),/*#__PURE__*/e(\"h2\",{children:\"4. Microsoft Azure Active Directory B2C\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Microsoft Azure Active Directory B2C\"}),\" (Azure AD B2C) is a customer identity access management solution. It offers features like identity protection and strong authentication with customizable user experiences. Azure AD B2C integrates well with other Microsoft products, making it a convenient choice for organizations that rely heavily on the Microsoft ecosystem.\"]}),/*#__PURE__*/e(\"h2\",{children:\"5. Rownd\"}),/*#__PURE__*/t(\"p\",{children:[\"Lastly, \",/*#__PURE__*/e(\"strong\",{children:\"Rownd\"}),\" emerges as a distinctive and powerful alternative to AWS Cognito. Rownd is designed to simplify the integration of user authentication and data management into any application with minimal coding required. What sets Rownd apart is its focus on privacy and security combined with user-centric design. Here are some key features and benefits of using Rownd:\"]}),/*#__PURE__*/e(\"h3\",{children:\"Key Features\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User Privacy by Design\"}),\": Rownd implements cutting-edge encryption and anonymization techniques to ensure that user data is always protected.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Easy Integration\"}),\": Developers can integrate Rownd into their apps quickly using simple, pre-built interfaces and SDKs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customizable Authentication Flows\"}),\": Unlike AWS Cognito, Rownd allows full customization of authentication flows to tailor the user experience without compromising on security.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"No Vendor Lock-In\"}),\": Rownd offers flexible deployment options, reducing the risk of vendor lock-in and providing more control over how services are used and managed.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Why Choose Rownd?\"}),/*#__PURE__*/e(\"p\",{children:\"Choosing Rownd means opting for a platform that is not only robust and secure but also highly adaptable to your specific business needs. Whether you're developing a new application or looking to enhance the security of an existing one, Rownd provides a suite of tools that can help streamline your user management and authentication processes. Moreover, Rownd\u2019s commitment to user privacy and data protection makes it an ideal choice for businesses that prioritize these aspects in their operations.\"}),/*#__PURE__*/e(\"p\",{children:\"For developers and organizations looking for an AWS Cognito alternative, Rownd offers a compelling mix of flexibility, ease of use, and strong security features, making it a standout choice in the crowded field of user authentication solutions.\"}),/*#__PURE__*/e(\"p\",{children:\"Whether you are a startup, an SMB, or a large enterprise, each of these alternatives offers unique advantages that could be the key to enhancing your app\u2019s user management and authentication experience. When considering a switch or choosing a new service, it\u2019s essential to align the product capabilities with your specific application needs and user expectations.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText10=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Harnessing Behavioral Science for Effective App Onboarding\"}),/*#__PURE__*/e(\"p\",{children:\"In today's competitive digital landscape, the onboarding process for mobile applications is a critical frontier where behavioral science can significantly boost user engagement and retention. This blog post delves into how applying principles of behavioral economics and psychology can transform the user experience from initial contact to loyal user.\"}),/*#__PURE__*/e(\"h3\",{children:\"The Crucial First Steps: Understanding User Behavior\"}),/*#__PURE__*/e(\"p\",{children:\"The onboarding process sets the tone for the user's journey. It begins the moment a user first interacts with your app and can decisively impact whether they stay or leave. Behavioral science offers insights into the psychological and economic factors influencing users' decisions, providing a framework for creating an engaging and effective onboarding experience.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Psychological Engagement:\"}),\" Techniques like nudging, which involves subtly guiding users towards desired actions without restricting their choices, can significantly enhance the onboarding experience. For instance, strategic placement of sign-up prompts or benefits can encourage users to register without feeling coerced.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Reducing Cognitive Load:\"}),\" Minimizing choices during sign-up, known as the 'Paradox of Choice', can reduce user overwhelm and decision fatigue, making the process smoother and faster. A simplified choice architecture helps users make decisions quickly, increasing the likelihood of completing the registration process.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Implementing Behavioral Strategies\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Frictionless Entry Points:\"}),\" Streamline the sign-up process to remove as many barriers as possible. This can be achieved by integrating with platforms that users are already familiar with, such as Google or Apple for one-tap sign-ins, reducing the need for new accounts and passwords.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Progressive Disclosure:\"}),\" Only ask for information that is necessary at each stage of the onboarding process. This technique not only keeps the initial load minimal but also helps in keeping the user curious and engaged with the app.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Personalization and Micro-Commitments:\"}),\" Personalize the onboarding experience by offering users choices that tailor the app to their needs. Micro-commitments, such as allowing users to experience features before signing up, can increase the perceived value of the app and encourage full registration.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Social Proof and Trust Building:\"}),\" Displaying testimonials, ratings, and user counts can significantly influence new users by providing proof of the app\u2019s value and reliability. This builds trust and reduces anxiety about signing up.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Immediate Value Delivery:\"}),\" Show users the value of your app immediately. This could be through a demo, trial period, or a walkthrough of key features that addresses their needs directly. It's crucial that users see what they gain right out of the gate.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Case Studies: Real-World Applications\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"M\\xe1sRefund:\"}),\" By integrating deep linking technology, M\\xe1sRefund allowed users to move seamlessly from the website to the app, drastically reducing onboarding time from minutes to seconds. This approach minimized the barriers typically encountered during the app download and registration process.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Tribeca Festival:\"}),\" Used dynamic authentication to handle the diverse needs of an event-going audience, which provided a flexible yet secure method of accessing services across different platforms, thereby enhancing user convenience and security.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Measuring Success: KPIs and Continuous Improvement\"}),/*#__PURE__*/e(\"p\",{children:\"To truly refine the onboarding process, it's essential to measure its effectiveness through key performance indicators (KPIs) like conversion rates, user retention rates, and user engagement levels. Regular testing and iteration based on these metrics can help in continuously improving the onboarding experience.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"Want more?\\xa0\\xa0\",/*#__PURE__*/e(n,{href:\"https://uploads-ssl.webflow.com/60e5e2422ba00ca92abc9e7d/6626c1aec2ceccdaefa83278_White%20paper%20-%20Know%20when%20and%20what%20to%20ask%20-%20by%20Rownd.pdf\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Read our White Paper\"})}),\" on the subject! \"]}),/*#__PURE__*/e(\"h2\",{children:\"\u200D\"})]});export const richText11=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"h1\",{children:[/*#__PURE__*/e(\"br\",{}),\"Enhance Your Data Integrity with Rownd\u2019s Advanced Validation Capabilities\"]}),/*#__PURE__*/t(\"p\",{children:[\"In the world of app development, managing user input and ensuring data integrity can often be a daunting task. This is where Rownd steps in to revolutionize the way you handle data validations. With our advanced validation features, you can automate and refine the process of ensuring that all user inputs meet your specific requirements for character types, lengths, and even complex data types like usernames.\",/*#__PURE__*/e(\"br\",{}),\"\u200D\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/bVeEq3zLOg6VCS1qFCkbHlSy17s.png\",srcSet:\"https://framerusercontent.com/images/bVeEq3zLOg6VCS1qFCkbHlSy17s.png?scale-down-to=512 512w,https://framerusercontent.com/images/bVeEq3zLOg6VCS1qFCkbHlSy17s.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/bVeEq3zLOg6VCS1qFCkbHlSy17s.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/bVeEq3zLOg6VCS1qFCkbHlSy17s.png 3398w\"}),/*#__PURE__*/e(\"h2\",{children:\"Customizable Data Validation Rules\"}),/*#__PURE__*/e(\"p\",{children:\"At Rownd, we understand that every application has unique requirements when it comes to data validation. That\u2019s why we offer the flexibility to define custom validation rules that align perfectly with your needs. Here\u2019s how you can leverage Rownd\u2019s validation features:\"}),/*#__PURE__*/e(\"h3\",{children:\"Character Type and Length\"}),/*#__PURE__*/e(\"p\",{children:\"You can set specific rules for different inputs regarding the type of characters allowed (such as alphanumeric, numeric-only, or text-only) and the length of the input. This helps ensure that the data your users enter fits the expected format, reducing errors and improving data quality.\"}),/*#__PURE__*/e(\"h3\",{children:\"Complex Data Types\"}),/*#__PURE__*/e(\"p\",{children:\"Handling complex data types like usernames can be particularly challenging, especially when it comes to ensuring uniqueness across a large user base. Rownd can automatically validate that usernames (or any other custom data type) are not only unique but also conform to your predefined standards, such as avoiding certain characters or patterns.\"}),/*#__PURE__*/e(\"h2\",{children:\"Seamless Integration with Automations (coming soon)\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s validation capabilities are not just about setting rules; they\u2019re also about handling exceptions. When used in conjunction with Rownd\u2019s Automations feature, any errors in data validation are managed smoothly:\"}),/*#__PURE__*/e(\"h3\",{children:\"Automated Error Handling\"}),/*#__PURE__*/e(\"p\",{children:\"If an input fails to meet your validation criteria, Rownd\u2019s Automations can take over to handle the situation without manual intervention. Depending on your settings, Automations can prompt users to correct their input, provide helpful error messages, or even log the incident for further review.\"}),/*#__PURE__*/e(\"h3\",{children:\"Enhanced User Experience\"}),/*#__PURE__*/e(\"p\",{children:\"By automating error responses, you not only ensure a consistent approach to data validation but also improve the overall user experience. Users receive immediate feedback on their inputs, which helps them understand and correct their errors quickly and effortlessly.\"}),/*#__PURE__*/e(\"h2\",{children:\"Getting Started with Rownd\u2019s Validation Tools\"}),/*#__PURE__*/e(\"p\",{children:\"Implementing Rownd\u2019s advanced validation features is straightforward, thanks to our user-friendly interface and comprehensive support resources:\"}),/*#__PURE__*/e(\"h3\",{children:\"Easy Setup\"}),/*#__PURE__*/e(\"p\",{children:\"Through the Rownd platform, setting up validation rules is a simple process. You can access a variety of templates and customize them to suit your needs or create your own rules from scratch.\"}),/*#__PURE__*/e(\"h3\",{children:\"Detailed Documentation\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd provides detailed documentation that guides you through the process of configuring validations. Whether you are new to the platform or looking to expand its use, our documentation offers all the information and tips you need.\"}),/*#__PURE__*/e(\"h3\",{children:\"Expert Support\"}),/*#__PURE__*/e(\"p\",{children:\"If you need help setting up your validation rules or have any questions about using Rownd\u2019s features, our support team is ready to assist you. We\u2019re committed to ensuring that you can maximize the benefits of our platform.\"}),/*#__PURE__*/e(\"h2\",{children:\"Why Choose Rownd?\"}),/*#__PURE__*/e(\"p\",{children:\"Choosing Rownd for your data validation needs means opting for a system designed to enhance security, improve data quality, and streamline user interactions. With Rownd, you gain control over how data is entered and managed within your application, leading to better user satisfaction and reduced overhead for managing data-related issues.\"}),/*#__PURE__*/e(\"p\",{children:\"Explore the power of advanced data validation with Rownd and take your app to the next level in terms of functionality and user engagement. Visit our website to learn more about how our validation tools can transform the way you interact with user data, or contact our support team directly for personalized assistance. With Rownd, robust data integrity is just a few clicks away.\"}),/*#__PURE__*/e(\"h2\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText12=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the evolving world of digital security, the quest for both ease of use and robust protection leads us to innovative solutions. One such breakthrough is the implementation of passkeys, a user authentication method that combines convenience with high security. At Rownd, we understand the importance of staying ahead in security technologies, which is why we're excited to highlight our simple yet powerful passkey integration. Let's dive into why passkeys are transformative and how easily you can implement them with Rownd.\"}),/*#__PURE__*/e(\"h2\",{children:\"What Are Passkeys?\"}),/*#__PURE__*/e(\"p\",{children:\"Passkeys are a form of user authentication that eliminates the need for traditional passwords. Instead of remembering complex password combinations, users can sign in using device biometrics (like a fingerprint or facial recognition) or a PIN. This method not only simplifies the login process but also significantly enhances security.\"}),/*#__PURE__*/e(\"p\",{children:\"Tech giants such as Apple, Google, and Microsoft have already adopted this standard, integrating passkeys into their platforms to offer a seamless and secure user experience. As passkeys do not rely on reusable passwords, they are inherently resistant to phishing attacks and reduce the risk of credential theft.\"}),/*#__PURE__*/e(\"h2\",{children:\"How Rownd Simplifies Passkey Integration\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating passkey authentication into your application can sound daunting, but not with Rownd. We've streamlined the process to make it as straightforward as possible:\"}),/*#__PURE__*/e(\"h3\",{children:\"Easy Enablement with a Toggle\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd, adding passkey support to your app doesn't require complex coding or extensive development time. It can be enabled with a simple toggle in the Rownd platform. This ease of implementation ensures that any app can quickly upgrade its authentication process without burdening the development team.\"}),/*#__PURE__*/e(\"h3\",{children:\"Direct Browser and OS Interaction\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd interacts directly with the browser and/or operating system to authenticate users, ensuring that sign-ins are secure and seamless every time. This direct interaction also means that the authentication process is handled natively, leveraging the latest security protocols inherent to users' devices.\"}),/*#__PURE__*/e(\"h3\",{children:\"Universal Compatibility\"}),/*#__PURE__*/e(\"p\",{children:\"Because passkeys are supported by major tech platforms, integrating them through Rownd ensures that your application remains compatible with a wide range of devices and operating systems. This universal compatibility is key to providing a consistent user experience across different environments.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/FVq6ld4x6PrifipM8R9HAkg28vw.gif\",srcSet:\"https://framerusercontent.com/images/FVq6ld4x6PrifipM8R9HAkg28vw.gif?scale-down-to=512 512w,https://framerusercontent.com/images/FVq6ld4x6PrifipM8R9HAkg28vw.gif?scale-down-to=1024 1024w,https://framerusercontent.com/images/FVq6ld4x6PrifipM8R9HAkg28vw.gif 1250w\"}),/*#__PURE__*/e(\"h2\",{children:\"Why Move to Passkey Authentication?\"}),/*#__PURE__*/e(\"h3\",{children:\"Enhanced Security\"}),/*#__PURE__*/e(\"p\",{children:\"Passkeys offer a more secure alternative to traditional passwords by leveraging device-specific biometrics and secure enclave technology. This method significantly lowers the risk of account breaches associated with stolen or weak passwords.\"}),/*#__PURE__*/e(\"h3\",{children:\"Improved User Experience\"}),/*#__PURE__*/e(\"p\",{children:\"Users appreciate simplicity and efficiency. Passkeys eliminate the need to remember and enter passwords, offering a faster and more user-friendly sign-in process. This can lead to higher user satisfaction and lower drop-off rates during the authentication phase.\"}),/*#__PURE__*/e(\"h3\",{children:\"Reduced Support Costs\"}),/*#__PURE__*/e(\"p\",{children:\"By eliminating common issues related to password management, such as resets and lockouts, passkeys can also reduce the support burden on your team, saving time and resources.\"}),/*#__PURE__*/e(\"h2\",{children:\"Learn More About Rownd Passkeys\"}),/*#__PURE__*/t(\"p\",{children:[\"Are you ready to enhance your app's security and user experience with Rownd passkeys? For more detailed information and to see how you can integrate passkeys into your application, visit our \",/*#__PURE__*/e(n,{motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"documentation page\"})}),\". If you have any questions or need assistance, feel free to reach out. Let Rownd help you take a significant step forward in securing your digital interactions with minimal effort and maximum confidence.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText13=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"In today\u2019s digital age, privacy and data protection have become increasingly important concerns for individuals and organizations alike. At Rownd, we have always prioritized user privacy and helped companies comply with various data privacy regulations such as GDPR, CCPA, and more. In this vein, we\u2019re excited to announce the launch of \u201CSign in as a guest\u201D, allowing users to \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/authentication-methods/guests\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"create accounts anonymously.\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"This feature improves compliance for organizations and reduces friction throughout the sign-in process. Similar to our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/authentication-methods/unverified\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"unverified users\"})}),\" feature, visitors can easily convert into confirmed users with a single action. This eliminates the need for traditional verification flows that often lead to drop-offs. By including privacy-conscious individuals who may have otherwise hesitated to sign up, organizations can grow their user base more rapidly.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Enhanced privacy, compliance, and trust\"}),/*#__PURE__*/e(\"p\",{children:\"Although anonymous sign-in is not a new concept, it has faced limited adoption. For example, users without associated email addresses or phone numbers frequently can\u2019t sign back into their accounts later. However, with the introduction of passkeys, users can create verifiable credentials without revealing personal information. This even enables repeated sign-ins on additional devices.\"}),/*#__PURE__*/e(\"p\",{children:\"Another common objection to anonymous sign-in is the inability to contact users for marketing purposes. Although a valid concern, it establishes a foundation for a mutually beneficial relationship between users and organizations. It prioritizes privacy and trust. By allowing users to interact on their own terms, without immediately disclosing personal information, you can foster an environment that values privacy.\"}),/*#__PURE__*/e(\"p\",{children:\"Furthermore, Rownd\u2019s built-in bot protection ensures that guest accounts are genuine and are not spamming your user database.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/usR4GlEOop2UPAUA05KS6fNxmQ8.png\",srcSet:\"https://framerusercontent.com/images/usR4GlEOop2UPAUA05KS6fNxmQ8.png?scale-down-to=512 512w,https://framerusercontent.com/images/usR4GlEOop2UPAUA05KS6fNxmQ8.png 850w\"}),/*#__PURE__*/e(\"h2\",{children:\"Increased flexibility throughout the user journey\"}),/*#__PURE__*/e(\"p\",{children:\"Even though users may choose to sign in anonymously, organizations can still gather verifiable information at a later stage. This respects users\u2019 privacy during the initial sign-in process. Organizations can onboard users quickly while safeguarding the most valuable aspects of their product. When users are ready to engage further, such as when making a purchase or subscribing, organizations can then request additional personal information.\"}),/*#__PURE__*/e(\"p\",{children:\"You can even invisibly onboard guests! For example, automatically onboard a user when they elect to try your product, saving their progress along the way. Later on, ask for an email address and/or payment method when they want to do something more meaningful or advanced.\"}),/*#__PURE__*/e(\"h2\",{children:\"Availability\"}),/*#__PURE__*/t(\"p\",{children:[\"\u201CSign in as a guest\u201D is available today on the web and across all of our SDKs. Check out our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/authentication-methods/guests\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"docs for more information.\"})}),\" \"]}),/*#__PURE__*/e(\"p\",{children:\"If your product or organization has been missing such a feature, we would love to hear from you! Please get in touch with us, and let us help you achieve your growth goals while prioritizing privacy and user trust.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText14=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"For many developers, Firebase and Auth0 have been the go-to platforms for managing app authentication and user data. However, if you find yourself constrained by Firebase\u2019s static options, frustrated by Auth0\u2019s login pages, or discouraged by their pricing models, it might be time for a change. At Rownd, we understand these challenges and have developed powerful tools to help you transition smoothly and efficiently from these platforms.\"}),/*#__PURE__*/e(\"h2\",{children:\"Why Migrate to Rownd?\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd is designed to be a flexible, user-friendly alternative to traditional authentication solutions like Firebase and Auth0. With Rownd, you gain enhanced customization capabilities and a pricing model that scales with your needs, making it an attractive option for startups and established companies alike. Here are a few reasons to consider migrating:\"}),/*#__PURE__*/e(\"h3\",{children:\"Customizable Authentication\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd offers a highly customizable platform that allows you to tailor the user authentication experience to meet your application\u2019s unique requirements, rather than fitting your needs into a predetermined framework.\"}),/*#__PURE__*/e(\"h3\",{children:\"Seamless Integration\"}),/*#__PURE__*/e(\"p\",{children:\"Our platform supports a wide range of authentication methods and integrates seamlessly with your existing systems, providing a smooth transition with minimal disruption to your users.\"}),/*#__PURE__*/e(\"h3\",{children:\"Transparent Pricing\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd, you get clear, straightforward pricing without unexpected costs, helping you manage your budget more effectively.\"}),/*#__PURE__*/e(\"h2\",{children:\"How Rownd Simplifies the Migration Process\"}),/*#__PURE__*/e(\"p\",{children:\"We know that switching authentication providers can seem daunting. That\u2019s why Rownd has developed built-in migration tools that streamline the process. Here\u2019s how we make it easy:\"}),/*#__PURE__*/e(\"h3\",{children:\"Quick Setup\"}),/*#__PURE__*/e(\"p\",{children:\"You can get started with Rownd in minutes. Our tools are designed to integrate easily with your development apps, allowing you to explore and test Rownd\u2019s features without any commitment.\"}),/*#__PURE__*/e(\"h3\",{children:\"Smooth User Data Transfer\"}),/*#__PURE__*/e(\"p\",{children:\"Our migration tools ensure that moving your user data from Firebase or Auth0 to Rownd is a smooth and secure process. You can transition your users without requiring them to reset their passwords or re-register, which helps maintain trust and user satisfaction.\"}),/*#__PURE__*/e(\"h3\",{children:\"Comprehensive Documentation\"}),/*#__PURE__*/e(\"p\",{children:\"To help you get the most out of Rownd\u2019s capabilities, we offer detailed documentation that guides you through every step of the integration and migration process. Whether you\u2019re a seasoned developer or relatively new to app development, our resources are designed to provide all the information you need.\"}),/*#__PURE__*/e(\"h3\",{children:\"Free Migration Assistance\"}),/*#__PURE__*/e(\"p\",{children:\"At Rownd, we believe that getting help shouldn\u2019t come at a premium. We offer free migration assistance to help you move from Firebase or Auth0, ensuring that you have expert support without additional costs.\"}),/*#__PURE__*/e(\"h2\",{children:\"Ready to Get Started?\"}),/*#__PURE__*/e(\"p\",{children:\"Migrating to Rownd can revitalize the way you handle user authentication and data management. If you\u2019re ready to explore what Rownd can offer or have any questions about the migration process, don\u2019t hesitate to reach out. Shoot me an email, and let\u2019s discuss how we can make your transition to Rownd as smooth as possible.\"}),/*#__PURE__*/t(\"p\",{children:[\"Check out our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"documentation\"})}),\" for detailed guides and tips on starting with Rownd today. Whether you\u2019re looking to experiment with Rownd in your development environment or ready to fully transition your user base, our tools and team are here to support you every step of the way.\"]}),/*#__PURE__*/e(\"p\",{children:\"Make the switch to Rownd and experience a new level of flexibility and control over your app\u2019s authentication. Join the growing number of developers who have enhanced their app\u2019s functionality and user satisfaction by migrating to Rownd. We\u2019re excited to help you take the next step in your app\u2019s journey.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText15=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What are groups?\"}),/*#__PURE__*/e(\"p\",{children:\"Managing user groups in an application can often be complex and time-consuming. Recognizing the need to simplify this process, Rownd has developed a solution that allows you to add users to groups programmatically. This feature not only enhances the functionality of your app but also opens up new avenues for user interaction and collaboration.\"}),/*#__PURE__*/e(\"h2\",{children:\"Benefits of Using Rownd for Group Management\"}),/*#__PURE__*/e(\"h3\",{children:\"Automated Group Assignments\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd\u2019s programmatic group management, you can automate the process of adding users to specific groups based on predefined criteria or user actions. This automation ensures that users have the appropriate access and interactions without manual oversight, increasing efficiency and reducing errors.\"}),/*#__PURE__*/e(\"h3\",{children:\"Customizable Group Roles and Permissions\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd allows you to define distinct roles and permissions within groups, giving you the flexibility to tailor user experiences based on their group membership. This capability is crucial for applications requiring differentiated access levels or functionalities among various user segments.\"}),/*#__PURE__*/e(\"h3\",{children:\"Enhanced User Engagement\"}),/*#__PURE__*/e(\"p\",{children:\"By organizing users into groups, you can facilitate targeted communication and collaboration. This structure supports more meaningful interactions within your application, fostering a community environment and enhancing user engagement.\"}),/*#__PURE__*/e(\"h2\",{children:\"How It Works\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating Rownd\u2019s group management into your application is straightforward:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Define Groups and Permissions\"}),\": Set up the different groups within your application and specify the permissions each group has.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Automate User Assignments\"}),\": Implement rules or triggers within Rownd to automatically assign users to groups based on their activities or profile data. (coming soon)\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Manage Groups Easily\"}),\": Utilize Rownd\u2019s dashboard to manage groups, monitor group activity, and adjust roles and permissions as needed.\"]})})]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",src:\"https://framerusercontent.com/images/gOTULPE0RWTIX78cbAnY64zSFaE.png\",srcSet:\"https://framerusercontent.com/images/gOTULPE0RWTIX78cbAnY64zSFaE.png?scale-down-to=512 512w,https://framerusercontent.com/images/gOTULPE0RWTIX78cbAnY64zSFaE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/gOTULPE0RWTIX78cbAnY64zSFaE.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/gOTULPE0RWTIX78cbAnY64zSFaE.png 2768w\"}),/*#__PURE__*/e(\"h2\",{children:\"Join Us on the Journey\"}),/*#__PURE__*/e(\"p\",{children:\"The introduction of programmatic group management is just one of the many ways Rownd is committed to enhancing user experience and developer convenience. We are continuously evolving our platform to meet the needs of our community and drive innovation in user management.\"}),/*#__PURE__*/t(\"p\",{children:[\"For more information on how to implement and benefit from Rownd\u2019s group management feature, please\",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/user-accounts/groups#what-are-groups\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\" visit our docs.\"})}),\" Our support team is also available to answer any questions and assist with integration, ensuring you can fully leverage this new functionality to enhance your application.\"]}),/*#__PURE__*/e(\"p\",{children:\"Embrace the power of group dynamics in your app with Rownd\u2019s new programmatic group management feature, and take your user interaction and collaboration to the next level.\"}),/*#__PURE__*/e(\"h3\",{children:\"\u200D\"})]});export const richText16=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Are you looking for a passwordless approach for your WordPress site? The Rownd plugin is a great solution! This plugin streamlines the process of quickly onboarding visitors and customers. In this tutorial, we will guide you step-by-step on how to install and configure the Rownd plugin on your WordPress site.\"}),/*#__PURE__*/e(\"p\",{children:\"Video: How to install and configure the Rownd plugin on your WordPress site\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"Don\u2019t hesitate to check out our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"documentation\"})}),\" for more detailed information about Rownd plugin settings and customization options.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText17=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the dynamic realm of web development and security, JSON Web Tokens (JWTs) have emerged as a cornerstone for secure communication and authentication. In this \\xa0post, we dive into the world of JWTs, explore their significance, and introduce you to our latest JWT debugging tool, JWT.is, designed to simplify the debugging process.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Understanding JWTs: What Are They and Why Use Them?\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"What is a JWT?\"})}),/*#__PURE__*/e(\"p\",{children:\"JWT, or JSON Web Token, is a compact, URL-safe means of representing claims between two parties. These claims are often used to ensure the integrity and authenticity of transmitted data.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Why Use JWTs?\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Stateless Authentication:\"}),\" JWTs are widely used for authentication as they enable stateless and scalable user verification.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Token-Based Authorization:\"}),\" They facilitate secure information exchange and authorization by cryptographically signing claims.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Interoperability:\"}),\" JWTs work seamlessly across different platforms and programming languages.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Compact and Self-Contained:\"}),\" JWTs are compact, making them efficient for transmission, and they contain all the necessary information for verification.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"A Brief History of JWTs:\"})}),/*#__PURE__*/e(\"p\",{children:\"JWTs, standardized in RFC 7519, have a fascinating history rooted in web development and security protocols. Introduced in 2010, JWTs gained rapid adoption due to their simplicity and versatility. They are widely utilized in various contexts, from securing API endpoints to managing user sessions in web applications.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Introducing \"}),/*#__PURE__*/e(n,{href:\"http://jwt.is/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"JWT.is\"})})}),/*#__PURE__*/e(\"strong\",{children:\": Your JWT Debugger Tool\"})]}),/*#__PURE__*/e(\"p\",{children:\"As devs who frequently juggle JSON Web Tokens (JWTs), we felt boxed in by JWT.io\u2019s limitations. So we brewed our own solution for all our JWT debugging needs.\"}),/*#__PURE__*/t(\"p\",{children:[\"With \",/*#__PURE__*/e(n,{href:\"http://jwt.is/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"JWT.is\"})}),\" you can debug your JWTs, validate them with JWK endpoints, view your recently viewed tokens, and more. \"]}),/*#__PURE__*/t(\"p\",{children:[\"Bring your tokens to the party at \",/*#__PURE__*/e(n,{href:\"http://jwt.is/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"JWT.IS\"})}),\" and peek under the hood with ease. And because we love collaboration as much as we love code, the project is open-sourced. Dive in, and tell us what other shiny JWT tools you\u2019d like us to craft.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",src:\"https://framerusercontent.com/images/j8UJ0Sk4UHiE5ymMA8B69aDcew.png\",srcSet:\"https://framerusercontent.com/images/j8UJ0Sk4UHiE5ymMA8B69aDcew.png?scale-down-to=512 512w,https://framerusercontent.com/images/j8UJ0Sk4UHiE5ymMA8B69aDcew.png 1024w\"}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDD75\uFE0F\u200D\u2642\uFE0F \",/*#__PURE__*/e(\"strong\",{children:\"Discover\"}),\": Head over to \",/*#__PURE__*/e(n,{href:\"http://jwt.is/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"JWT.IS\"})}),\" to start your JWT inspection journey.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDCE5 \",/*#__PURE__*/e(\"strong\",{children:\"Input\"}),\": Paste your JWT into the designated field.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDD0D \",/*#__PURE__*/e(\"strong\",{children:\"Inspect\"}),\": Click \u2018Decode\u2019 to reveal the hidden details of your JWT.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDC40 \",/*#__PURE__*/e(\"strong\",{children:\"Review\"}),\": Examine the payload, headers, and signatures.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDEE0\uFE0F \",/*#__PURE__*/e(\"strong\",{children:\"Debug\"}),\": Use the provided tools to troubleshoot and refine.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDD04 \",/*#__PURE__*/e(\"strong\",{children:\"Iterate\"}),\": Make any necessary changes and retest as needed.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDCE4 \",/*#__PURE__*/e(\"strong\",{children:\"Export\"}),\": Save your decoded token data for documentation or sharing.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83E\uDD1D \",/*#__PURE__*/e(\"strong\",{children:\"Contribute\"}),\": Got ideas? Fork the project on GitHub and add your touch.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\u2B50 \",/*#__PURE__*/e(\"strong\",{children:\"Feedback\"}),\": Leave a star or comment with your thoughts and suggestions.\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDCE2 \",/*#__PURE__*/e(\"strong\",{children:\"Share\"}),\": Spread the word about \",/*#__PURE__*/e(n,{href:\"http://jwt.is/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"JWT.IS \"})}),\"to your developer friends\"]}),/*#__PURE__*/e(\"p\",{children:\"Note: JWTs are powerful credentials. Be mindful where you share them, as we perform all validation and debugging on the client side and do not retain token records.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",src:\"https://framerusercontent.com/images/mVeGQI5QoN4gOOQwgKkVHECI5g.png\",srcSet:\"https://framerusercontent.com/images/mVeGQI5QoN4gOOQwgKkVHECI5g.png?scale-down-to=512 512w,https://framerusercontent.com/images/mVeGQI5QoN4gOOQwgKkVHECI5g.png 1024w\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Conclusion:\"})}),/*#__PURE__*/e(\"p\",{children:\"Understanding and effectively utilizing JWTs is pivotal in modern web development, and the introduction of tools like JWT.is brings unprecedented ease to the debugging process. Stay tuned for more updates, and empower your development journey with the latest in JWT technology.\"}),/*#__PURE__*/t(\"p\",{children:[\"Explore \",/*#__PURE__*/e(n,{href:\"https://jwt.is/\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"JWT.is\"})}),\" today and elevate your JWT debugging experience to new heights.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText18=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"At Rownd, we are always looking for ways to enhance developer experiences and streamline application development. That's why we're excited to announce the expansion of our Software Development Kit (SDK) offerings, including new additions for React Native - Expo and Xamarin. These additions broaden our already robust selection of SDKs, reaffirming our commitment to supporting a diverse range of platforms and technologies.\"}),/*#__PURE__*/e(\"h2\",{children:\"Expanding Our SDK Library\"}),/*#__PURE__*/e(\"p\",{children:\"The introduction of the new SDKs for React Native - Expo and Xamarin is a response to the growing demand for more versatile and comprehensive development tools. These SDKs join our extensive list of supported platforms, which now includes over a dozen environments such as Flutter, React Native, Swift, Kotlin, React, and Node.js. This expansion is part of our ongoing effort to empower developers by providing them with the tools they need to succeed in a competitive landscape.\"}),/*#__PURE__*/e(\"h3\",{children:\"React Native - Expo SDK\"}),/*#__PURE__*/e(\"p\",{children:\"Our new SDK for React Native - Expo is specifically designed to simplify the development process for those using the Expo framework. This addition makes it easier for developers to integrate Rownd's authentication and data management capabilities into their Expo apps, enhancing both security and user experience with minimal effort.\"}),/*#__PURE__*/e(\"h3\",{children:\"Xamarin SDK\"}),/*#__PURE__*/e(\"p\",{children:\"Similarly, the introduction of our Xamarin SDK opens up opportunities for developers working on cross-platform applications to utilize Rownd's features. Xamarin is renowned for its ability to help developers build applications that run on multiple platforms with a single codebase, and our SDK is tailored to complement this by providing seamless integration with Rownd's services.\"}),/*#__PURE__*/e(\"h2\",{children:\"Why Use Rownd SDKs?\"}),/*#__PURE__*/e(\"h3\",{children:\"Simplified Integration\"}),/*#__PURE__*/e(\"p\",{children:\"Our SDKs are designed with simplicity in mind, ensuring that you can integrate them into your projects quickly and easily. This means less time spent on setup and more time focused on creating outstanding user experiences.\"}),/*#__PURE__*/e(\"h3\",{children:\"Enhanced Security and Compliance\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd, you can rest assured that your applications are not only secure but also compliant with the latest privacy and security regulations. Our SDKs include built-in features to help manage user data safely and responsibly.\"}),/*#__PURE__*/e(\"h3\",{children:\"Support for Multiple Platforms\"}),/*#__PURE__*/e(\"p\",{children:\"Whether you are developing for mobile, web, or desktop, our comprehensive range of SDKs has you covered. By supporting a wide array of languages and frameworks, Rownd enables you to maintain a consistent authentication experience across all platforms.\"}),/*#__PURE__*/e(\"h2\",{children:\"Dive Deeper into Our SDKs\"}),/*#__PURE__*/t(\"p\",{children:[\"Interested in learning more about our new SDKs or any other offerings in our extensive library? Our detailed documentation provides all the information you need to get started and make the most of Rownd's capabilities in your applications. Check out our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/sdk-reference/overview\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"documentation\"})}),\" to explore how our SDKs can enhance your development process.\"]}),/*#__PURE__*/e(\"p\",{children:\"Additionally, if you have any specific questions or need further insights, don't hesitate to reach out. Send me a note, and let's dive deeper into how Rownd's new SDKs can benefit your projects.\"}),/*#__PURE__*/e(\"h2\",{children:\"Join the Rownd Community\"}),/*#__PURE__*/e(\"p\",{children:\"By continually expanding our SDK offerings, Rownd aims to support the growing needs of developers across different platforms and industries. We are excited to see how our community will use these new tools to build more dynamic, secure, and user-friendly applications. Explore the possibilities with our new SDKs and take your app development to the next level. Join us in redefining user management and authentication in the digital world.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText19=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In today\u2019s digital landscape, the ability for users to seamlessly authenticate and onboard apps is not just a convenience but a necessity. Recognizing this, Rownd is excited to announce a significant enhancement to our authentication capabilities: Bring Your Own OAuth. This new feature marks a leap in flexibility and user-centric design, empowering developers and businesses to integrate a vast array of OAuth providers into their applications.\"}),/*#__PURE__*/e(\"h2\",{children:\"Expanding Authentication Horizons\"}),/*#__PURE__*/e(\"p\",{children:\"Historically, Rownd has supported seven core login methods, catering to a broad but limited range of user preferences. However, in response to growing customer demand for more diverse and specialized authentication options, we have now expanded our horizons. With the introduction of Custom OAuth, Rownd\u2019s platform evolves from supporting basic login methods to offering compatibility with over 1,000 different OAuth providers.\"}),/*#__PURE__*/e(\"h2\",{children:\"Custom OAuth: What It Means for You\"}),/*#__PURE__*/e(\"p\",{children:\"Custom OAuth by Rownd allows businesses to implement any OpenID Connect (OIDC) compliant authentication provider. This means whether your users prefer mainstream social media platforms like Facebook or LinkedIn, or more specialized government authentication services like Login.gov, you can accommodate them all. This level of customization was highly requested and is now readily available.\"}),/*#__PURE__*/e(\"h3\",{children:\"Why OIDC Compliance Matters\"}),/*#__PURE__*/e(\"p\",{children:\"OpenID Connect (OIDC) is an identity layer on top of the OAuth 2.0 protocol. By adhering to OIDC standards, Rownd ensures that its authentication services are not only versatile but also secure and reliable. OIDC compliance means that integration with any OAuth provider that also meets these standards is streamlined, reducing the complexity and potential security risks associated with third-party authentication.\"}),/*#__PURE__*/e(\"h2\",{children:\"Benefits of Custom OAuth Integration\"}),/*#__PURE__*/t(\"p\",{children:[\"1. \",/*#__PURE__*/e(\"strong\",{children:\"Enhanced User Experience\"}),\": Users can log in using their preferred methods, which reduces friction and abandonment during the onboarding process.\"]}),/*#__PURE__*/t(\"p\",{children:[\"2. \",/*#__PURE__*/e(\"strong\",{children:\"Increased Security\"}),\": Leveraging well-established OAuth providers can enhance your application's security, outsourcing some of the authentication responsibilities to tried and tested systems.\"]}),/*#__PURE__*/t(\"p\",{children:[\"3. \",/*#__PURE__*/e(\"strong\",{children:\"Broader Reach\"}),\": By accommodating a wider array of login options, your application can appeal to a larger audience, enhancing user acquisition and satisfaction.\"]}),/*#__PURE__*/t(\"p\",{children:[\"4. \",/*#__PURE__*/e(\"strong\",{children:\"Simplified Management\"}),\": Rownd handles the complexities of different OAuth integrations, providing a unified and simplified backend for managing user authentication.\"]}),/*#__PURE__*/e(\"h2\",{children:\"How to Get Started with Custom OAuth\"}),/*#__PURE__*/e(\"p\",{children:\"Implementing Custom OAuth with Rownd is designed to be straightforward. Here\u2019s how you can get started:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Contact Support\"}),\": Reach out to Rownd\u2019s support team to discuss your specific authentication needs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Configuration\"}),\": Provide the details of the OAuth providers you wish to integrate. Rownd will assist with the necessary configurations to ensure compliance and security.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Testing and Deployment\"}),\": Once configured, thoroughly test the new authentication methods to ensure they work seamlessly within your application environment before going live.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:\"Looking Ahead\"}),/*#__PURE__*/e(\"p\",{children:\"The launch of Custom OAuth is just the beginning. Rownd is committed to continually expanding its features to support the dynamic needs of developers and businesses. By listening to our users and adapting to the ever-evolving digital ecosystem, we aim to remain at the forefront of secure, user-friendly app authentication solutions.\"}),/*#__PURE__*/e(\"p\",{children:\"Incorporating your preferred OAuth options into your applications not only enhances user accessibility but also fortifies the security and integrity of user data. With Rownd\u2019s Custom OAuth, your application is set to offer a more inclusive, secure, and user-friendly onboarding experience. Stay tuned for more updates as we continue to innovate and expand our services to meet your needs and those of your users.\"}),/*#__PURE__*/e(\"p\",{children:\"For more details on how to integrate Custom OAuth into your applications and to explore other authentication solutions offered by Rownd, visit our website or contact our customer support directly. Let\u2019s make every user\u2019s entry point into your application as welcoming and secure as possible.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText20=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"At Rownd, we're continuously looking for ways to make developers' lives easier while enhancing the end-user experience. That's why we're thrilled to announce the expansion of our automations capabilities, designed to streamline authentication and onboarding processes for your apps. With these latest updates, integrating sophisticated events into your app has never been easier\u2014or faster!\"}),/*#__PURE__*/e(\"h2\",{children:\"What's New with Rownd Automations?\"}),/*#__PURE__*/e(\"p\",{children:\"Our latest release includes several powerful enhancements to Rownd\u2019s automations, enabling you to implement authentication events and other onboarding sequences without writing any code. Here\u2019s a closer look at what these new features can do for you and your app.\"}),/*#__PURE__*/e(\"h3\",{children:\"Code-Free\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd, adding authentication and onboarding events is as simple as a few clicks. Our intuitive platform allows anyone, regardless of their coding expertise, to set up and manage these critical functions. This means less time coding and more time focusing on other aspects of your app's development and user experience.\"}),/*#__PURE__*/e(\"h3\",{children:\"Empower the product and design team\"}),/*#__PURE__*/e(\"p\",{children:\"The product and design team can iterate, test, and experiment with how and where onboarding happens, leading to higher conversion rates and more revenue. \"}),/*#__PURE__*/e(\"h3\",{children:\"Dynamic Information Requests\"}),/*#__PURE__*/e(\"p\",{children:\"One of the standout features of our enhanced automations is the ability to dynamically request additional information from users during the authentication or onboarding process. Need to gather more details from your users? Rownd automations let you add these requests directly from the platform, eliminating the need for days of backend development work.\"}),/*#__PURE__*/e(\"h3\",{children:\"Streamlined User Onboarding\"}),/*#__PURE__*/e(\"p\",{children:\"Our automations are designed to make the user onboarding experience as smooth and frictionless as possible. By automating complex processes and data collection, users can navigate through the initial stages of using your app with ease, which can significantly increase user retention and satisfaction.\"}),/*#__PURE__*/e(\"h2\",{children:\"Benefits of Using Rownd Automations\"}),/*#__PURE__*/e(\"h3\",{children:\"Reduced Development Time\"}),/*#__PURE__*/e(\"p\",{children:\"Rownd\u2019s automations drastically cut down the time it takes to implement essential app functionalities. What used to take days of coding can now be accomplished in minutes through our platform, freeing up your development team to work on other high-priority tasks.\"}),/*#__PURE__*/e(\"h3\",{children:\"Enhanced Flexibility\"}),/*#__PURE__*/e(\"p\",{children:\"The ability to quickly modify and deploy onboarding and authentication processes means your app can adapt more rapidly to user feedback or changing business needs. This flexibility is critical in today\u2019s fast-paced app development landscape.\"}),/*#__PURE__*/e(\"h3\",{children:\"Increased Security\"}),/*#__PURE__*/e(\"p\",{children:\"With Rownd handling your app's authentication events, you benefit from our robust security protocols designed to protect user data and ensure secure access management. Our automations are built to uphold the highest standards of security, giving you and your users peace of mind.\"}),/*#__PURE__*/e(\"h2\",{children:\"Get Started Today\"}),/*#__PURE__*/t(\"p\",{children:[\"Ready to explore the full potential of Rownd\u2019s automations? Visit our \",/*#__PURE__*/e(n,{href:\"https://docs.rownd.io/configuration/Automations/overview\",motionChild:!0,nodeId:\"POSXR84uh\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"docs\"})}),\" for detailed instructions and tips on how to integrate these new features into your app. Whether you\u2019re looking to enhance user authentication, streamline onboarding, or add complex workflows without coding, Rownd\u2019s automations have you covered.\"]}),/*#__PURE__*/e(\"p\",{children:\"If you have any questions or need further assistance, our support team is just an email away. We\u2019re here to help you make the most of these exciting new capabilities. Check out Rownd today and see how easy and impactful adding automations to your app can be!\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText21=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the competitive landscape of mobile applications, user onboarding is a critical process that can significantly impact user retention and satisfaction. Traditionally, apps have required users to sign up or log in at the very beginning of their experience. However, a growing trend is emerging that advocates for delaying the onboarding process until after users have had a chance to engage with the app. This strategy not only enhances user experience but also boosts conversion rates. Let\u2019s delve into why delaying onboarding can be a game-changer for app developers and businesses.\"}),/*#__PURE__*/e(\"h2\",{children:\"The Psychology Behind Delayed Onboarding\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Immediate Engagement:\"}),\" By allowing users to explore features and utilize the app without initial barriers, you cater to the human tendency to resist obligations. Immediate engagement with the app's content can hook users by showcasing the app's value upfront, making them more likely to commit later.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Reduced Friction:\"}),\" Asking for a commitment such as creating an account or entering personal information upfront can be a significant friction point that deters potential users. Delaying this requirement minimizes barriers to entry, reducing the risk of abandonment before users perceive the app\u2019s value.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Enhanced Perceived Value:\"}),\" When users interact with the app and discover its benefits firsthand, the perceived value of the app increases. This first-hand experience makes the decision to sign up feel more worthwhile, leveraging the psychological endowment effect, where users value what they have already used and enjoyed.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Real-World Applications and Benefits\"}),/*#__PURE__*/e(\"h3\",{children:\"Case Studies Highlighting Success\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Spotify:\"}),\" The music streaming giant allows users to browse and play music to a certain extent before requiring a sign-up. This approach lets users experience the app\u2019s value proposition directly, which in turn increases the likelihood of signing up and subscribing.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pinterest:\"}),\" Users can start browsing pins and even curate boards to some extent before being prompted to register. This delayed signup strategy helps Pinterest increase user engagement and conversion by showcasing the direct benefits of using the service.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Increased User Retention and Satisfaction\"}),/*#__PURE__*/e(\"p\",{children:\"Users who have had the chance to engage with the app and decide its value to them personally are more likely to feel satisfied with their decision to sign up. This satisfaction leads to higher retention rates as users have already invested time and have experienced the benefits of the app before committing.\"}),/*#__PURE__*/e(\"h3\",{children:\"Higher Conversion Rates\"}),/*#__PURE__*/e(\"p\",{children:\"Conversion rates can significantly increase when users are not pressured to sign up at the very start. Once users understand how the app works and the benefits it offers, they are more likely to provide their details willingly and continue using the app.\"}),/*#__PURE__*/e(\"h2\",{children:\"Implementing Delayed Onboarding in Your App\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Understand Your User Journey:\"}),\" Map out the user journey to identify the optimal moment for registration. This moment should come after users have experienced enough of the app to see its value but before they need the full functionality that requires registration.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Provide Enough Value Before Signup:\"}),\" Ensure that users can experience sufficient functionality that demonstrates the app's value. This might involve allowing them to view content or partially use a feature that highlights what the app has to offer.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Make the Transition Smooth:\"}),\" Once users reach the point of registration, make the process as smooth as possible. Consider using social logins, minimizing form fields, or providing incentives like saving progress or creating personalized content.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"Delayed onboarding can dramatically enhance the user experience by aligning with user needs and reducing initial friction. This strategic approach not only improves user satisfaction and retention but also boosts overall conversion rates. By understanding the user journey and carefully planning the onboarding process, app developers can create a more user-friendly environment that encourages longer-term engagement and success.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText15\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText18\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText21\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText16\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText13\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText17\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText20\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText14\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText19\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "motion", "richText1", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "richText11", "richText12", "richText13", "richText14", "richText15", "richText16", "richText17", "richText18", "richText19", "richText20", "richText21", "__FramerMetadata__"]
}
