[{"data":1,"prerenderedAt":384},["ShallowReactive",2],{"content-query-FygW6FwCrD":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"sidebar_position":10,"body":11,"_type":378,"_id":379,"_source":380,"_file":381,"_stem":382,"_extension":383},"/docs/concepts","docs",false,"","Core Concepts","Understanding how CredVault works will help you make the most of the platform. This section explains the fundamental concepts and architecture that power your applications.",3,{"type":12,"children":13,"toc":365},"root",[14,22,27,34,39,50,60,70,75,81,107,112,117,123,128,133,138,144,149,159,169,179,189,195,200,205,211,216,221,226,232,237,242,252,262,272,277,283,288,293,298,304,309,314,319,325,330,340,350,360],{"type":15,"tag":16,"props":17,"children":19},"element","h1",{"id":18},"core-concepts",[20],{"type":21,"value":8},"text",{"type":15,"tag":23,"props":24,"children":25},"p",{},[26],{"type":21,"value":9},{"type":15,"tag":28,"props":29,"children":31},"h2",{"id":30},"the-document-model",[32],{"type":21,"value":33},"The Document Model",{"type":15,"tag":23,"props":35,"children":36},{},[37],{"type":21,"value":38},"CredVault uses a document-oriented data model. Unlike traditional relational databases that store data in rows and columns, CredVault stores data as flexible JSON-like documents. This approach offers several advantages for modern applications.",{"type":15,"tag":23,"props":40,"children":41},{},[42,48],{"type":15,"tag":43,"props":44,"children":45},"strong",{},[46],{"type":21,"value":47},"Schema Flexibility",{"type":21,"value":49}," — Documents in the same collection can have different fields. This makes it easy to evolve your data model as requirements change, without disruptive migrations.",{"type":15,"tag":23,"props":51,"children":52},{},[53,58],{"type":15,"tag":43,"props":54,"children":55},{},[56],{"type":21,"value":57},"Rich Data Types",{"type":21,"value":59}," — Documents support nested objects, arrays, dates, binary data, and more. You can model complex relationships within a single document.",{"type":15,"tag":23,"props":61,"children":62},{},[63,68],{"type":15,"tag":43,"props":64,"children":65},{},[66],{"type":21,"value":67},"Natural Mapping",{"type":21,"value":69}," — Document structures often match how data is represented in your application code, reducing the need for object-relational mapping layers.",{"type":15,"tag":23,"props":71,"children":72},{},[73],{"type":21,"value":74},"A typical document might look like this: a user profile containing basic information, an embedded address object, and an array of preferences. Everything related to that user lives together, making reads efficient.",{"type":15,"tag":28,"props":76,"children":78},{"id":77},"collections-and-databases",[79],{"type":21,"value":80},"Collections and Databases",{"type":15,"tag":23,"props":82,"children":83},{},[84,86,91,93,98,100,105],{"type":21,"value":85},"Data in CredVault is organized hierarchically. At the top level, you have ",{"type":15,"tag":43,"props":87,"children":88},{},[89],{"type":21,"value":90},"clusters",{"type":21,"value":92}," — managed database instances. Each cluster contains one or more ",{"type":15,"tag":43,"props":94,"children":95},{},[96],{"type":21,"value":97},"databases",{"type":21,"value":99},", and each database contains ",{"type":15,"tag":43,"props":101,"children":102},{},[103],{"type":21,"value":104},"collections",{"type":21,"value":106},".",{"type":15,"tag":23,"props":108,"children":109},{},[110],{"type":21,"value":111},"Collections are groups of related documents. Unlike tables in relational databases, collections don't enforce a fixed schema by default. You can think of collections as buckets for similar types of data — users in one collection, orders in another, products in a third.",{"type":15,"tag":23,"props":113,"children":114},{},[115],{"type":21,"value":116},"Databases provide a layer of organization within a cluster. You might use separate databases for different applications or modules within a large system. Each database maintains its own set of collections.",{"type":15,"tag":28,"props":118,"children":120},{"id":119},"queries-and-indexes",[121],{"type":21,"value":122},"Queries and Indexes",{"type":15,"tag":23,"props":124,"children":125},{},[126],{"type":21,"value":127},"Retrieving data from CredVault uses a powerful query language. You can filter documents based on field values, query nested fields, match elements in arrays, and combine conditions with logical operators.",{"type":15,"tag":23,"props":129,"children":130},{},[131],{"type":21,"value":132},"For efficient querying, CredVault supports indexes. An index is a data structure that improves the speed of read operations on specific fields. Without an index, a query must scan every document in a collection — fine for small datasets, but slow for large ones.",{"type":15,"tag":23,"props":134,"children":135},{},[136],{"type":21,"value":137},"When you find yourself querying the same fields repeatedly, consider creating an index on those fields. CredVault provides tools to analyze query patterns and recommend indexes automatically.",{"type":15,"tag":28,"props":139,"children":141},{"id":140},"authentication-and-security",[142],{"type":21,"value":143},"Authentication and Security",{"type":15,"tag":23,"props":145,"children":146},{},[147],{"type":21,"value":148},"CredVault takes security seriously. Multiple layers of protection keep your data safe.",{"type":15,"tag":23,"props":150,"children":151},{},[152,157],{"type":15,"tag":43,"props":153,"children":154},{},[155],{"type":21,"value":156},"User Authentication",{"type":21,"value":158}," — Human users authenticate through the dashboard or API using email and password, or through social providers like Google and GitHub. Sessions are managed securely with industry-standard practices.",{"type":15,"tag":23,"props":160,"children":161},{},[162,167],{"type":15,"tag":43,"props":163,"children":164},{},[165],{"type":21,"value":166},"API Key Authentication",{"type":21,"value":168}," — Applications authenticate using API keys. Each key is associated with specific permissions and can be revoked instantly if compromised.",{"type":15,"tag":23,"props":170,"children":171},{},[172,177],{"type":15,"tag":43,"props":173,"children":174},{},[175],{"type":21,"value":176},"Transport Security",{"type":21,"value":178}," — All connections to CredVault use TLS encryption. Data in transit is protected from eavesdropping and tampering.",{"type":15,"tag":23,"props":180,"children":181},{},[182,187],{"type":15,"tag":43,"props":183,"children":184},{},[185],{"type":21,"value":186},"Data Encryption",{"type":21,"value":188}," — Data at rest is encrypted using strong encryption algorithms. Even if storage media were compromised, your data remains protected.",{"type":15,"tag":28,"props":190,"children":192},{"id":191},"multi-tenancy",[193],{"type":21,"value":194},"Multi-Tenancy",{"type":15,"tag":23,"props":196,"children":197},{},[198],{"type":21,"value":199},"CredVault supports multi-tenant architectures natively. Each account operates within its own isolated tenant, with complete separation of data and resources.",{"type":15,"tag":23,"props":201,"children":202},{},[203],{"type":21,"value":204},"For applications that serve multiple customers, you can implement tenant isolation at the collection or field level. CredVault's query system supports efficient filtering by tenant, ensuring customers only see their own data.",{"type":15,"tag":28,"props":206,"children":208},{"id":207},"the-intelligence-engine-cie",[209],{"type":21,"value":210},"The Intelligence Engine (CIE)",{"type":15,"tag":23,"props":212,"children":213},{},[214],{"type":21,"value":215},"The CredVault Intelligence Engine brings machine learning capabilities directly into the platform. Instead of moving data to separate ML infrastructure, you can train and deploy models where your data already lives.",{"type":15,"tag":23,"props":217,"children":218},{},[219],{"type":21,"value":220},"CIE supports the complete ML lifecycle: uploading training datasets, configuring and training models, evaluating performance, and deploying for inference. Models can run predictions in real-time or batch mode, depending on your use case.",{"type":15,"tag":23,"props":222,"children":223},{},[224],{"type":21,"value":225},"For many common tasks — classification, regression, anomaly detection — CIE provides pre-built model templates. For specialized needs, you can bring custom model architectures.",{"type":15,"tag":28,"props":227,"children":229},{"id":228},"serverless-functions",[230],{"type":21,"value":231},"Serverless Functions",{"type":15,"tag":23,"props":233,"children":234},{},[235],{"type":21,"value":236},"Serverless functions let you run custom code without managing servers. You write the function logic, and CredVault handles execution, scaling, and infrastructure.",{"type":15,"tag":23,"props":238,"children":239},{},[240],{"type":21,"value":241},"Functions can be triggered in several ways:",{"type":15,"tag":23,"props":243,"children":244},{},[245,250],{"type":15,"tag":43,"props":246,"children":247},{},[248],{"type":21,"value":249},"Event Triggers",{"type":21,"value":251}," — Run when documents are inserted, updated, or deleted in a collection. Perfect for validation, enrichment, or propagating changes.",{"type":15,"tag":23,"props":253,"children":254},{},[255,260],{"type":15,"tag":43,"props":256,"children":257},{},[258],{"type":21,"value":259},"HTTP Triggers",{"type":21,"value":261}," — Expose functions as API endpoints. Build custom APIs or webhooks that execute your logic.",{"type":15,"tag":23,"props":263,"children":264},{},[265,270],{"type":15,"tag":43,"props":266,"children":267},{},[268],{"type":21,"value":269},"Scheduled Triggers",{"type":21,"value":271}," — Run on a time-based schedule. Useful for reporting, cleanup tasks, and periodic processing.",{"type":15,"tag":23,"props":273,"children":274},{},[275],{"type":21,"value":276},"Functions execute in isolated environments with access to your cluster data. They can read and write documents, call external APIs, and return results.",{"type":15,"tag":28,"props":278,"children":280},{"id":279},"webhooks-and-events",[281],{"type":21,"value":282},"Webhooks and Events",{"type":15,"tag":23,"props":284,"children":285},{},[286],{"type":21,"value":287},"Webhooks push notifications to your external systems when events occur in CredVault. Instead of polling for changes, your applications receive instant callbacks.",{"type":15,"tag":23,"props":289,"children":290},{},[291],{"type":21,"value":292},"When you configure a webhook, you specify which events to monitor and the URL to notify. CredVault sends a signed HTTP request to your endpoint with details about the event.",{"type":15,"tag":23,"props":294,"children":295},{},[296],{"type":21,"value":297},"The event system is designed for reliability. Failed deliveries are retried with exponential backoff. You can inspect delivery history and manually retry failed attempts.",{"type":15,"tag":28,"props":299,"children":301},{"id":300},"backups-and-recovery",[302],{"type":21,"value":303},"Backups and Recovery",{"type":15,"tag":23,"props":305,"children":306},{},[307],{"type":21,"value":308},"Data protection is built into the platform. CredVault automatically backs up your clusters on a regular schedule, retaining snapshots for the period defined by your plan.",{"type":15,"tag":23,"props":310,"children":311},{},[312],{"type":21,"value":313},"For additional protection, you can trigger manual backups before major operations like migrations or bulk updates. Backups are stored separately from your primary data for disaster recovery.",{"type":15,"tag":23,"props":315,"children":316},{},[317],{"type":21,"value":318},"Restoring from a backup is straightforward through the dashboard or API. You can restore to the original cluster or create a new cluster from the backup.",{"type":15,"tag":28,"props":320,"children":322},{"id":321},"monitoring-and-observability",[323],{"type":21,"value":324},"Monitoring and Observability",{"type":15,"tag":23,"props":326,"children":327},{},[328],{"type":21,"value":329},"Understanding what's happening in your system is essential for maintaining healthy applications. CredVault provides comprehensive monitoring capabilities.",{"type":15,"tag":23,"props":331,"children":332},{},[333,338],{"type":15,"tag":43,"props":334,"children":335},{},[336],{"type":21,"value":337},"Metrics",{"type":21,"value":339}," — Real-time and historical data about operations, latency, storage usage, and more. Identify trends and troubleshoot performance issues.",{"type":15,"tag":23,"props":341,"children":342},{},[343,348],{"type":15,"tag":43,"props":344,"children":345},{},[346],{"type":21,"value":347},"Activity Logs",{"type":21,"value":349}," — A detailed audit trail of all operations. Know who did what and when for security and compliance.",{"type":15,"tag":23,"props":351,"children":352},{},[353,358],{"type":15,"tag":43,"props":354,"children":355},{},[356],{"type":21,"value":357},"Alerts",{"type":21,"value":359}," — Configure notifications for important events — high error rates, approaching limits, unusual activity patterns.",{"type":15,"tag":23,"props":361,"children":362},{},[363],{"type":21,"value":364},"The dashboard provides visualizations for common metrics. For deeper analysis, you can export data to your preferred monitoring tools.",{"title":7,"searchDepth":366,"depth":366,"links":367},2,[368,369,370,371,372,373,374,375,376,377],{"id":30,"depth":366,"text":33},{"id":77,"depth":366,"text":80},{"id":119,"depth":366,"text":122},{"id":140,"depth":366,"text":143},{"id":191,"depth":366,"text":194},{"id":207,"depth":366,"text":210},{"id":228,"depth":366,"text":231},{"id":279,"depth":366,"text":282},{"id":300,"depth":366,"text":303},{"id":321,"depth":366,"text":324},"markdown","content:docs:concepts.md","content","docs/concepts.md","docs/concepts","md",1777847380893]