Document Sharing
Managing user permissions and content entitlements within AlphaSense Enterprise Intelligence platform is simple and customizable at the same time. We have a wide array of options for customers of all size and shape to configure the visibility of documents to the users of the system and mirror the permissions of the organizations sharing policies. Before we get started, please get yourself familiar with Ingestion API and SCIM API (User Management) to enable the full power of customization offered by AlphaSense.
Entitlement Models
AlphaSense entitlement model can be described with three main entities: document model, user model and source model. These models provide multiple flexible entitlement flows. Document model is quite simple and straightforward. Each document in the system is published by a provider. Based on the provider information, the system assigns specific document type to the document. Examples of document types are Broker Research, Event Transcripts, Company Document, News, etc. Apart from Document Types, a provider can also use entitlement property(ies) to control document entitlements. Entitlement properties can be used with dynamic models. We will consider a few examples, when we describe Search and Document fetching logic.
Based on Document Types, AlphaSense solution provides a simple but flexible Source model.
Source Model is used by AlphaSense UI to present the different document sources provided by AlphaSense as well document categories added by customers but it is not critical for the entitlement and permission workflows. Source menu provides a well structured source tree, which can easily be extended for client specific content categorization. AlphaSense provides the functionality to incorporate personalized document types, meticulously developed by our technical team in accordance with the category names furnished by individual customers. These adaptable document types streamline the categorization process for customers' internal content within our platform's
Source menu, allowing users to list a maximum of 9 document types. When the user loads the source menu AlphaSense service is checking the permissions and loads only available sources to the application. When the user loads the source menu AlphaSense service is checking the permissions and loads only available sources to the application.
Now let’s consider the AlphaSense User model. The user object has multiple different properties which are used by the system to define a set of available sources and documents. All these properties can be split into two big groups: Document permissions and Entitlement properties. Document permissions are standard and are primarily used to define a list of available sources for the user, while entitlements are mainly used to scope a set of available documents.
Now that we are familiar with Document and User models, let's switch our focus to how AlphaSense manages documents uploaded by clients into our platform.
UserDoc Documents
Documents uploaded by customers into AlphaSense are classified as UserDoc documents. UserDoc documents uses the same strategy based on Document Permissions, but on top of this to grant access to the document the system checks for additional property: externalID. The ExternalID values can be populated by querying the SCIM API. For this case the user model looks like:
At the same time Document model for UserDoc documents looks like:
For UserDoc documents the search execution will be
For UserDoc documents, on top of Basic entitlement model based on Document permissions, the system checks for shareeIds property when Search sub-system executes search request. As you can see there are no additional checks during post search processing. However, before showing a document to the user, the system double checks entitlements with our entitlement system.
Entitlement check for UserDoc documents uses externalID and Document Permissions to define Entitlement Type for the document and user. Entitlement type defines the role of the user for the document. In case of UserDocs the user can be Owner or Reader. We will not go deeply to Entitlement Types for now
User Document Sharing Models
The AlphaSense platform is designed to accommodate the varied document sharing needs of enterprises. Our models offer a spectrum of options, from maintaining the utmost privacy of documents to facilitating collaboration across different business units. This flexibility ensures that our clients can tailor the sharing settings to suit their specific organizational structures and privacy requirements.
Configuring Document Sharing
Document sharing on AlphaSense can be configured in two primary ways: through the user interface (UI) within the app, and via an API (Ingestion API).
Understanding the Ingestion API
The Ingestion API is a comprehensive tool that extends beyond basic document handling. It enables users not only to upload, delete, and modify documents but also to define critical metadata that includes document authorship, titles, ownership, tags, and sharing permissions. This capability allows for granular control over how documents are managed and shared within the AlphaSense platform.
Note: It's important to note that data passed to AlphaSense through the Ingestion API takes precedence over UI settings. This means that actions performed on documents via the API will override any existing configurations made through the app's UI. This feature ensures that API operations are executed with precision and according to the specific requirements set by the API calls, providing an additional layer of customization and control for our users.
Use Case 1: Private Documents
Allows users to keep their uploaded documents private, ensuring that they are not shared with anyone else at your organization on the AlphaSense platform. This functionality is crucial for maintaining confidentiality and privacy of sensitive information.
Steps for Implementation:
Via AlphaSense UI
-
Access Sharing & Privacy Settings: Log in Admin permissions and navigate to the Sharing & Privacy section under settings.
-
Modify Sharing Settings: Find and disable the sharing options.
The action ensures that documents remain private to the user who uploaded them:
Via Ingestion API
Utilize the Ingestion API to manage document accessibility by following the steps below:
- Set IngestionAPIShareInfo to NONE: Adjust the IngestionAPIShareInfo model to NONE. This setting restricts the visibility of the documents to only the uploader.
- Manage Tag Visibility (optional): Use the CustomTag model to set the visibility of tags associated with the documents to PRIVATE. This adds an additional layer of privacy to your document metadata.
A sample curl call is provided below to demonstrate how to configure these settings:
Use Case 2: Universal Accessibility
Enables users at your organization within AlphaSense to search and access any document, fostering an environment of open information sharing.
Steps for Implementation:
Via AlphaSense UI
- Access Sharing & Privacy Settings: Log in with Admin permissions and navigate to the Sharing & Privacy section under settings.
- Enable Universal Access: Configure the settings to allow all users to search for and access all documents
Via Ingestion API
Utilize the Ingestion API to manage document accessibility by following the steps below:
- Set IngestionAPIShareInfo to EVERYONE: Adjust the IngestionAPIShareInfo mode to EVERYONE. This setting allows every user from your organization on the platform to search for and access any document.
- Tag Visibility Setting (optional): Configure the visibility of tags created for the documents as needed.
A sample curl call for API users demonstrating the configuration for universal document accessibility:
Use Case 3: Explicit Permissions
Enable document sharing with a specific set of users and/or groups, allowing for controlled access and collaboration.
Steps for Implementation:
Via AlphaSense UI
-
Access Group and User Settings: With Admin permissions, go to the Account Setting page and select the Sharing and Privacy settings.
-
Select Groups/Users for Access: Choose the specific groups and/or users from a list who are allowed to search and access the documents.
-
Create Groups in UI: Use the AlphaSense UI to create groups and add users as needed:
Via Ingestion API
- Create Groups in UI: Use the AlphaSense UI to create groups and add users as needed (See steps 1 and 3 above)
- API Configuration for Groups: Utilize the Ingestion API with the IngestionAPIShareInfo mode set to DEFAULT for the created groups and users.
A sample curl call for API users demonstrating how to configure targeted sharing with specific users or groups:
Use Case 4: Custom Sharing
For more complex sharing requirements, AlphaSense offers a CUSTOM sharing mode, allowing granular control over document permissions.
Steps for Implementation
Via Ingestion API
-
API Configuration for Custom Sharing: For every user or group created within AlphaSense by a client, a unique identifier, known as an externalID, must be assigned. This identifier is unique to each user or group within the client's environment. The use of this unique externalID is crucial in granting custom access to internal documents, ensuring precise control over document permissions and accessibility.
-
Implement SCIM API: The integration of the SCIM API is essential in configuring custom permissions. This API enables customers to generate or retrieve external IDs for their users or groups. These identifiers are crucial during the document processing phase, as they allow for the accurate assignment and identification of specific users or groups for document sharing. Leveraging these IDs ensures that documents are shared correctly and securely, according to the client's specific requirements.
For detailed guidance on implementing this feature, please refer to our documentation on "How to Implement AlphaSense SCIM API."
A sample curl call for API users demonstrating the custom sharing configuration:
Use Case 5: Restricted Sharing Groups
Restricts document sharing and collaboration within specific business units, suitable for large organizations with multiple internal divisions.
Note: In the event of user movement between units, document ownership and collaborative elements will remain within the original unit.
To enable this sharing model, please contact your account manager for assistance.