{"id":69134,"date":"2026-04-07T20:17:38","date_gmt":"2026-04-07T10:17:38","guid":{"rendered":"https:\/\/www.salesforce.com\/?p=69134"},"modified":"2026-04-08T12:13:59","modified_gmt":"2026-04-08T02:13:59","slug":"8-ways-to-harden-your-security-posture-using-agentforce-vibes","status":"publish","type":"post","link":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/","title":{"rendered":"8 Ways to Harden Your Security Posture Using Agentforce Vibes"},"content":{"rendered":"\n<p><em><strong>Disclaimer:<\/strong> The use cases described here are illustrative examples of how to leverage Agentforce Vibes or &#8220;Vibe Coding&#8221; tools; these are not built-in product features. All generated code must be maintained according to your security guidelines. Many scenarios can be implemented via low-code\u2014choose the approach that fits your skillset.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-rise-of-vibe-coding-in-security\">The Rise of Vibe Coding in Security<\/h2>\n\n\n\n<p>Vibe Coding is here to stay. Whether it\u2019s building rapid POCs or explaining complex features, these tools have become a game-changer for developers. While they continue to mature to handle more mission-critical tasks, they have already proven their value. For Salesforce customers prioritising security and compliance, <strong><a href=\"https:\/\/www.salesforce.com\/au\/artificial-intelligence\/developers\/vibe-coding\/\">Agentforce Vibes<\/a><\/strong> is an ideal candidate due to its integrated, in-house capabilities.<\/p>\n\n\n\n<p><strong>Trusted Services<\/strong> are Salesforce\u2019s purpose-built security and compliance accelerators, designed to help customers continuously assess, monitor, and strengthen their security posture. They provide deep insight into how your org is actually behaving\u2014far beyond static configuration checks. However, security challenges are rarely one-size-fits-all. Many real-world requirements sit just outside the boundaries of standard product features, not because they lack importance, but because they are highly contextual. This is where Vibe Coding becomes a force multiplier: enabling you to extend Trusted Services into tailored, high-impact use cases that address your organisation\u2019s specific risk landscape.<\/p>\n\n\n\n<p>Below, we explore how to amplify your security toolset usage with Agentforce Vibes. Pick and choose the use cases that align with your specific portfolio. The best part? Stick around for a bonus at the end.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phase-1-event-monitoring-em\">Phase 1: Event Monitoring (EM)<\/h3>\n\n\n\n<p>Event Monitoring (EM) provides unprecedented visibility into your applications, allowing you to track who is accessing what data and when. Beyond granular logs, EM offers mechanisms to monitor specific real-time events, this capability is called Transaction Security Policies:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(1) Apex-based Transaction Security Policies (TSPs):<\/strong> While the Condition Builder is a powerful low-code tool for alerts, certain use cases require Apex. Our product team has curated a list of the <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=xcloud.top_transaction_security_policies.htm&amp;type=5\" target=\"_blank\" rel=\" noopener\">most common use cases here<\/a> for you to explore. However, for those highly specific scenarios unique to your organisation, Agentforce Vibes can step in to bridge the gap. By describing your specific conditions and the objects involved, you can generate an initial draft of the Apex class you need.\n<ul class=\"wp-block-list\">\n<li><strong>Pro Tip:<\/strong> Use <code>@<\/code> mentions to provide object details so the agent understands the specific metadata schema you would like to use.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Agent Mode: Act<\/strong><\/p>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-1\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-1><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Create an Apex class for a Transaction Security Policy (TSP) that restricts file downloads outside business hours.<\/span>\n<span class=\"sf-code-block__line\"><strong>Context \/ References<\/strong><\/span>\n<span class=\"sf-code-block__line\">Interface: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">TxnSecurity.EventCondition<\/span><\/span>\n<span class=\"sf-code-block__line\">Example Reference:<\/span>\n<span class=\"sf-code-block__line\"><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=xcloud.enhanced_transaction_security_policy_apex_examples.htm&amp;type=5\" target=\"_blank\" rel=\" noopener\">https:\/\/help.salesforce.com\/s\/articleView?id=xcloud.enhanced_transaction_security_policy_apex_examples.htm&amp;type=5\u279a<\/a><\/span>\n<span class=\"sf-code-block__line\">Event Object: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">FileEventStore<\/span><\/span>\n<span class=\"sf-code-block__line\">Object Reference:<\/span>\n<span class=\"sf-code-block__line\"><a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.platform_events.meta\/platform_events\/sforce_api_objects_fileevent.htm\" target=\"_blank\" rel=\" noopener\">https:\/\/developer.salesforce.com\/docs\/atlas.en-us.platform_events.meta\/platform_events\/sforce_api_objects_fileevent.htm\u279a<\/a><\/span>\n<span class=\"sf-code-block__line\"><\/span>\n<span class=\"sf-code-block__line\"><strong>Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Event Object: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">FileEventStore<\/span><\/span>\n<span class=\"sf-code-block__line\">Policy triggers when a file download is attempted outside business hours.<\/span>\n<span class=\"sf-code-block__line\">Business Hours:<\/span>\n<span class=\"sf-code-block__line\">Monday to Friday<\/span>\n<span class=\"sf-code-block__line\">10:00 AM to 5:00 PM<\/span>\n<span class=\"sf-code-block__line\">Exclusion: Users with the <strong>System Administrator<\/strong> profile must be exempt.<\/span>\n<span class=\"sf-code-block__line\"><\/span>\n<span class=\"sf-code-block__line\"><strong>Functional Logic<\/strong><\/span>\n<span class=\"sf-code-block__line\">Evaluate <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">FileEventStore.Operation == 'Download'<\/span>Retrieve the user\u2019s Profile Name using <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">FileEvent.UserId<\/span><\/span>\n<span class=\"sf-code-block__line\">Return <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">true<\/span> to trigger the policy action when conditions are met<\/span>\n<span class=\"sf-code-block__line\"><\/span>\n<span class=\"sf-code-block__line\"><strong>Output Expectations<\/strong><\/span>\n<span class=\"sf-code-block__line\">Provide a clean, optimised Apex class named<\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">RestrictFileDownloadByTime<\/span><\/span>\n<span class=\"sf-code-block__line\">Include inline comments explaining the logic<\/span>\n<span class=\"sf-code-block__line\"><\/span>\n<span class=\"sf-code-block__line\"><strong>Access \/ Availability<\/strong><\/span>\n<span class=\"sf-code-block__line\">Ensure the class is accessible to all core profiles<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(2) Intelligent TSP Suggestions:<\/strong> Agentforce Vibes can analyse your repository to identify sensitive information based on naming conventions and descriptions, recommending new, tailored TSPs you might have missed.<\/li>\n<\/ul>\n\n\n\n<p><strong>Agent Mode: Plan<\/strong><\/p>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-2\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-2><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Analyse Salesforce metadata to identify security gaps and recommend new Tenant Security Policies (TSPs).<\/span>\n<span class=\"sf-code-block__line\"><strong>Context \/ Scope<\/strong><\/span>\n<span class=\"sf-code-block__line\">Analyse the following metadata types:<\/span>\n<span class=\"sf-code-block__line\">Custom Objects<\/span>\n<span class=\"sf-code-block__line\">Fields<\/span>\n<span class=\"sf-code-block__line\">Apex Code<\/span>\n<span class=\"sf-code-block__line\">Flow Definitions<\/span>\n<span class=\"sf-code-block__line\"><strong>Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Metadata Analysis<\/strong><\/span>\n<span class=\"sf-code-block__line\">Identify sensitive naming patterns such as:<\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">SSN<\/span><\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">TaxID<\/span><\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">Patient_Ref<\/span><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\"><\/span><\/span>\n<span class=\"sf-code-block__line\">Analyse field descriptions implying PII, PHI, or PCI data<\/span>\n<span class=\"sf-code-block__line\"><strong>Logic Analysis<\/strong><\/span>\n<span class=\"sf-code-block__line\">Identify Apex classes or Controllers handling high-risk data transactions<\/span>\n<span class=\"sf-code-block__line\">Flag areas lacking appropriate security controls or filtering<\/span>\n<span class=\"sf-code-block__line\"><strong>Output Expectations<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Gap Analysis<\/strong><\/span>\n<span class=\"sf-code-block__line\">Identify where existing TSPs are missing or insufficient<\/span>\n<span class=\"sf-code-block__line\"><strong>TSP Recommendations<\/strong><\/span>\n<span class=\"sf-code-block__line\">Provide <strong>3\u20135 tailored TSPs<\/strong>, each including:<\/span>\n<span class=\"sf-code-block__line\"><strong>Policy Name<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Rationale<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Configuration Logic<\/strong> (specific triggers or patterns)<\/span>\n<span class=\"sf-code-block__line\"><strong>Priority Level<\/strong> (High \/ Medium \/ Low)<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<p><strong>(3) Custom Reporting on <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=xcloud.real_time_em_event_log_objects.htm&amp;type=5\" target=\"_blank\" rel=\" noopener\">Event Log Objects<\/a>:<\/strong> Since Event Monitoring logs reside in standard objects, you can build custom reports that surface key trends from the event types most relevant to your business. For example, to identify potential data exfiltration, you might track instances where a user suddenly downloads an unusual volume of attachments. To visualise this, we will create a Lightning Web Component (LWC) that surfaces these insights, allowing us to embed the dashboard directly into our Shield app.<\/p>\n\n\n\n<p><strong>Agent Mode: Act<\/strong><\/p>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-3\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-3><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Develop a Lightning Web Component dashboard to visualise file activity.<\/span>\n<span class=\"sf-code-block__line\"><strong>Context \/ References<\/strong><\/span>\n<span class=\"sf-code-block__line\">LWC Name: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">attachmentLogsDashboard<\/span><\/span>\n<span class=\"sf-code-block__line\">Apex Controller: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">AttachmentEventLogController<\/span><\/span>\n<span class=\"sf-code-block__line\">Target Object: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">AttachmentEventLog<\/span><\/span>\n<span class=\"sf-code-block__line\">Object Reference:<\/span>\n<span class=\"sf-code-block__line\"><a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.258.0.object_reference.meta\/object_reference\/sforce_api_objects_attachmenteventlog.htm\" target=\"_blank\" rel=\" noopener\">https:\/\/developer.salesforce.com\/docs\/atlas.en-us.258.0.object_reference.meta\/object_reference\/sforce_api_objects_attachmenteventlog.htm\u279a<\/a><\/span>\n<span class=\"sf-code-block__line\"><strong>Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Data Visualisation<\/strong><\/span>\n<span class=\"sf-code-block__line\">Display the following datasets:<\/span>\n<span class=\"sf-code-block__line\">Operation counts (Upload \/ Download \/ Delete)<\/span>\n<span class=\"sf-code-block__line\">Top 5 users by download volume<\/span>\n<span class=\"sf-code-block__line\">Activity grouped by parent object type<\/span>\n<span class=\"sf-code-block__line\"><strong>Query Constraints<\/strong><\/span>\n<span class=\"sf-code-block__line\">Apply a strict 15-day timestamp filter<\/span>\n<span class=\"sf-code-block__line\">Ensure timezone alignment with the running user<\/span>\n<span class=\"sf-code-block__line\"><strong>UI Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Use <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">lightning-card<\/span> as the container<\/span>\n<span class=\"sf-code-block__line\">Include <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">lightning-spinner<\/span> for loading states<\/span>\n<span class=\"sf-code-block__line\">Implement robust error-handling UI<\/span>\n<span class=\"sf-code-block__line\"><strong>Access \/ Availability<\/strong><\/span>\n<span class=\"sf-code-block__line\">Expose component on:<\/span>\n<span class=\"sf-code-block__line\">App Pages<\/span>\n<span class=\"sf-code-block__line\">Home Pages<\/span>\n<span class=\"sf-code-block__line\">Record Pages<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phase-2-security-centre\">Phase 2: Security Centre<\/h3>\n\n\n\n<p>Security Centre offers a centralised view of your security posture, and you can further extend its impact by leveraging Custom Metrics. This framework allows you to track business-essential data in custom objects and surface it in a single dashboard.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>4) Scalable Custom Metric Development:<\/strong> Agentforce Vibes can significantly accelerate the creation of the underlying infrastructure required for Custom Metrics. Whether you need to define a custom object to house security data or generate the scheduled logic to populate it, these tools can handle the heavy lifting. <em>Example:<\/em> You could build an automated &#8220;Storage Snapshot&#8221; tool that runs monthly, captures current record counts, and stores them in a custom object to be surfaced directly within your Security Centre dashboard as a historical trend.<\/li>\n<\/ul>\n\n\n\n<p><strong>Agent Mode: Act<\/strong><\/p>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-4\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-4><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Create a custom Security Centre metric to track Salesforce storage consumption over time.<\/span>\n<span class=\"sf-code-block__line\"><strong>Metric Data Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Storage Categories<\/strong><\/span>\n<span class=\"sf-code-block__line\">Data Storage: Limit, Used, Used (%)<\/span>\n<span class=\"sf-code-block__line\">File Storage: Limit, Used, Used (%)<\/span>\n<span class=\"sf-code-block__line\">Big Object Storage: Limit, Used, Used (%)<\/span>\n<span class=\"sf-code-block__line\"><strong>Top Consumers<\/strong><\/span>\n<span class=\"sf-code-block__line\">Top 10 objects by storage usage per storage type<\/span>\n<span class=\"sf-code-block__line\">For each object:<\/span>\n<span class=\"sf-code-block__line\">Record Count<\/span>\n<span class=\"sf-code-block__line\">Storage Used<\/span>\n<span class=\"sf-code-block__line\">Percentage of Total Storage<\/span>\n<span class=\"sf-code-block__line\">Store object-level data in <strong>JSON fields<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Custom Object Guidelines<\/strong><\/span>\n<span class=\"sf-code-block__line\">Create a custom object and fields compatible with Security Centre Custom Metrics<\/span>\n<span class=\"sf-code-block__line\">Required Fields:<\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">RecordProductionDate<\/span> <\/span>\n<span class=\"sf-code-block__line\">(Date\/Time, Required)<\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">TenantId<\/span> (Text, Length 15, Required)<\/span>\n<span class=\"sf-code-block__line\"><strong>Automation Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Scheduled Apex job:<\/span>\n<span class=\"sf-code-block__line\">Runs daily<\/span>\n<span class=\"sf-code-block__line\">Queries OrgLimits API<\/span>\n<span class=\"sf-code-block__line\">Persists records for <strong>2 years<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Additional Deliverables<\/strong><\/span>\n<span class=\"sf-code-block__line\">Generate 30 days of dummy historical data<\/span>\n<span class=\"sf-code-block__line\">Create an LWC to visualise 2-year storage growth trends<\/span>\n<span class=\"sf-code-block__line\">Ensure the LWC is available as a <strong>Lightning Component Tab<\/strong><\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phase-3-privacy-centre-amp-consent\">Phase 3: Privacy Centre &amp; Consent<\/h3>\n\n\n\n<p>Privacy Centre simplifies data privacy management, whether it is helping you automate Right to Be Forgotten and Data Portability requests or supporting your path through Consent Management.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(5) Lifecycle Reporting:<\/strong> A key use case here is understanding the &#8220;flow&#8221; of privacy. Use Agentforce Vibes to build reports on how Data Subject Requests (DSRs) are being fulfilled, the fulfilment rate, and which objects are most frequently involved.<\/li>\n<\/ul>\n\n\n\n<p><strong>Agent mode: Act<\/strong><\/p>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-5\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-5><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Visualise the lifecycle of Privacy Right to Be Forgotten (RTBF) requests.<\/span>\n<span class=\"sf-code-block__line\"><strong>Context<\/strong><\/span>\n<span class=\"sf-code-block__line\">Target Object: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">PrivacyRTBFRequest<\/span><\/span>\n<span class=\"sf-code-block__line\"><strong>Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\"><strong>Data Aggregation<\/strong><\/span>\n<span class=\"sf-code-block__line\">Aggregate record counts by <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">Status<\/span>:<\/span>\n<span class=\"sf-code-block__line\">Cancelled<\/span>\n<span class=\"sf-code-block__line\">Complete<\/span>\n<span class=\"sf-code-block__line\">Error<\/span>\n<span class=\"sf-code-block__line\">Pending<\/span>\n<span class=\"sf-code-block__line\">Scheduled<\/span>\n<span class=\"sf-code-block__line\"><strong>Visualisation Logic<\/strong><\/span>\n<span class=\"sf-code-block__line\">Group results into:<\/span>\n<span class=\"sf-code-block__line\"><strong>Upcoming<\/strong>: Scheduled, Pending<\/span>\n<span class=\"sf-code-block__line\"><strong>Finalised<\/strong>: Complete<\/span>\n<span class=\"sf-code-block__line\"><strong>Exceptions<\/strong>: Error, Cancelled<\/span>\n<span class=\"sf-code-block__line\"><strong>UI Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Progress-style dashboard<\/span>\n<span class=\"sf-code-block__line\">Header tiles showing:<\/span>\n<span class=\"sf-code-block__line\"><em>Total Requests (Last 30 Days)<\/em><\/span>\n<span class=\"sf-code-block__line\"><strong>Access \/ Availability<\/strong><\/span>\n<span class=\"sf-code-block__line\">Available on:<\/span>\n<span class=\"sf-code-block__line\">App Pages<\/span>\n<span class=\"sf-code-block__line\">Home Pages<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(6) Consent Visibility:<\/strong> Privacy Centre integrates with the standard Consent Data Model. If you have worked with this model before, you likely know that its flexibility allows you to use only the objects relevant to your specific needs; this means your implementation\u2014and the prompts you create\u2014may differ significantly from mine. Currently, the default Consent Data Model does not include a pre-built component to display all consent captured for a specific Contact or User. This is where you can use Vibe Coding to build a custom Lightning Web Component (LWC) that provides a centralised view in the exact format your business requires.<\/li>\n<\/ul>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-6\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-6><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Display communication subscriptions related to a Contact using Salesforce Consent Data Model.<\/span>\n<span class=\"sf-code-block__line\"><strong>Context<\/strong><\/span>\n<span class=\"sf-code-block__line\">LWC: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">subscriptionRelatedList<\/span><\/span>\n<span class=\"sf-code-block__line\">Apex Controller: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">SubscriptionController<\/span><\/span>\n<span class=\"sf-code-block__line\"><strong>Data Model<\/strong> <\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">CommSubscription<\/span><\/span>\n<span class=\"sf-code-block__line\">Related <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">DataUsePurpose<\/span><\/span>\n<span class=\"sf-code-block__line\">Child <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">CommSubscriptionChannelType<\/span><\/span>\n<span class=\"sf-code-block__line\">Related <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">CommSubscriptionConsent<\/span><\/span>\n<span class=\"sf-code-block__line\"><strong>Apex Controller Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Query subscriptions with:<\/span>\n<span class=\"sf-code-block__line\">Child channel types<\/span>\n<span class=\"sf-code-block__line\">Aggregated consent counts<\/span>\n<span class=\"sf-code-block__line\">Support optional <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">recordId<\/span> filtering<\/span>\n<span class=\"sf-code-block__line\">Use cacheable methods<\/span>\n<span class=\"sf-code-block__line\"><strong>LWC Features<\/strong><\/span>\n<span class=\"sf-code-block__line\">Card-based layout displaying:<\/span>\n<span class=\"sf-code-block__line\">Subscription name (clickable)<\/span>\n<span class=\"sf-code-block__line\">Data use purpose<\/span>\n<span class=\"sf-code-block__line\">Channel type icons (Email, Phone, Web, Newsletter)<\/span>\n<span class=\"sf-code-block__line\">Active consent count<\/span>\n<span class=\"sf-code-block__line\">Navigation to subscription record<\/span>\n<span class=\"sf-code-block__line\">Wire service with refresh<\/span>\n<span class=\"sf-code-block__line\">Empty-state handling<\/span>\n<span class=\"sf-code-block__line\"><strong>Access \/ Availability<\/strong><\/span>\n<span class=\"sf-code-block__line\">Expose on:<\/span>\n<span class=\"sf-code-block__line\">App Pages<\/span>\n<span class=\"sf-code-block__line\">Home Pages<\/span>\n<span class=\"sf-code-block__line\">Record Pages<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phase-4-backup-restore-amp-archive\">Phase 4: Backup, Restore &amp; Archive<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(7) On-Demand Backups:<\/strong> Leverage the Backup API to trigger on-demand backups. This is particularly useful when you need a shorter Recovery Point Objective (RPO) than the standard 24-hour window before a major deployment.<\/li>\n<\/ul>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-7\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-7><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Trigger an OwnBackup \u201cbackup now\u201d job every 12 hours using Scheduled Apex.<\/span>\n<span class=\"sf-code-block__line\"><strong>Context \/ Reference<\/strong><\/span>\n<span class=\"sf-code-block__line\">Endpoint:<\/span>\n<span class=\"sf-code-block__line\"><span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">regional_domain\/api\/v1\/services\/service_id\/backup_now<\/span><\/span>\n<span class=\"sf-code-block__line\">API Documentation:<\/span>\n<span class=\"sf-code-block__line\"><a href=\"https:\/\/apidocs.ownbackup.com\/#c3eabd84-8026-4ec2-8471-28f16645b255\" target=\"_blank\" rel=\" noopener\">https:\/\/apidocs.ownbackup.com\/#c3eabd84-8026-4ec2-8471-28f16645b255\u279a<\/a><\/span>\n<span class=\"sf-code-block__line\"><strong>Implementation Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Global Apex class implementing <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">Schedulable<\/span><\/span>\n<span class=\"sf-code-block__line\">HTTP POST callout to OwnBackup endpoint<\/span>\n<span class=\"sf-code-block__line\">Secure configuration using:<\/span>\n<span class=\"sf-code-block__line\">Preferred: Named Credential<\/span>\n<span class=\"sf-code-block__line\">Alternative: Protected Custom Metadata \/ Hierarchy Custom Setting<\/span>\n<span class=\"sf-code-block__line\">Robust error handling:<\/span>\n<span class=\"sf-code-block__line\">Status codes<\/span>\n<span class=\"sf-code-block__line\">Response body<\/span>\n<span class=\"sf-code-block__line\">Exception handling<\/span>\n<span class=\"sf-code-block__line\">Inline comments explaining:<\/span>\n<span class=\"sf-code-block__line\">Scheduling via Setup<\/span>\n<span class=\"sf-code-block__line\">Scheduling via <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">System.schedule<\/span><\/span>\n<span class=\"sf-code-block__line\"><strong>Testing Requirements<\/strong><\/span>\n<span class=\"sf-code-block__line\">Generate a test class<\/span>\n<span class=\"sf-code-block__line\">Structure code to support HTTP callout mocking<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phase-5-archive\">Phase 5: Archive<\/h3>\n\n\n\n<p>Archive helps with data minimisation while maintaining access to historical records via the UI tools and programmatic options like Archive SDK.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>(8) Custom Visualisation &amp; Unarchiving:<\/strong> You can customise how archived data is visualised or build custom &#8220;unarchive&#8221; logic. For example, imagine you have an Opportunity (the parent) sitting in the &#8220;Negotiation&#8221; stage. You want to move it to &#8220;Closed Won,&#8221; but your business logic requires that there must be at least one Active Quote or Signed Contract (the children) attached. If those documents were archived (perhaps by an automated cleanup script or a trigger-happy admin), moving to &#8220;Closed Won&#8221; without them would result in a compliance nightmare.<\/li>\n<\/ul>\n\n\n\n<div class=\"sf-code-block\">\n\t\t<div class=\"sf-code-block__action-bar\">\n\t\t\t<button data-clipboard-target=\"#code-block-8\" class=\"js-copy-link\" aria-live=\"polite\">\n\t\t\t\t<span class=\"screen-reader-text\">Copy code<\/span>\n\t\t\t\t<?xml version=\"1.0\"?>\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"15\" height=\"15\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"#181818\" fill-rule=\"evenodd\" d=\"M12.692.577h-7.5c-.634 0-1.154.52-1.154 1.154v.577h6.924c.634 0 1.153.519 1.153 1.154v8.076h.577c.635 0 1.154-.519 1.154-1.153V1.73c0-.635-.52-1.154-1.154-1.154m-1.73 4.038c0-.634-.52-1.153-1.154-1.153h-7.5c-.635 0-1.154.519-1.154 1.153v8.654c0 .635.52 1.154 1.154 1.154h7.5c.634 0 1.154-.52 1.154-1.154zm-5.193 2.02c0 .173-.115.288-.288.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.289.288-.289h2.308c.173 0 .288.116.288.289zm2.308 4.615c0 .173-.115.288-.289.288H3.173c-.173 0-.288-.115-.288-.288v-.577c0-.173.115-.288.288-.288h4.615c.174 0 .289.115.289.288zM9.23 8.942c0 .173-.116.289-.289.289H3.173c-.173 0-.288-.116-.288-.289v-.577c0-.173.115-.288.288-.288h5.77c.172 0 .288.115.288.288z\" clip-rule=\"evenodd\"\/><\/svg>\n\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<pre class=\"wp-block-code\"><code id=code-block-8><span class=\"sf-code-block__line\"><strong>Objective<\/strong><\/span>\n<span class=\"sf-code-block__line\">Determine whether archived child records exist for a given parent record.<\/span>\n<span class=\"sf-code-block__line\"><strong>Context<\/strong><\/span>\n<span class=\"sf-code-block__line\">SDK: <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">OB_Archiver<\/span><\/span>\n<span class=\"sf-code-block__line\"><strong>Method Signature<\/strong><\/span>\n<span class=\"sf-code-block__line\">Boolean hasArchivedRecords(String parentId, String childObj, String lookupFld)<\/span>\n<span class=\"sf-code-block__line\"><strong>Functional Logic<\/strong><\/span>\n<span class=\"sf-code-block__line\">Use <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">OB_Archiver.ArchiverAccessor.performArchiverGlobalSearch<\/span><\/span>\n<span class=\"sf-code-block__line\">Apply <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">SearchFilter(lookupFld, parentId)<\/span><\/span>\n<span class=\"sf-code-block__line\">If records are found, return <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">true<\/span> immediately<\/span>\n<span class=\"sf-code-block__line\">If no records:<\/span>\n<span class=\"sf-code-block__line\">Continue paging using <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">getNextPage(scrollId)<\/span><\/span>\n<span class=\"sf-code-block__line\">Stop only when:<\/span>\n<span class=\"sf-code-block__line\">All pages are checked<\/span>\n<span class=\"sf-code-block__line\">No results found<\/span>\n<span class=\"sf-code-block__line\"><strong>Technical Constraints<\/strong><\/span>\n<span class=\"sf-code-block__line\">Only process responses where <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">statusCode == 200<\/span><\/span>\n<span class=\"sf-code-block__line\">Return <span style=\"letter-spacing: 0.02em; text-align: initial; white-space: inherit;\">false<\/span> only after all pages are exhausted<\/span><\/code><\/pre>\n\t<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-bonus-security-insights-from-audit-trails\">Bonus: Security Insights from Audit Trails<\/h3>\n\n\n\n<p>You can leverage out-of-the-box capabilities like <strong>Login History<\/strong> and <strong>Setup Audit Trail<\/strong> to gather deep security insights. Imagine instantly generating a dashboard that analyses login errors, locations, and specific app usage over the last six months. These administrative logs are a goldmine for proactive security.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-final-recommendations\">Final Recommendations:<\/h2>\n\n\n\n<p>Thank you for sticking with us to the very end. The scenarios covered in this article are not meant to be prescriptive solutions, but illustrative examples of how Agentforce Vibes can be applied to address highly specific requirements. The goal is to spark ideas, encourage experimentation, and demonstrate that when paired with Salesforce security features, these tools can meaningfully extend your security capabilities beyond standard configurations.<\/p>\n\n\n\n<p>With the right context, governance, and engineering discipline, the possibilities are broad, and the ceiling is far higher than it may initially appear.<\/p>\n\n\n\n<p>To wrap up, here are a few final recommendations to keep in mind.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sandbox First<\/strong><\/h3>\n\n\n\n<p>Great ideas are not production-ready by default. Always <a href=\"https:\/\/www.salesforce.com\/blog\/sandbox-environments-for-vibe-coding\/\">validate vibe-coded solutions<\/a> before deployment.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Developer Sandbox<\/strong>: Experiment safely. Iterate on prompts and refine logic without touching live data.<\/li>\n\n\n\n<li><strong>Full Copy Sandbox<\/strong>: Test in a production replica to validate integrations, volumes, and dependencies.<\/li>\n\n\n\n<li><strong>Scale Testing<\/strong>: Simulate peak traffic. For example:<br><em>During the 5,000-user spike, did the <code>attachmentLogsDashboard<\/code> LWC or its Apex controller create performance risks?<\/em><\/li>\n<\/ul>\n\n\n\n<p>Validate performance before your users do.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Context is King<\/strong><\/h3>\n\n\n\n<p>Provide as much context as possible in your prompts. Use <code>@<\/code> mentions for documentation, sample code, and object definitions to improve accuracy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Security First<\/strong><\/h3>\n\n\n\n<p>Always follow the <strong>Principle of Least Privilege<\/strong>. Ask yourself: <em>Who should have access to this custom metric? Who is authorised to run this on-demand backup job?<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Best practice in the loop<\/strong><\/h3>\n\n\n\n<p>Follow your team and development general best practices. E.g. Indentation, Test Classes, # of attributes per method and always design with operations in mind by adding logging and error handling.<\/p>\n\n\n\n<div class=\"layout-one wp-block-salesforce-blog-offer\">\n\t<div class=\"wp-block-offer__wrapper\">\n\n\t\t<div class=\"wp-block-offer__content\">\n\t\t\t<h2 class=\"wp-block-offer__title\">4th Edition State of IT Report: Security<\/h2>\n\t\t\t\t\t\t\t<p class=\"wp-block-offer__description\">Insights and trends from 2,000+ security, privacy, and compliance leaders in the agentic AI era.<\/p>\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"wp-block-button\">\n\t\t\t\t\t<a class=\"wp-block-button__link\" target=\"_blank\" href=\"https:\/\/www.salesforce.com\/au\/form\/platform\/4th-state-of-it-security\/?d=701ed00000W8rvxAAB&#038;nc=701ed00000W8Lw7AAF\">Download now<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wp-block-offer__media\">\n\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t\t\t<div class=\"wp-block-offer__graphics wp-block-offer__contour\"><\/div>\n\t\n\t\t\t<!-- Standard Illustration -->\n\t\t<img decoding=\"async\" class=\"wp-block-offer__graphics wp-block-offer__illustration\" src=\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/themes\/salesforce-blog\/dist\/images\/offer-block\/offer-illustration-layout-one.png\" alt=\"\">\n\n\t\t<!-- Small Accent Illustration -->\n\t\t\t\t\t<img decoding=\"async\" class=\"wp-block-offer__graphics wp-block-offer__accent\" src=\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/themes\/salesforce-blog\/dist\/images\/offer-block\/offer-accent-layout-one.png\" alt=\"\">\n\t\t\n\t\t<!-- Left Side Illustration -->\n\t\t\n\t\t<!-- Cloud Illustration -->\n\t\t\t\t\t<img decoding=\"async\" class=\"wp-block-offer__graphics wp-block-offer__cloud\" src=\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/themes\/salesforce-blog\/dist\/images\/offer-block\/offer-cloud-layout-one.png\" alt=\"\">\n\t\t\n\t<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.<\/p>\n","protected":false},"author":415,"featured_media":69159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sf_justforyou_enable_alt":true,"optimizely_content_id":"69d3256b83f5e222702c2030","post_meta_title":"","ai_synopsis":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"sf_topic":[3285,3353,2504,2744],"sf_content_type":[],"coauthors":[3322,3359],"class_list":["post-69134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","sf_topic-agentforce","sf_topic-agentic-ai","sf_topic-it","sf_topic-salesforce-platform"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>8 Ways to Harden Your Security Posture Using Agentforce Vibes | Salesforce<\/title>\n<meta name=\"description\" content=\"Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"8 Ways to Harden Your Security Posture Using Agentforce Vibes\" \/>\n<meta property=\"og:description\" content=\"Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\" \/>\n<meta property=\"og:site_name\" content=\"Salesforce\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/salesforce\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-07T10:17:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-08T02:13:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1152\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Leo da Silva, Nadim Diaz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@salesforce\" \/>\n<meta name=\"twitter:site\" content=\"@salesforce\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leo da Silva and Nadim Diaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\"},\"author\":[{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/8cb08476f4c81d866c6c3c050685063b\"},{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/54d934c4c8e3de3e4070163a61cb1138\"}],\"headline\":\"8 Ways to Harden Your Security Posture Using Agentforce Vibes\",\"datePublished\":\"2026-04-07T10:17:38+00:00\",\"dateModified\":\"2026-04-08T02:13:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\"},\"wordCount\":1273,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg\",\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\",\"name\":\"8 Ways to Harden Your Security Posture Using Agentforce Vibes | Salesforce\",\"isPartOf\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg\",\"datePublished\":\"2026-04-07T10:17:38+00:00\",\"dateModified\":\"2026-04-08T02:13:59+00:00\",\"description\":\"Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.\",\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg\",\"contentUrl\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg\",\"width\":2048,\"height\":1152,\"caption\":\"Security padlock symbol with password protection and digital elements\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#website\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/\",\"name\":\"Salesforce\",\"description\":\"Learn how to get ahead of trends and supercharge professional relationships\",\"publisher\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.salesforce.com\/au\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-AU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#organization\",\"name\":\"Salesforce\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/logo\/image\/\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Salesforce\"},\"image\":{\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/salesforce\",\"https:\/\/x.com\/salesforce\",\"https:\/\/instagram.com\/salesforce\",\"http:\/\/www.linkedin.com\/company\/salesforce\",\"http:\/\/www.youtube.com\/Salesforce\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/8cb08476f4c81d866c6c3c050685063b\",\"name\":\"Leo da Silva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/c23696051739f0eece9b2d1c635188e6\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/07\/Leo_daSilva_Salesforce.jpeg?w=128&h=96&crop=1\",\"contentUrl\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/07\/Leo_daSilva_Salesforce.jpeg?w=128&h=96&crop=1\",\"width\":128,\"height\":96,\"caption\":\"Leo da Silva\"},\"description\":\"Over the years, Leo has had the opportunity to work in large, complex environments, designing, architecting, and implementing highly scalable and secure solutions for global companies.\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/author\/leo-da-silva\/\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/54d934c4c8e3de3e4070163a61cb1138\",\"name\":\"Nadim Diaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/bda2582fda2086870da6b4b9883e2108\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/12\/nadim-daz-profile.jpg?w=128&h=96&crop=1\",\"contentUrl\":\"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/12\/nadim-daz-profile.jpg?w=128&h=96&crop=1\",\"width\":128,\"height\":96,\"caption\":\"Nadim Diaz\"},\"description\":\"Nadim is a Senior Technical Architect with over 12 years of experience in Salesforce, spanning development, technical leadership, and architecture. She has worked across complex environments in consulting and product organisations, leading teams and delivering scalable, high-quality solutions while supporting customers in achieving their technology goals.\",\"url\":\"https:\/\/www.salesforce.com\/au\/blog\/author\/nadim-diaz\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"8 Ways to Harden Your Security Posture Using Agentforce Vibes | Salesforce","description":"Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/","og_type":"article","og_title":"8 Ways to Harden Your Security Posture Using Agentforce Vibes","og_description":"Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.","og_url":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/","og_site_name":"Salesforce","article_publisher":"https:\/\/www.facebook.com\/salesforce","article_published_time":"2026-04-07T10:17:38+00:00","article_modified_time":"2026-04-08T02:13:59+00:00","og_image":[{"width":2048,"height":1152,"url":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg","type":"image\/jpeg"}],"author":"Leo da Silva, Nadim Diaz","twitter_card":"summary_large_image","twitter_creator":"@salesforce","twitter_site":"@salesforce","twitter_misc":{"Written by":"Leo da Silva and Nadim Diaz","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#article","isPartOf":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/"},"author":[{"@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/8cb08476f4c81d866c6c3c050685063b"},{"@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/54d934c4c8e3de3e4070163a61cb1138"}],"headline":"8 Ways to Harden Your Security Posture Using Agentforce Vibes","datePublished":"2026-04-07T10:17:38+00:00","dateModified":"2026-04-08T02:13:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/"},"wordCount":1273,"commentCount":0,"publisher":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/#organization"},"image":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg","inLanguage":"en-AU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/","url":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/","name":"8 Ways to Harden Your Security Posture Using Agentforce Vibes | Salesforce","isPartOf":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage"},"image":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg","datePublished":"2026-04-07T10:17:38+00:00","dateModified":"2026-04-08T02:13:59+00:00","description":"Discover how Agentforce Vibes helps you automate complex security tasks, from custom metric development to lifecycle reporting. Secure your Salesforce org smarter, not harder.","inLanguage":"en-AU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/"]}]},{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.salesforce.com\/au\/blog\/8-ways-to-harden-your-security-posture-using-agentforce-vibes\/#primaryimage","url":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg","contentUrl":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg","width":2048,"height":1152,"caption":"Security padlock symbol with password protection and digital elements"},{"@type":"WebSite","@id":"https:\/\/www.salesforce.com\/au\/blog\/#website","url":"https:\/\/www.salesforce.com\/au\/blog\/","name":"Salesforce","description":"Learn how to get ahead of trends and supercharge professional relationships","publisher":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.salesforce.com\/au\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-AU"},{"@type":"Organization","@id":"https:\/\/www.salesforce.com\/au\/blog\/#organization","name":"Salesforce","url":"https:\/\/www.salesforce.com\/au\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/logo\/image\/","url":"","contentUrl":"","caption":"Salesforce"},"image":{"@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/salesforce","https:\/\/x.com\/salesforce","https:\/\/instagram.com\/salesforce","http:\/\/www.linkedin.com\/company\/salesforce","http:\/\/www.youtube.com\/Salesforce"]},{"@type":"Person","@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/8cb08476f4c81d866c6c3c050685063b","name":"Leo da Silva","image":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/c23696051739f0eece9b2d1c635188e6","url":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/07\/Leo_daSilva_Salesforce.jpeg?w=128&h=96&crop=1","contentUrl":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/07\/Leo_daSilva_Salesforce.jpeg?w=128&h=96&crop=1","width":128,"height":96,"caption":"Leo da Silva"},"description":"Over the years, Leo has had the opportunity to work in large, complex environments, designing, architecting, and implementing highly scalable and secure solutions for global companies.","url":"https:\/\/www.salesforce.com\/au\/blog\/author\/leo-da-silva\/"},{"@type":"Person","@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/54d934c4c8e3de3e4070163a61cb1138","name":"Nadim Diaz","image":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.salesforce.com\/au\/blog\/#\/schema\/person\/image\/bda2582fda2086870da6b4b9883e2108","url":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/12\/nadim-daz-profile.jpg?w=128&h=96&crop=1","contentUrl":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2025\/12\/nadim-daz-profile.jpg?w=128&h=96&crop=1","width":128,"height":96,"caption":"Nadim Diaz"},"description":"Nadim is a Senior Technical Architect with over 12 years of experience in Salesforce, spanning development, technical leadership, and architecture. She has worked across complex environments in consulting and product organisations, leading teams and delivering scalable, high-quality solutions while supporting customers in achieving their technology goals.","url":"https:\/\/www.salesforce.com\/au\/blog\/author\/nadim-diaz\/"}]}},"jetpack_featured_media_url":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg","jetpack_sharing_enabled":true,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Salesforce","distributor_original_site_url":"https:\/\/www.salesforce.com\/au\/blog","push-errors":false,"primary_topic":{"term_id":3285,"name":"Agentforce","slug":"agentforce","term_group":0,"term_taxonomy_id":3285,"taxonomy":"sf_topic","description":"","parent":0,"count":31,"filter":"raw"},"featured_image_url":"https:\/\/www.salesforce.com\/au\/blog\/wp-content\/uploads\/sites\/4\/2026\/04\/security-posture-using-agentforce-vibes-featured-image.jpg?w=2048","_links":{"self":[{"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/posts\/69134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/users\/415"}],"replies":[{"embeddable":true,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/comments?post=69134"}],"version-history":[{"count":11,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/posts\/69134\/revisions"}],"predecessor-version":[{"id":69172,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/posts\/69134\/revisions\/69172"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/media\/69159"}],"wp:attachment":[{"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/media?parent=69134"}],"wp:term":[{"taxonomy":"sf_topic","embeddable":true,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/sf_topic?post=69134"},{"taxonomy":"sf_content_type","embeddable":true,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/sf_content_type?post=69134"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.salesforce.com\/au\/blog\/wp-json\/wp\/v2\/coauthors?post=69134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}