Neura AI
  • What is Neura?
    • Releases
      • Neura Artifacto UI v0.2.0 - Revolutionizing User Experience with Image Previews, Image Analysis, and
      • Neura AI v0.5.98 - Artifacto UI Updates, FLUX Pro Ultra & Telegram Formatting and Major System Up
      • Neura AI v0.5.97 - Llama 3.3 70b Versatile and Llama 3.3 70b SpecDec Integrations and Azure Blob
      • Neura AI v0.5.96 Dash Tracking, Telegram Hyperlinks and Get User Ids Improvements
      • Neura AI v0.5.95 - Core System Stability & Integration Improvements
      • Neura AI v0.5.9 - ReDeAct Agents' Action Handling and Decision-Making Optimization
      • Neura AI v0.5.8 - Faster, Smoother, More Reliable
      • Neura AI v0.5.7 Core Request-Response Handling Architecture Optimization
      • Neura AI v0.5.6 - Security Update and Bugs Fix
      • Neura AI v0.5.5 - Security Optimizations, Bugs Patches and Multi-Language Support, Flux 1.1 Pro
      • Neura AI v0.5.4 Optimized Relevant Context Retrieval, Eleven Labs Speech to Text and Enhanced Trello
      • Neura AI v0.5.3 - Telegram Text, Code and Image Format Enhancement - TTS and Upload Fallback Added
      • Neura AI v0.5.2 - Trello Integration, Llama3.1 Improvements, and Parallel API Call Strategy
      • Neura AI v0.5.1 - React Agents Bug Fix, Introducing Top Context To Fetch and Context Optimizations
      • Neura AI v0.5.0: Introducing Lexicon. Our Enhanced NLP Engine For Analysis and Classification
      • Neura AI v0.4.9 Bug Fixes, Sales Bot Optimizations and Context Improvements
      • Neura AI v0.4.8 - Improved User Interface and History Handling
      • Neura AI v0.4.7 - Context Management and Environment Optimizations
      • Neura AI v0.4.6 - Context Optimization and Chat History Metadata to Analysis
      • Neura AI v0.4.5: Enhanced RAG System and Improved Content Retrieval
      • Neura AI v0.4.4 - New Features: Docker Alerts and Sales Bot
      • Neura AI v0.4.3 - Slack Integration
      • Neura AI v0.4.2 - Enhanced Context Management and Group Collaboration
      • Neura AI v0.4.1 - Document Handling, Logging, and System Reliability
      • Neura AI v0.4.0: Introducing Reason-Act Agents, Multi Module Retry Logic and Real-Time Error Alerts
      • Neura AI v0.3.9: Voice Interaction Revolution
      • Neura AI v0.3.8 - Llama 3.1 Integration, Rust Migration, Speech-to-Text, 781 commits and more!
      • Neura AI v0.3.7 - Telegram Integration Features: Track Negative Feedback, and Intelligent Alerts
      • Neura AI v0.3.6 - Image-to-Video and Remove Background Feature
      • Neura AI v0.3.5 - In-painting and Search and Replace Image Processing
      • Neura AI v0.3.4 - Advanced RAG Context Management and Multi-Model Image Generation
      • Neura AI v0.3.3 - Store Data to Database | Optimized Entry Point Response and Discord New Triggers
      • Neura AI v0.3.2 - Improved Context Management and NLP Integration to Purge Context
      • Neura AI v0.3.1 - Enhanced Context and Response Time, Task Determination, Groq and Claude 3.5 Sonnet
      • Neura AI v0.3.0 Update: Chat History RAG, NLP Enhancements, and Multi-Language Image Processing
      • Neura AI v0.2.9 - Feedback and Sentiment Mechanism for Telegram Groups
      • Neura AI v0.2.8 - Telegram Integration - Text Formatting Enhancements
      • Neura AI v0.2.7 - Enhanced Analysis Process, 16_ID, Image Upload Processing, Token Usage Tracking
      • Neura AI v0.2.6 - GPT4o Integration, Enhanced API, URL Sanitizer, Additional Logging and Bugs Fixed
      • Neura AI v0.2.5 - Advanced API Rate Limiting and Exponential Backoff Integration
      • Neura AI v0.2.4 - Image Upload Handling, Generation Module and LLM Interaction Enhanced
      • Neura AI v0.2.3 - Bug Fix: Azure Blob Upload Bug Resolved
      • Neura AI - Enhanced AI-Driven Interaction Capabilities
      • Neura AI v0.2.1 - Updating Asynchronous Architecture, RAG Cosine
      • Neura AI v0.2.0 - Modularization of the API Endpoint, Bug fixes, and Azure Blob Migration
      • Neura AI v0.1.92 Improved Database Retrieval and Response Performance
      • Neura AI v0.1.91 - API v1.1 - Interact Endpoint Enhanced - Support For Multipart/Form-Data
      • Neura AI v0.1.9 - RAG Similarity | Initial Query Triggers Added | FE Improvements
      • Neura AI v0.1.8 - Image Generation Enhanced, New NLP Triggers, Additional Modularization
      • Neura AI v0.1.7 Image Analysis Improvement, Mint NFT Button Improvement, and Additional Triggers Ad
      • Neura AI 0.1.6 - Frontend Update, Integration of Additional NLP Triggers and STT
      • Neura AI v0.1.5 | NLP for image generation, dynamic styling for dark or light mode and more
      • Neura v0.1.4 | Img previews, API CORS+OPTIONS, user-icon added, generate images with user query+URL
      • Neura AI v0.1.3 | Successful Resolution of Socket.IO Issues and Frontend Modularization
      • Neura AI v0.1.2 | Integration of Multiple Endpoints with FastAPI and Httpx
      • Neura AI v0.1.1 | BE Architecture and FastAPI Migration
      • WIP -> Upload Button Integration
    • Scope and Goals
    • Modular Architecture
    • Context and Database (RAG)
    • Integrations
      • Telegram Oracle v0.1.0
        • Fana Telegram Oracle Agent v0.2.0 - Revamped Doc Update
        • Fana Telegram Oracle Agent v0.3.0
      • Trello
      • Discord
      • Slack
    • Applications
      • Neura Artifacto User Interface v0.3.0
      • Neura Autonomous Agents
      • Neura Transcribe (TSB)
      • Neura AI Insight Forge - Your WebGenius Scraper and FAQ Engine v0.2.0
      • Neura Email Sales Agent (ESA)
        • Neura Email Oracle Agent v0.1.1 - Enhancements to Self-Loop Email Handling and OOF Filters
    • API
    • Software Development Kits (SDK)
      • Rust
      • Typescript
    • Security and Authentication
    • Upcoming Features and Product Roadmap
    • Getting Started - Read.me
    • Project Diagram and Structure
