<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Lindsay Smith | Bubble Freelancer on Medium]]></title>
        <description><![CDATA[Stories by Lindsay Smith | Bubble Freelancer on Medium]]></description>
        <link>https://medium.com/@knowcode?source=rss-af6cece56d60------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*c5v3kxjOKYkF0ly5.</url>
            <title>Stories by Lindsay Smith | Bubble Freelancer on Medium</title>
            <link>https://medium.com/@knowcode?source=rss-af6cece56d60------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 12 Nov 2026 04:02:06 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@knowcode/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Case Study: Observability in a Bubble.io Application]]></title>
            <link>https://medium.com/@knowcode/case-study-observability-in-a-bubble-io-application-d3e6961742f9?source=rss-af6cece56d60------2</link>
            <guid isPermaLink="false">https://medium.com/p/d3e6961742f9</guid>
            <category><![CDATA[nocode-enterprise]]></category>
            <category><![CDATA[no-code]]></category>
            <category><![CDATA[bubble-io]]></category>
            <category><![CDATA[observability]]></category>
            <dc:creator><![CDATA[Lindsay Smith | Bubble Freelancer]]></dc:creator>
            <pubDate>Wed, 03 Aug 2022 13:20:36 GMT</pubDate>
            <atom:updated>2022-08-03T13:20:36.393Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*O5jol5nP-tHZtNN3BdgmnA.png" /></figure><p>Observability with a Bubble App is not easy. Ed and the team at <a href="https://www.habitude.co/">Habitude</a> have built a workflow system on top of Bubble, using custom data types to describe generic workflow processes that then use Bubble’s easy integration capabilities to integrate Enterprise systems. It’s kind of Zapier on steroids, but much much more and targeted to running Enterprise Admin problems. So a lot of long-running business-critical processes, with numerous inter-system dependencies. So a great example of where Observability is vital.</p><p>The issues with observability on Bubble are</p><ul><li>The built-in Logs have a short retention period — 14 days on a professional plan</li><li>There is no way to ship Bubble logs off for analysis, event detection and alerting</li><li>Using Bubble’s inbuilt database for event logging, analysis and alerting is resource intensive — it is entirely possible to overload your Bubble app with monitoring for an overloaded app.</li></ul><p>With Bubble, it is possible for workflows to fail mid-flow, for multiple reasons, for reasons you have no sight of or information on. There is no “system-log” with Bubble — all you have is “failed — try again”. So this is what we had to overcome in the design.</p><p>Additionally, Bubble has no concept of transactions or rollback. Workflows aren’t synchronous and sequential.</p><p>The design approach we took with Habitude was two parts;</p><p>We created a transaction system for critical workflows. Critical workflows log into a separate Bubble app “start process” and at the end of the process (which could occur asynchronously in another Backend workflow) a “completed process”. And log with it all the information needed to diagnose and retry the transaction. Within this transaction monitoring app, we detect failed transaction events that we send off to<a href="http://logz.io/"> Logz.io</a></p><p>We use<a href="http://logz.io/"> Logz.io</a> to send log events out of Bubble — trap all workflow errors, trap all plugin errors — this stops us logging stuff into the DB and creating more load in our main applications. We use this to get observability of errors that would otherwise be silent workflow failures.</p><p>Then within Logzio we centrally analyse and alert on all these events. We chose logz.io because of its reasonable and predictable pricing.</p><p>We found that there are more silent workflow failures than we guessed — we picked up a lot of edge cases during testing that would have otherwise been invisible.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d3e6961742f9" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to retro-fit Privacy Rules to an Existing Bubble App]]></title>
            <link>https://medium.com/@knowcode/how-to-retro-fit-privacy-rules-to-an-existing-bubble-app-9b378297c63f?source=rss-af6cece56d60------2</link>
            <guid isPermaLink="false">https://medium.com/p/9b378297c63f</guid>
            <category><![CDATA[privacy-rule]]></category>
            <category><![CDATA[no-code-development]]></category>
            <category><![CDATA[bubble]]></category>
            <category><![CDATA[bubble-io]]></category>
            <dc:creator><![CDATA[Lindsay Smith | Bubble Freelancer]]></dc:creator>
            <pubDate>Tue, 26 Jul 2022 15:25:17 GMT</pubDate>
            <atom:updated>2022-07-26T15:25:17.308Z</atom:updated>
            <content:encoded><![CDATA[<h3>I often come across people with Bubble applications that they don’t realise have effectively public databases, ie all their data is accessible by anyone on the internet. It’s quite terrifying.</h3><p>Often Privacy Rules just weren’t the first priority when first getting your app built but that priority changes as soon as you have a real customer.</p><p>Sometimes people buy a template expecting it to be fit for purpose but have no Privacy Rules, sometimes they’ve had an agency or Freelancer build their site and Privacy Rules just haven’t been implemented. Sometimes Privacy Rules are implemented that are explicit “This data is public” creating a delusion that the data is secure. Don’t worry it is fixable.</p><p>Straight from the Bubble manual …..</p><blockquote>If you haven’t explicitly created privacy rules for a given thing, then the data is not secure.</blockquote><p><a href="https://manual.bubble.io/help-guides/working-with-data/protecting-data">Protecting Data</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PNrgr2ADIr8nOHxz6KW47Q.png" /><figcaption>Bubble.io manual</figcaption></figure><p>It can (and must) be fixed if you are going to store private data.</p><p>This is how I work together with Clients to implement Privacy Rules to an existing app. It could be Brokers, Patients, Customers, Dentists, Applicants, or Subscribers — it doesn’t matter who the private data belongs to or the domain of the application the same process applies.</p><p>1. <strong>Categorise every table with a prefix </strong>so that they sort into groups that make sense. For example, everything to do with Brokers, contains Brokers data — prefix with B. Another example — everything to do with Data Loading — not directly accessed by Brokers — prefix with D. Anything to do with system setup and config prefix with S. It doesn’t need to be too scientific — it is just an aid to help us make sense of all the tables. Any table you don’t understand — prefix with X — so we can sort these out later. Any table you know is an unused table — prefix with Z — so all the least useful relevant tables are at the bottom of the list. As a separate task, we will search and confirm the tables are or aren’t being used and delete or categorise however makes sense. I’d expect 5–8 groupings.</p><p>2.<strong> Figure out what roles are there.</strong> Admin is one. Brokers is another. Patients is another. Admin can see all data. Brokers can only see their own data. Are there any other roles? Roles generally have names</p><p>3. <strong>Figure out which tables are public and which aren’t</strong>. There may be some public data. There may not be some public data. It just depends. A list of states for example is probably public. Anything with personal information is almost certainly private — unless there is a specific requirement for it to be public eg a public directory listing of Brokers in a region available on the internet.</p><p>4. <strong>Check there is no personal information in Option sets</strong>. Make a list of any option sets that contains personal information. As a separate task, these will need to be converted to tables that can be protected by Privacy Rules.</p><p>5. <strong>Decide which roles see which data</strong> — going table by table (cut and paste a list into a spreadsheet so we check each one methodically). Typically it will be<br>- Broker sees own brokers data and can auto bind certain data<br>- Admin sees everything and can auto bind certain data (probably not brokers&#39; data)<br>- Not logged in and everybody sees nothing. This we will make the default behaviour of the App after we have fixed the Privacy Rules.</p><p>6. <strong>Figure out if there are any schema changes required</strong> to make the Privacy Rules work. We may need to put a “broker id” of some tables to make the Privacy Rules work. Probably not if the app is working without Privacy Rules.</p><p>7. <strong>Categorise the tables into high and low risk</strong> depending on the data they contain. The highest risk tables might be User, Security Question &amp; Answers, or anything money-related. We will look at the high risk first. We want to uncover any necessary database schema changes as early as possible.</p><p>8. <strong>Consider for each table if different roles see different fields</strong>. Using the search capability in the Bubble Editor we will check which fields are being used where. And cross-check that with our understanding of how the app works. If fields aren’t being used we will name them as marked for deletion or just delete them. Same with tables.</p><p>9. Now implement the Privacy Rules for each table in the Bubble editor.</p><p>‍</p><p>And just for good measure …..</p><blockquote>If you haven’t explicitly created privacy rules for a given thing, then the data is not secure.</blockquote><p>‍</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9b378297c63f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Often I am asked how long does it take to integrate Bubble.io to a 3rd party API?]]></title>
            <link>https://medium.com/@knowcode/often-i-am-asked-how-long-does-it-take-to-integrate-bubble-io-to-a-3rd-party-api-46b3e17969a4?source=rss-af6cece56d60------2</link>
            <guid isPermaLink="false">https://medium.com/p/46b3e17969a4</guid>
            <category><![CDATA[bubble-integration]]></category>
            <category><![CDATA[bubble-io]]></category>
            <category><![CDATA[bubble]]></category>
            <category><![CDATA[bubble-plugin]]></category>
            <category><![CDATA[no-code-development]]></category>
            <dc:creator><![CDATA[Lindsay Smith | Bubble Freelancer]]></dc:creator>
            <pubDate>Tue, 26 Jul 2022 15:19:21 GMT</pubDate>
            <atom:updated>2022-07-26T15:19:21.838Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2e32MpETDXmgTI9RHKwqZA.png" /><figcaption>Knowcode Plugins</figcaption></figure><h3>Often I am asked how long does it take to integrate Bubble to a 3rd party API?</h3><h4>It really depends. It can be ridiculously easy or take many days of effort.</h4><blockquote>Bubble has the capabilities that make API &amp; Product integration quick and easy.</blockquote><blockquote>And 3rd party Product &amp; API’s have ways of making integration slow and complex.</blockquote><h3>Example Integration Time</h3><p>To give you an idea here are some time efforts to integrate various 3rd party API’s — this is from the very start to having a useful implementation running in a Bubble App.</p><p>‍<br>- <strong>Jira</strong> — 30 minutes (about as easy as it gets)<br>- <strong>Intercom</strong> — 5–30 minutes (about as easy as it gets)<br>- <strong>Google SSO and Google calendar</strong> (2 hours — a lot of community information but too many API’s to wade through to figure out what is what)<br>- <strong>Bullhorn</strong> — an Enterprise ATS — 2 weeks (classic Enterprise API, poorly documented and very small community) — I made a plugin <a href="https://bullhorn-ats.bubbleapps.io/version-test">https://bullhorn-ats.bubbleapps.io/version-test</a><br>- <strong>Google Private Cloud Storage </strong>— 1 hour (mostly spent figuring out which of the numerous Bubble plugins to use)<br>- <strong>Square — embedding the SDK</strong> — 5 days (technically quite difficult ) <a href="https://square-payments-plugin.bubbleapps.io/version-test">https://square-payments-plugin.bubbleapps.io/version-test</a><br>- <strong>Square API </strong>— 20 minutes (near trivial but the API calls need some orchestration)<br>- <strong>Intercom</strong> — 1 hour (was mostly understanding the security settings)<br>- <strong>Stripe</strong> — 10 minutes,seriously, it’s effectively native to Bubble<br>- <strong>Google, Facebook social logins</strong> —a few minutes effectively Bubble native<br>- <strong>Linkedin SSO</strong> <a href="https://linkedin-plugin-demo.bubbleapps.io/version-test">— https://linkedin-plugin-demo.bubbleapps.io/version-test </a>— 2 hours — mostly to do with understanding Linkedin’s API and access levels<br>- <strong>Wonde</strong> — an Enterprise API for School Data — 2 hours, mostly understanding the organisation hierarchy and how it doesn’t paginate<br>- <strong>MS Graph</strong> — 4 hours of the Oauth dance and Scopes to the numerous MS API’s<br>- <strong>Draftable</strong> — 1 day discovering the undocumented edge cases around how the API worked. Great product though.<br>- <strong>Sendgrid, Postmark</strong> <a href="https://postmark-template.bubbleapps.io/version-test">https://postmark-template.bubbleapps.io/version-test </a>— 30 minutes each — I made a plugin to make it easier.<br>- <strong>Twilio</strong> — an hour — mostly to do with account setup<br>- <strong>Active Campaign</strong> — 2 hours — mostly do with setting the account up via the API<br>- <strong>Vimeo</strong> — a day — poorly documented API making it hard to understand the concepts — I made a plugin to make it easier <a href="https://vimeo-uploader.bubbleapps.io/version-test">https://vimeo-uploader.bubbleapps.io/version-test</a></p><h3>Bubble Plugins</h3><p>There are a lot of pre-built plugins (of varying quality) and for many things, off-the-shelf Bubble plugins exist. Integrating using a plugin typically takes 5–30 minutes. You need some credentials and basic functional understanding and you are probably already up and running. Sometimes if you understand the 3rd party API or Product already integrated using a plugin is under a minute. Hard to believe if you aren’t a Bubbler :-)</p><p>If it is a popular product with an API it’s likely Bubble already has that plugin or the top few in that category of product. Too many examples to list. <a href="https://bubble.io/plugins">https://bubble.io/plugins</a> Try searching for Payment provider plugins — there are numerous Stripe, Square, Dwolla, Paypal, Razorpay, Xero, Transferwise, Opensea, Paystack … + a 100 others to wade through.</p><p>The issue is mostly selecting and evaluating the plugin.</p><p>If there isn’t already a plugin then the next step is ….</p><h3>The API connector</h3><p>The Bubble API connector is a beautiful piece of engineering and many plugins are based on it. Given a REST API, and some credentials you can integrate into an API in 5 minutes. How quickly that can be useful to you depends on the documentation of that API. Some API providers go to great lengths to make it easy to understand eg Stripe, Square, Google, Facebook, Xero.</p><p>There are plenty of badly documented API provider examples. Typically you can see the API provider has a small User base, so investing in the documentation for mass market distribution is not an investment they have made. A small User base in this case means under 5,000 users. Bubble has 2 Million users.</p><p>The worst cases are typically the documentation is a PDF dated 2012, and typically the model is something like “send a support email if you have a support contract with us and we will explain the API and how it works to you (maybe)”. Integrating these API providers typically takes a few days.</p><p>Sometimes you just get stuck trying to understand the API with the product names. Who knows the difference between “Checkout Express” vs “Stripe Connect” vs “Enterprise Light” vs “Payment Buddy V1”. 😃</p><p>As integrators, we just need to understand which one is the one we need — and <strong>no</strong> I really don’t want to book a call with you to hear how “<em>What used to be called ‘Pay Master 2000’ is now called ‘Ezy Wallet v2’ but the documentation isn’t up to date.”</em></p><p>Note to Product Managers — no one is really interested or cares what you call your products. Sorry.</p><p>You can sometimes quickly hit the limits of the Bubble API Connector…</p><p>- You can not see error messages when the API connector fails (only API data level errors)<br>- Bubble gets confused with custom types when you have created multiple custom type versions in the same app<br>- You can’t manipulate lists in Post requests<br>- You can’t chain requests together to orchestrate complex calls<br>- You can’t coordinate retries with temporary errors<br>- You can’t use (or view) the Authentication Tokens — it’s under the covers inside the API Connector</p><p>Once you reach the limitations of the API Connector the next step is ….</p><h3>Code a Plugin</h3><p>Bubble plugins are what give Bubble its superpowers. You can code a Plugin (surprisingly easy, it’s just javascript and NodeJS). It. takes a bit of time and effort to get your head around how browser Events work, and how the Request object is overloaded and behaves weirdly at times. But there is a lot of community support for Plugin builders. The limit to writing plugins is that they run as AWS Lambda with 128M memory and a throttled execution time of around 20 seconds.</p><p>Once you reach the limitations of plugins then the next step is ….</p><h3>Code your own API or Externalise the DB</h3><p>When things get too intensive (long-running DB operations are a problem for Bubble) then you can easily integrate to an external data source. It’s a common journey people take with Bubble. Plenty of discussion on this in the forum, Xano is a popular choice. Airtable users frequently migrate to Bubble.</p><blockquote>Old school Enterprise SOAP API’s from a PDF with no public community support can take weeks!</blockquote><p>It’s great to work with well-documented products &amp; APIs designed for embedding &amp; self-service usage but many Enterprise products are not like this.😃</p><p>Some of the challenges you can face with Enterprise products are;<br>- getting current API documentation (which may not exist!)<br>- getting access to a Sandbox (which may not exist!)<br>- getting credentials to use the service (may take weeks, require calls, agreements, licenses)<br>- getting test accounts setup (may take days or weeks with a service request)<br>- actually write the code and implement the API (will likely take hours)<br>- dealing with the discovery of the quirks and undocumented features that are uncovered after integrating — can take weeks</p><p>So there’s my answer to “how long does it take to integrate Bubble with X”</p><p>More of my plugins — <a href="https://bubble.io/contributor/knowcode-1595426107417x822993085097189100">my Bubble Contributor profile</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=46b3e17969a4" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[5 Essential Opensource Kubernetes and Container auditing tools to meet PCI requirements.]]></title>
            <link>https://medium.com/@knowcode/5-essential-opensource-kubernetes-and-container-auditing-tools-to-meet-pci-requirements-13a2ee12e3a4?source=rss-af6cece56d60------2</link>
            <guid isPermaLink="false">https://medium.com/p/13a2ee12e3a4</guid>
            <category><![CDATA[pci-compliance]]></category>
            <category><![CDATA[enterprise-software]]></category>
            <category><![CDATA[kubernetes]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[security]]></category>
            <dc:creator><![CDATA[Lindsay Smith | Bubble Freelancer]]></dc:creator>
            <pubDate>Sun, 17 May 2020 11:49:21 GMT</pubDate>
            <atom:updated>2020-05-17T12:26:48.559Z</atom:updated>
            <content:encoded><![CDATA[<p>Here’s my curated list of opensource auditing tools for Kubernetes and Docker. The list is at the bottom but if you are in a hurry; Hadolint, Anchore, Kubesec, Dagda and Falco.</p><p>With Kubernetes &amp; Containerisation<strong> a lot of your infrastructure has become code</strong>, it’s what gives us the compelling cost and efficiency benefits. This means though is there is <strong>new code to manage.</strong></p><p>Much of what was traditionally managed in devices like firewalls, switches, virtual machines to achieve things like <em>Segmentation, High availability, Scaling</em>, (and a lot more) is now easily software-defined and managed as part of the application. <a href="https://a16z.com/2011/08/20/why-softwar§e-is-eating-the-world/">Software is indeed eating the world</a>.</p><p>For sure, if you are running your own Kubernetes cluster, in your own datacenters — all the traditional problems and tools still apply. Same with application code. The same patching, scanning, and monitoring of your Infrastructure and Applications still apply.</p><p>There are still the same compliance and security requirements in Kubernetes as traditional. The key point is that these new tools come with the cost and efficiency benefits of Kubernetes and Docker <em>— less Infrastructure to manage less Infrastructure.</em></p><p>Googling for solutions is going to come up with multitudes of Companies and Projects clamouring for your attention. The way I make sense of it — tools generally provide either <strong>enforcement</strong> or an <strong>auditing</strong> function. Enforcement tools include things like Istio (service mesh to manage segmentation within your Cluster, SELinux container privileges). Some tools blur both roles, some try to be a suite but you need a taxonomy to make sense of it.</p><p>Within auditing tools, you have static source code analysis (linting best practice), container scanning (malware detection) and run-time anomaly detection.</p><p>Here’s my curated list of opensource <strong>auditing</strong> tools for Kubernetes and Docker.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PnXezCPqkWzV8GpMATaCFQ.png" /></figure><p><a href="https://github.com/hadolint/hadolint">Hadolint</a>, static code analysis of Dockfiles. Audit best practice from “CIS Docker Benchmark v1.2.0” and helps meet PCI requirements 2.2, 6.1, 6.3</p><p><a href="https://anchore.com/opensource/">Anchore</a>, Docker Image scanning, Malware detection to mee standard “NIST SP 800–190” and helps meet PCI requirement 2.2, 5.</p><p><a href="https://github.com/controlplaneio/kubesec">Kubesec</a>, Static code analysis of Kubernetes deployment files eg Helm charts. Audit best practice to meet standard “CIS Kubernetes Benchmark v1.5.1” and help meet PCI requirements 2.2, 6.1, 6.3</p><p><a href="https://github.com/eliasgranderubio/dagda">Dagda</a> — Malware detection. ClamAV under the cover to help meet PCI requirement 5.</p><p><a href="https://sysdig.com/opensohttps://sysdig.com/opensource/falco/urce/falco/">Falco</a>, Runtime anomaly detection with running Pods within the cluster. ClamAV under the covers to help meet PCI requirement 5.</p><p>And if it wasn’t confusing enough, the familiar tools that fulfil security functions for a traditional environment — you can run those in Kubernetes. So things like OSSEC, Metasploit — good tools that do a valuable job in a traditional environment — you can run and manage those as containers, in Kubernetes, with the benefits of Kubernetes — and use them to manage your Infrastructure outside of Kubernetes.</p><p>If you’ve got a recommendation of other tools, or I’ve missed something — I’m keen to hear about it.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=13a2ee12e3a4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>