Powered by GitBook
On this page
  • Authentication
  • API Server Configuration
  • Security and Access Controls
  • Cloudflare Protection
  • Encryption
  • Image Storage
  • Database Storage
  • Database Security and Authentication
  • Row Level Security (RLS)
  • Data Confidentiality
  • Compliance
  • Vault
  • Containerized Application
  1. What is Neura?

Security and Authentication

Our API is designed with security in mind, incorporating robust measures to protect against potential threats. Here's a detailed overview of our security practices:


Authentication

We employ API Bearer authentication to ensure that only authorized requests are processed. This mechanism verifies the identity of users and grants access based on their permissions.

API Server Configuration

The API is encapsulated in a FastAPI application configured to run under Uvicorn with Socket.IO integration for real-time capabilities. It’s designed to be scalable and performant under high-load scenarios, leveraging asynchronous server capabilities.

Security and Access Controls

  • API Security: Utilizes HTTPS and API key authentication for secure data transmission.

Example API configuration in FastAPI:

from fastapi import FastAPI, APIRouter,
from tenacity import retry, stop_after_attempt, wait_exponential
from fastapi_limiter.depends import RateLimiter

@retry(wait=wait_exponential(multiplier=1, min=8, max=64), stop=stop_after_attempt(3))
@router.get(
    "/",
    dependencies=[Depends(RateLimiter(times=15, seconds=60))],
    tags=["api_v1"],
    summary="Read Main Endpoint",
)
def read_main(
    api_key: str = Depends(get_api_key),
):
    return {"msg": "Hello from FANA API V1"}
  • CORS Configuration: Set through FastAPI middleware to safely allow cross-origin requests.

Example CORS configuration in FastAPI:

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

Cloudflare Protection

Our API is proxied by Cloudflare, ensuring that any DDoS attacks do not reach the server. Cloudflare's advanced threat mitigation capabilities protect our infrastructure from a variety of attacks, including DDoS.

Encryption

All data is protected using SSL encryption both in transit and at rest. This encryption safeguards sensitive information from interception and unauthorized access, ensuring the confidentiality and integrity of your data.

Image Storage

Our image upload endpoint leverages Azure Blob cloud storage. Azure provides an additional layer of security for image storage and processing, ensuring that your data is safe from unauthorized access and breaches.

Database Storage

We leverage Supabase to store our vector database as embeddings. Supabase is a powerful backend-as-a-service (BaaS) platform that provides a robust and secure environment for managing database storage, particularly for vector databases.

Database Security and Authentication

Supabase ensures the security of our data through multiple layers of protection. By using Postgres as the underlying database, Supabase inherits its advanced security features, including row-level security (RLS), encryption at rest, and encryption in transit.

For authentication, Supabase offers a comprehensive suite of tools to manage user access and permissions. It supports various authentication methods such as email/password, OAuth providers (e.g., Google, GitHub, GitLab, Bitbucket), and third-party authentication via JWT tokens. This flexibility allows for seamless integration with existing user management systems.

Row Level Security (RLS)

RLS is a PostgreSQL feature that allows you to define fine-grained access control policies for rows in a table. Row-Level Encryption provides a robust security framework that combines Row Level Security (RLS) with encryption to protect your data. You can specify which users or roles can access specific rows based on conditions, such as column values or user attributes. Encryption: Supabase uses PostgreSQL’s Transparent Column Encryption (TCE) to encrypt data at rest. TCE encrypts columns individually, using a combination of symmetric and asymmetric encryption algorithms. This ensures that even if an attacker gains access to the encrypted data, they won’t be able to decrypt it without the corresponding encryption keys. Key Benefits:

Data Confidentiality

RLS ensures that only authorized users can access specific rows, while encryption protects the data from unauthorized access, even if an attacker gains access to the encrypted data. Granular access control: RLS allows you to define complex access policies based on row-level conditions, while encryption provides an additional layer of protection.

Compliance

Supabase’s RLS and encryption features help us meet regulatory requirements for data protection, such as SOC2, GDPR, HIPAA, and PCI-DSS. Supabase-specific features:

Vault

Supabase’s Vault is a secure storage system that manages encryption keys and secrets. It integrates with RLS to ensure that encryption keys are only accessible to authorized users. pgsodium: Supabase uses pgsodium, a PostgreSQL extension, to provide Transparent Column Encryption (TCE). This ensures that encryption is transparent to the application and only requires configuration at the database level. Example Use Cases:

Containerized Application

Each client's application operates within its own Docker container. This isolated environment minimizes risk by restricting access to the container’s resources to authorized users only. Each container handles its API authentication independently, providing tailored backend modules for client-specific interactions.

Benefits of Containerized Applications

  • Isolation: Containers provide an isolated environment for each application, limiting the scope of potential security breaches to a single container rather than the entire host system.

  • Consistent Environments: Containers ensure that applications run in the same environment, from development through production, reducing the risks associated with environmental inconsistencies.

  • Minimalist Base: Containers can be created with only the necessary components required for the application, minimizing the attack surface.

  • Immutability: Containers can be configured to be immutable, meaning once they are deployed, they cannot be changed. This prevents unauthorized modifications.

  • Scalability and Manageability: Containers allow for easy management and scaling of applications, which simplifies patch management and security updates.

  • Containerized Client Data: Client data is containerized and isolated, ensuring it does not mix with outside data, providing a high level of data security.

  • Microservices Security: The use of containers is conducive to a microservices architecture, which allows for the segregation of services, reducing the impact of a potential compromise.


Our commitment to cybersecurity ensures that our API provides a safe and reliable environment for users to interact with. By leveraging modern frameworks, robust authentication methods, advanced cloud storage solutions, and containerized deployments, we provide a secure, scalable, and efficient API service.

PreviousTypescriptNextUpcoming Features and Product Roadmap

Last updated 8 months ago